Workflows
This section explains the workflow capabilities of eZ publish. The system comes with an integrated workflow mechanism that makes it possible to perform different tasks with or without user interaction. The workflow implementation is based on the following components:
- Events
- Workflows
- Workflow groups
- Triggers
The following illustration shows the relations between the elements in the list above.
![The workflow system.](../../../../var/doc/storage/images/ez_publish/technical_manual/3_9/images/concepts_and_basics/workflow_system/1250-3-eng-GB/workflow_system_doc.png)
The workflow system.
An event is the smallest entity of the workflow system, it carries out a specific task. eZ publish comes with a collection of events that cover the needs of typical everyday tasks. For example, the built-in approve event makes it possible to have the contents of an object approved by an editor (a user) before it is published. The built-in events are documented in the "Workflow events" section of the "Reference" chapter. It is possible to extend the system by creating custom events for special needs. Custom workflow events have to be programmed in PHP.
A workflow is a collection of events. In other words, it defines an ordered sequence of actions that will be executed when the workflow is running. The workflows can be placed in different groups. A workflow group is nothing more than a collection of workflows. A workflow is initiated by a trigger. Although a trigger is only capable of initiating a single workflow, several other workflows can be started through the built-in multiplexer event (from within the workflow that was originally initiated by the trigger). A trigger is associated with a function of a module. It will start the specified workflow either before or after that the function has completed. The following table gives an overview of the standard/built-in triggers.
ID | Module | Function | Connection type |
---|---|---|---|
1 |
content |
publish |
before |
2 |
content |
publish |
after |
3 |
shop |
confirmorder |
before |
4 |
shop |
checkout |
before |
5 |
shop |
checkout |
after |
Balazs Halasy (10/02/2005 2:07 pm)
Balazs Halasy (29/06/2005 12:00 pm)
Comments
Custom Triggers?
Thursday 30 June 2005 7:59:10 pm
Mindshare Tech
Thanks!
Re: Custom Triggers?
Wednesday 06 July 2005 9:22:59 am
Massimiliano Bariola
I second your request. Meanwhile, maybe you could have a look at the worldpay extension, it has a custom event which maybe could get you started.
cheers,
Max
Re: Re: Custom Triggers?
Friday 26 August 2005 9:27:13 am
Bertrand Dunogier
These files define operations. I'm not exactly sure how operations are different from views, but the definition is quite similar, except for the complexity. Operations have an additionnal key, 'body', which defines how the operation runs. body is defined by a sequence of methods AND triggers (there we are). For instance, the body for content/read is:
- pre_read (trigger)
- fetch-object (method)
As far as I undertand it, what you have to do to add a custom trigger is replace the view you want to alter by an operation, and add the trigger. I hope it helps :)
Maybe you could start here
Wednesday 06 July 2005 9:25:29 am
Massimiliano Bariola
I second your request. Meanwhile, maybe you could have a look at the worldpay extension, it has a custom event which maybe could get you started.
cheers,
Max