The official documentation is at: http://docs.alfresco.com
Back to Workflow.
Table of Contents
The following process definition provides a test bed and complete example that encompasses the most useful workflow features.
The following process represents the typical flow of review / approve / publish.
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