You are here: Home Plone products collective.workflowed

collective.workflowed (1.1)

by Olha Pelishok last modified 2009-02-20
Released on 2008-10-16 by Carlos de la Guardia for Plone 3.0, Plone 3.1 under GPL - GNU General Public License available for All platforms.
Software development stage: stable
A graphical workflow editor for Plone

A workflow editor with full drag and drop support, based on the powerful draw2d library from the openjacob project. A control panel is added to Plone to allow editing of all Plone workflows and creation of new ones. State and transition properties can be modified without switching tabs on the ZMI and the result is immediately visible on the diagram. For example, when a state or transition is selected, possible transitions or destination state lines change color as appropriate.

The product makes use of to easily generate CSV and XML views, plus making workflow sanity checks.

How to use

To use this tool, you need to have a good understanding of how workflow works in Plone. For the user's perspective, read chapter six of the User's Guide to Plone, by Gocept. For a look at workflow editing through the ZMI, take a look at Jon Stahl's tutorial. With that background, you'll have no problem creating workflows with collective.workflowed.

At the left of the editor screen, you will find a toolbar, which allows you to select the pointer, a state or a transition. When you select a transition or a state, simply move the mouse to the desired location and click. You will be presented with a dialog to input an id, which must be a valid Plone identifier. At that precise moment the state or transition is added to the selected workflow. You can edit the object's properties by clicking on the appropriate place on the properties windows at the far right of the workflow editor view.

To connect a state with possible transitions, the editor uses the concept of 'ports'. In this case, drag the red dot on the state to the corresponding red dot on the destination transition until you see the line turn green and you will have a connection. This is immediately reflected in the state's properties window, under 'possible transitions'. A state can have multiple possible transitions, so you can create as many connections as you need.

To connect a transition with a destination state, use the green dot instead. In this case, there is only one possible destination, so the editor only allows one connection of this kind. To delete a connection, select the corresponding line with the pointer and press the 'delete' key.

That's all there is to it really, but be warned: all changes are done directly into the workflow itself, so if you want to experiment, better create a new workflow first or you can break your site. This will be addressed in a future release.

Future directions

As you begin adding connections to multiple states and transitions, you will notice that the editor gets sluggish. This speed problem will be the main concentration area for the next release. Possible improvements in general include:

  • Use snap-to-grid to make drag and drop actions feel faster.
  • Work in memory instead of directly on the workflow. This will reduce ajax communication and thus improve speed, while at the same time keeping users from breaking their sites. A save button would be used to commit the changes when everything is ready.
  • Create new forms for state and transition properties. The current ones are practically copies of their ZMI counterparts and could use a little UI work.
  • Find ways to integrate other features of the underlying DCWorkflow engine.
Document Actions
Powered by Plone