ilrt.formalworkflow /

Filename Size Date modified Message
45 B
44 B
5.6 KB
3.9 KB
41 B
49 B
1.5 KB

ILRT Formal Workflow


Ed Crewe, ILRT at University of Bristol, April 5th 2009

Formal workflow is designed for sites where there may be many editors for whom unmoderated access to change live published content on the web site is not desired. A typical scenario may be an organistaion's public website which has to comply with certain legal restrictions or editorial style for example. To ensure this compliance only a limited subset of editors are trusted to review and publish content. Whilst content in the private state is available to all editors.

This package applies a workflow definition based on simple publication workflow ... but it ensures that editors cannot modify public content. Instead it enables with which users can check out a working copy of a published item to work on and resubmit for review.

Editors and owners are also restricted from deleting published items or reverting them to past versions, essentially anything that could change published content, without review.


A diagram of the workflow is available in /docs folder

The following walks through a user story:

- An editor creates a document
- They edit and then submit it for review
- It is now in the pending state

- The document appears for review in their review list so they click on it
- They make a few minor ammendments and publish it

- A week later some more information needs to be added to the document
- The editor goes to it, but it there is no workflow menu just
  State:Published so they cannot retract it. The edit and history tabs
  are also gone. So instead they must click on 'Make changes' from the actions menu.
- This locks the item and marks it as being edited in a working copy.
- The editor does their edits then clicks on submit to bring their changes to the
  attention of the reviewer

- The reviewer sees the page pop up in their review list
- They click on it and look at the changes the editor has made.
  They like the changes but decide they want some modifications made to them
  by the editor. They dont want to 'Cancel changes' since the editor has done a
  lot of changes, so they just add a note of the further changes needed and make
  the working copy private again.

- The editor reads the comment and re-edits the working copy, once these final changes
  are complete is it resubmitted to the pending state.

- The reviewer notices the item is back again in their review list, so realises
  it has been re-edited.
  They click on it ... see that it is ready and so do the 'Accept changes' to replace
  the current published version, at which point the working copy is removed.


This package is really all just xml config data and reworking skin copy, paste and delete security to be object specific rather than folder based. However though it contains little python aside from the functional tests, it is a commonly required workflow which does require some time consuming configuration tweaks.

If this workflow is applied in conjunction with a theme egg then the formalworkflow skin should be added near the top of the editing layer's skins listing in the portal_skins tool.

If this workflow is applied to an existing site ... then you may require the ilrt.migrationtool to use its utility for mapping existing content states from the old workflow to formalworkflow

If you wish to use custom types with this workflow you will need to make them versionable via the portal_repository tool or will not be available for them.