Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Vincenzo Di Somma Why Should You Learn More About Workflow In Plone


Published on

As many Plone users already know, one of the most useful features that comes out of the box with Plone is the workflow of the contents. Plone comes not just with predifined workflow definitions but with a very powerful workflow engine which let you customize the life cycle of your content in the way you like more. You can manage security, task assignment and publishing state of your content, you can support the work of your editors and improve their work experience. Althoug it is a simple tool many Plone users still think about portal_workflow as a very obscure object. This session will try to explain many common and creative uses of the workflow functionalities in the newest releases of Plone, with lessons learned, common use cases and practical examples.

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

Vincenzo Di Somma Why Should You Learn More About Workflow In Plone

  1. 1. Why you should learn more about workflow in Plone <ul><li>Workflow from the beginning... </li></ul><ul><li>Vincenzo Di Somma </li></ul><ul><li>[email_address] </li></ul>
  2. 2. Life cycle of a content <ul><li>The life cycle of a content involves two separate aspects: </li></ul><ul><li>Security </li></ul><ul><li>Task generation </li></ul>
  3. 3. Life cycle in a CMS <ul><li>In a CMS environment the life cycle is usually managed using workflow tools </li></ul><ul><li>Plone uses CMF tools (DCWorkflow, CMFCore/WorkflowTool) </li></ul>
  4. 4. Workflow in Plone <ul><li>By default the workflow in Plone is used to manage the publication process of a content. </li></ul><ul><li>It has more to do with permissions than tasks. </li></ul>
  5. 5. Hands on (1) <ul><li>States </li></ul><ul><li>Transitions </li></ul><ul><li>The workflow process definition can be seen as an cyclic oriented graph, where states are nodes and transitions are arches. </li></ul>
  6. 6. Hands on (2) <ul><li>Variables </li></ul><ul><li>Can be set automatically or manually on each state transitions and the different values will be preserved in the workflow history </li></ul>
  7. 7. Hands on (3) <ul><li>Worklist </li></ul><ul><li>Collect reference to contents in a certain state for an easier task list generation </li></ul>
  8. 8. Hands on (4) <ul><li>Permissions </li></ul><ul><li>Each wfpd can define which permission will be managed by the workflow </li></ul>
  9. 9. Hands on (5) <ul><li>Groups </li></ul><ul><li>The association between Groups and roles can change depending on the state. </li></ul><ul><li>(I've never used it...but it doesn't mean it useless :) </li></ul>
  10. 10. What about the contents...? <ul><li>How the wfpd are applied to content (types) ? </li></ul><ul><li>portal_workflow </li></ul><ul><li>cmfplacefulworkflow </li></ul>
  11. 11. Creating a custom WFPD <ul><li>TTW </li></ul><ul><li>Python script </li></ul><ul><li>Generic Setup (xml) </li></ul>
  12. 12. Mixing workflows in a portal <ul><li>Use case Smanettona </li></ul><ul><li>Default Plone publishing workflow for the corporate part of the site. </li></ul><ul><li>Restricted publishing workflow for the user home folders. </li></ul><ul><li>Restricted access to the howto section (hacks). </li></ul><ul><li>Very restricted publication workflow for the magazine area (Smantett'zina). </li></ul>
  13. 13. Smanett'zina
  14. 14. We can manage more that security
  15. 15. How to create a WFPD <ul><li>TTW </li></ul><ul><li>Python Script </li></ul><ul><li>Generic Setup Profile (xml) </li></ul>
  16. 16. Common improvements <ul><li>email alerts </li></ul><ul><li>explicit selection of actors (like rewievers) by group, sections, etc... </li></ul><ul><li>action accomplished by more than one actor in the same state (like multireview) </li></ul><ul><li>link transitions (content B is strictly related to content A, publishing the content A involve publishing also content B) </li></ul><ul><li>multisite life cycle (once a content is published in the portal A it is automatically available on porta B) </li></ul><ul><li>version management (when content is published, save the current version) </li></ul>
  17. 17. Thanks! <ul><li>Questions...? </li></ul>