Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The Holy Grail of Plone workflow

We are in the process of implementing a Plone CMS as a repository for ISO9001-documents.

ISO demands a certain amount of logging, as anyone familiar with the standard probably knows :-)

For the sake of flexibility we would like to incorporate, in no specific order:

  • New contenttypes : necessary to incorporate the different documents that can arise in an enterprise
  • Versioning: to show that our documents are always up to date, and to show which changes were made vs a previous version of the same document
  • Working copy support: so that a "published" document stays online while it is being edited
  • More complex workflow: to account for the review processes which are obligated by ISO
  • Different workflow for different documents: as workflow are dependent on the type of the document.

Therefore, the holy grail of workflow optimisation should be (and please correct me if I'm wrong):

  • Dexterity for the content types
  • CMFEdition (embedded in Plone) for versioning
  • Iterate for working copy support
  • plone.app.workflowmanager for the new workflows
  • Products.CMFPlacefulWorkflow for the different workflows according to different documents

The problem is the integration of the different products:

  • How do you get versioning to work with Dexterity?
  • How do you add working copies on top of that (keeping the necessary versioning)?
  • And how do you get your shiny new workflow (great UI btw for workflowmanager) to play nice with both versioning AND working copies.

I scoured the google-realm and already found these links:

  • Working copies and workflows : http://plone.org/products/iterate/documentation/how-to/working-copy-workflow-customization
  • Dexterity and Versioning: http://plone.org/products/dexterity/documentation/how-to/adding-versioning-to-dexterity-content-types

We also checked out:

  • Archetypes contenttypes versioning: http://plone.org/documentation/manual/developer-manual/archetypes/appendix-practicals/enabling-versioning-on-your-custom-content-types

which are all installed and configured...

However, my new content type does not allow for checkout/checkin (Iterate product), and neither are versions/changes tracked in the history-view for this same contenttype.

Is their a magical sequence to follow or am I missing something (or alot -which is more likely)? Because if all these products were to work "out of the box" in my opinion this is a catchall solution to all things workflow...

addition 2012/04/17: As remarked by thet, the stack is completed with both

  • versioningbehavior for Dexterity: http://pypi.python.org/pypi/plone.app.versioningbehavior
  • stagingbehavior fro Dexterity: http://pypi.python.org/pypi/plone.app.stagingbehavior
like image 712
Speediro Avatar asked Mar 20 '12 14:03

Speediro


2 Answers

You need to use plone.app.stagingbehavior (http://pypi.python.org/pypi/plone.app.stagingbehavior), which links Iterate/CMFEditions to Dexterity types. Not sure about your versioning issues.

like image 155
Jon Stahl Avatar answered Sep 25 '22 09:09

Jon Stahl


You can also plug in the versioningbehavior

And stagingbehavior.

like image 44
thet Avatar answered Sep 24 '22 09:09

thet