Workflow

eZ publish contains a workflow system that allows you to create a process of functions with our without user intervention. Eg. you might want to make sure an article is approved before it is publish, or you might want to confirm an order before making the financial transaction.

The way workflow works in eZ publish is around events and triggers.

A combination of events then creates a workflow. A workflow can be standalone or belong to a group. Through this layering approach, you can create fairly complex workflows, but the more complex, the more problems can occur. Firstly, the more complex a process, the more rigid it is and then less flexibility there is for work around. Unless the process is well defined and understood, it can be perceived by users as a hindrance and barrier to getting their work done. Secondly, the workflow system within eZ publish is not perfect, it has it’s bugs that has caused frustrations for a number of developers. That’s not to say you should avoid it, but proceed with caution and check the forums for any information you can glean to help you avoid the frustrations other’s have already discovered (which goes for pretty much every part of eZ publish but workflow seems to have proved to be the most troublesome).

Another note about workflows, in many projects, clients will request a workflow in the belief that it’s necessary to achieve what they are after. This perception is not always true. There is quite a bit of debate over the use of workflows and how important they are. In fact, some prominent people in the content management industry have gone so far as to state that workflows are overrated and often not necessary.

“While workflow is a key component of content management systems (CMS), the unspoken truth is that workflow often fails (or is only moderately successful) in most organisations.” James Roberston, Step Two ( http://www.steptwo.com.au/papers/cmb_noworkflow/index.html)

From my experience in implementing over 30 ez publish sites, workflow is rarely needed unless there is a specific business process that has to be flowed. Rarely is the business process well enough defined to be automated and attempts to do so can cause more problems that they can solve. That’s not to say workflow doesn’t have it’s place but before embarking on adding a workflow, you need to carefully examine if it’s really needed and will add value to the system.