Workflows
This part of the 4.x documentation is for eZ Publish 4.0, only reference section is common for all eZ Publish 4.x versions as well as eZ Publish 5.x "LegacyStack", please select the version you are using for the most up to date documentation! |
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.
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)
Ricardo Correia (17/04/2013 10:26 am)
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 :)
custom Workflows
Thursday 06 May 2010 4:08:02 pm
Mark Simon - all2e.com
[OperationSettings]
AvailableOperationList[]
ist an array holding all Triggers that will show up in the admin interface to set your workflows on.
You can add right a couple of Triggers of the eZ Modules or your own Modules.
i.e. content_delete or user_activation (added in 4.1)
can simply be added to the list.
I guess you can create own Module - Triggers based on
kernel/content/operation_definition.php mentioned by Bertrand Dunogier
but with the user module triggers already being ready I didn't need to work that out.
Good Luck if thats what will be Your Way ;)
Mark