Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

draw.io Diagram
bordertrue
diagramNameRoles
simpleViewerfalse
width
linksauto
tbstyletop
lboxtrue
diagramWidth361
revision3


Roles


Write rights on
TermAttribute7
createupdatedeletecreateupdatedelete
Type 1termSearchNoNoNoNoNoNo


Type 2

termProposerYesYes if 1YesYes if 4
termReviewerNoYes if 2NoNoYes if 5
termFinalizerNoYes if 3NoNoYes if 6
Type 3termPM

Yes

Yes

Yes

Yes

Yes

Yes

termPM_allClientsYesYesYesYesYesYes

Note that processStatus attribute has a special meaning and behaviour implemented, so that it is completely impossible to delete it for any role types , but it is possbile to update it from any value to any value for roles of Type 3, and is possible for roles of Type 2, but with the following limitations: 1. termProposer - can't update. 2. termReviewer can update only from unprocessed to only provisionallyProcessed or rejected. 3. termFinalizer - can update only from provisionallyProcessed to only finalized or rejected.

  1. TermProposer-user can update/delete some term only if that term was created by that user
  2. TermReviewer-user can update some term only if that term is Unprocessed
  3. TermFinalizer-user can update some term only if that term is ProvisionallyProcessed
  4. TermProposer-user can update/delete some attribute only if that attribute was created by that user and all term(s) on that attribute's level are Unprocessed, so:
    1. If it's a term-level attribute - that term should be Unprocessed
    2. If it's a language-level attribute - all terms for that language should be Unprocessed
    3. If it's a termEntry-level attribute - all terms for that termEntry should be Unprocessed
  5. TermReviewer-user can update/delete some attribute only if all term(s) on that attribute's level are Unprocessed, so it's same as in point 4 but with no 'was created by that user'-requirement
  6. TermFinalizer-user can update/delete some attribute only if all term(s) on that attribute's level are ProvisionallyProcessed, so it's same as in point 5 but just other status used

...