eZ publish contains a workflow system that allows you to create a process of functions with or without user intervention. E.g. you might want to make sure an article is approved before it is published, or you might want to confirm an order before making the financial transaction.
The way workflow works in eZ publish is built around events and triggers.
A combination of events then creates a workflow. A workflow can be stand-alone 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 the 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 its bugs that have caused frustrations for a number of developers. That's not to say you should avoid...