Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 25 Next »

TermPortal app have a number of roles, that affect both client app and server app capabilities. Currently TermPortal have 6 roles, but basically they can be divided into 3 types.


Roles


Write rights on
TermAttribute
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
  • No labels