WORKFLOW - for example, The workflow is a very simple one, with only three states and four transitions:
UNDERREVISION ------>-------- PLEASEAPPROVE --->--- APPROVED
       ^      needs approval        |       approve    |
       |                            |                  |
       +------------<---------------'                  |
       |         reject                                |
       |                                               |
       `-------------------------<---------------------'
                               revise
Anyone can make the needs approval and revise transitions, but
only the (fictional) QualityGroup can make the 'approve' and 'reject'
transitions. Further, | State | Allow VIEW | Allow CHANGE | Message | 
|---|---|---|---|
| UNDERREVISION | not(WikiGuest) | not(WikiGuest) | Under revision | 
| PLEASEAPPROVE | not(WikiGuest) | nobody | Waiting for approval | 
| APPROVED | nobody | Approved for release | 
--++ Transitions The second table describes the transitions available from each state.
| State | Action | Next State | Allowed | Form | 
|---|---|---|---|---|
| UNDERREVISION | needs approval | PLEASEAPPROVE | not(WikiGuest) | ApproveForm | 
| APPROVED | revise | UNDERREVISION | not(LASTUSER_UNDERREVISION),not(WikiGuest) | RevisionForm | 
| PLEASEAPPROVE | approve | APPROVED | QualityGroup | |
| PLEASEAPPROVE | reject | UNDERREVISION | QualityGroup | RevisionForm | 
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.