- adds a new workflow event: add secondary location upon publish based on an object-relation attribute of current object

- tested for compatibility with eZP 5.1

3 new workflow event types in this release, as well as assorted bugfixes:

  1. add url alias
  2. copy children on add location to parent
  3. copy node to all parent locations

The 2nd and 3rd are helpful when having content composed of a tree of nodes and wanting to keep it identical in multiple locations

For the next release: the non-workflow-event related stuff will be refactored in a separate extension

Source code now available at

The workflow event used to send PURGE command to reverse-proxy caches when an object is published is much improved: it will not only send purge command for the object's node's urls, but for trhe urls of all nodes expired via the (smart) view cache expiry rules.

Bugfixes: corrected oracls schema sql file, added postgres one

Contents wiating for approval based on object states

Since release 0.1, new features have been added to ezworkflowcollection, a new addlocation workflow event and a cool object state interface to manage pending and published contents.

3 workflows for now - more to come in the next releases.

The GUI for those workflows is inexistent - developers are welcome to provide help with the templates for editi,g workflow events via class/object pickers.


Multipublish workflow:
will add secondary locations (one or more) when a content is published.
The list of nodes used as parents for secondary location(s) has to be defined for every workflow event (ie. in the admin interface).
It is possible, but not mandatory, to add a class/attribute combination acting as filter, deciding for every given object being published wheter the multipublication will happen or not:
- If no class/attribute combination is selected, the workflow will apply to every object published (to limit its applicability, chain it to a multiplexer workflow).
- If a class/attribute combination is selected, the workflow will check the value of the given attribute to decide if multi-publication has to take place; if the attribute is not found in the current class, no multi-publication happens.
- If multiple class/attribute combinations are selected, the workflow will apply to every object that has set to TRUE at least one of those attributes.
If an edited object is already child of one of the nodes selcted as multi-publication location, the workflow does not add a new secondary location at the same place.
The cronjob never removes any secondary location, nor does it change any location to become primary.
Subtree Multiplexer workflow:
like a standard multiplexer, but filters on node subtrees instead
Expire remote caches (ezflow based) workflow:
used to expire reverse proxy caches when an object is edited.
It is based on the eZHTTPCacheManager class and configuration from eZ Flow, which means that:
. eZ Flow is needed to take advantage of this workflow
. for the workflow to do anything, editing squid.ini is necessary
. currently the only CacheManager class available can purge both squid and varnish reverse proxy caches
. it allows to purge the cache correctly even if multiple domains/hostnames are cused (see ezworkflowcollection.ini)