Skip to main content

Example workflow integration for ftw.publisher's staging and publishing system

Project description


ftw.publisher.example is a example integration package providing a workflow integration for ftw.publisher. ftw.publisher is a staging and publishing system for Plone contents.

This package is installed on both systems, the editor system (sender) and the public system (receiver) - using the corresponding extras_requires.

It provides the following:

  • A simple custom workflow, registered for the standard content types, providing the default states private, pending, published and revision with the corresponding transitions.
  • Event handlers for the workflow transitions, wich automatically publishes the object on certain transitions.
  • Sanity checks which are configured as conditions for the transitions. They check, if it’s possible to publish the object (e.g. parent is published) and display warnings if referenced objects are not published.


On the sender system, just add the package to your buildout using the “sender” extras_require. You should also add a cronjob (ClockServer) which invokes the execution of the publisher queue.

You need to create a ClockServer-user on the sender instance with “Manager” role on the plone site. This username / password you need to configure in the sender buildout. The user will then be used to invoke the queue execution using Products.ClockServer.

sender buildout.cfg:


eggs +=
zcml +=

zope-conf-additional =
        method /PLONESITE/@@publisher-config-executeJobs
        period 600
        password USERS_PASSWORD

receiver buildout.cfg:


eggs +=
zcml +=

Then you need to add a second user on the receiver instance, which will receive the publisher jobs and create / update objects. Therefore he has to have enough priviledges.

Once you have installed the plone-sites, go to the publisher control panel on your sender instance (within the plone control panel) and add the target plone site URL (realm) and the username / password of the user created on the receiver instance.


Sponsored by 4teamwork GmbH.




  • Created package initially. [jbaumann]

Project details

Release history Release notifications

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ftw.publisher.example, version 1.0
Filename, size File type Python version Upload date Hashes
Filename, size ftw.publisher.example-1.0.tar.gz (10.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page