On the surface it's a simple process with relatively few states and transitions. This level of detail is typically reached an analyst who's performing some kind of business process analysis or re-engineering.
Of note is that the process parameters consists only of the Content to review and a Due Date to review by. Also, three workflow 'roles' have been identified, although, the first 'Initiator' is system assigned.
The next level of detail (implementation) adds behaviourial logic to the process by hooking into state entry/exit and transition events.
(1) On Transition
Apply ï¿½Review Lifecycleï¿½ Aspect (draft, under review, approved, published)
Set ï¿½Review Lifecycleï¿½ to ï¿½under reviewï¿½
(2) On Resource Assignment
If due today assign to direct to 'Publisher' else assign to 'Reviewer'
(3) On Transition
Copy Content(s) to Approved Folder (created for process instance)
Set ï¿½Review Lifecycleï¿½ to ï¿½approvedï¿½
Send ï¿½Approvedï¿½ e-mail to Initiator
(4) On Decision
If any content is HTML (and not already reviewed by Publisher) route via ï¿½qaï¿½ transition else route via ï¿½publishï¿½ transition
(5) On State Enter
Transform Approved to xxx format
Publish via FTP
(6) On Transition
Set ï¿½Review Lifecycleï¿½ to ï¿½publishedï¿½ (on copy or original?)
Send ï¿½Publishedï¿½ e-mail to Initiator
(7) On Transition
Send 'Publish Failed' e-mail to Initiator
To support the above logic, process context (i.e. variables) may be used, such as recording the Approved Folder to which content was copied.
Review Lifecycle Behaviour
Once approved or published, further edits to the Content may take place. Upon edit, the Review Lifecycle should be reset to 'draft'.
Review Task Behaviour
In the above Workflow, it is assumed the Review Task is assigned to an individual. However, it may be possible to assign Review to many people (or a group). In such a case, the following may also be required:
Task Pool - someone from the group volunteers to own the task
Parallel Tasks - each person in the group is tasked to Review in parallel. The task is deemed complete when a) any one of the people completes their task or b) every person completes their task