cmf's suitability for complex, customised workflows
Hi, I'm looking at designing a workflow management system using zope. I've had a look at CMF and from what I can tell, it seems to be very useful in designing workflows for web portal sites like in Plone. But I fear that I'm looking for something more than web publishing. My workflow involves - 1. receiving input articles (MS Word docs, text, etc) through ftp 2. some 14 stages of processing using various Win32/Mac apps 3. each processing stage done by dedicated well defined teams 4. extensive report generation and activity logs 5. hold associated meta information (emails, other tidbits) with every article The output of one stage has to flow into the next. Task queueing, prioritising, etc are essential for intelligent workflow scheduling. I don't find these features in Openflow/DCWorkflow/etc so I think I'm better off developing a customised zope product to suit my requirements. Is it easy to customise CMF to suit arbitrary workflows such as mine? Will I have any advantages if I build my Zope product using CMF over vanilla Zope? Can someone throw any light into this issue? - Raja
Raja Subramanian wrote at 2004-8-18 06:57 +1000:
I've had a look at CMF and from what I can tell, it seems to be very useful in designing workflows for web portal sites like in Plone. But I fear that I'm looking for something more than web publishing.
"DCWorkflow" (the advanced Workflow engine for CMF/Plone) has as essential restriction: it is good only for document centric workflows: If all operations are on a single document, then DCWorkflow will probably be a good base. If the operations affect many documents, then your workflow is rather task based (than document based). Then "OpenFlow" is a better alternative.
My workflow involves - 1. receiving input articles (MS Word docs, text, etc) through ftp
This is not directly handled by DCWorkflow -- but CMF can do it (and hook into the workflow).
2. some 14 stages of processing using various Win32/Mac apps
could be implemented by "workflow scripts"
3. each processing stage done by dedicated well defined teams
possible
4. extensive report generation and activity logs
DCWorkflow provides a history. You can customize what the history contains (all "variables stored in 'status'")
5. hold associated meta information (emails, other tidbits) with every article
possible via "variables stored in 'status'".
The output of one stage has to flow into the next. Task queueing, prioritising, etc are essential for intelligent workflow scheduling.
You will probably need to work here a bit... The DCWorkflow "Worklists" are simple catalog queries: no sorting (aka prioritizing). But, you can instead use your own catalog queries and sort as needed.
I don't find these features in Openflow/DCWorkflow/etc so I think I'm better off developing a customised zope product to suit my requirements.
If you like.... But you can build on top of the existing infrastructure...
Is it easy to customise CMF to suit arbitrary workflows such as mine?
I have the feeling that DCWorkflow covers almost all of your requirements...
Will I have any advantages if I build my Zope product using CMF over vanilla Zope?
The CMF contains many tools that facilitate applications development considerably (once you have understood them). We especially like the SkinsTool, the ActionTool and the WorkflowTool (with "DCWorkflow" workflow definitions). -- Dieter
* Raja Subramanian <rsubr@pcomm.hfi.unimelb.edu.au> [2004-08-17 23:00]:
Hi,
I'm looking at designing a workflow management system using zope.
I've had a look at CMF and from what I can tell, it seems to be very useful in designing workflows for web portal sites like in Plone. But I fear that I'm looking for something more than web publishing.
My workflow involves - 1. receiving input articles (MS Word docs, text, etc) through ftp 2. some 14 stages of processing using various Win32/Mac apps 3. each processing stage done by dedicated well defined teams 4. extensive report generation and activity logs 5. hold associated meta information (emails, other tidbits) with every article
The output of one stage has to flow into the next. Task queueing, prioritising, etc are essential for intelligent workflow scheduling. I don't find these features in Openflow/DCWorkflow/etc so I think I'm better off developing a customised zope product to suit my requirements.
Is it easy to customise CMF to suit arbitrary workflows such as mine? Will I have any advantages if I build my Zope product using CMF over vanilla Zope?
Can someone throw any light into this issue?
You would need to build a lot of the features you want in your application yourself. From what you describe it seems as if OpenFlow or Reflow (it's CMF incarnation) would be a better starting point. OpenFlow is an activity based workflow and maps better to tasks that involve distinct entities in your application. DCWorkflow is entity based and works better for workflows were state changes on a single entity, like a document. -- Roché Compaan Upfront Systems http://www.upfrontsystems.co.za
On Wed, Aug 18, 2004 at 08:47:18PM +0200, Roché Compaan wrote: [snip]
You would need to build a lot of the features you want in your application yourself. From what you describe it seems as if OpenFlow or Reflow (it's CMF incarnation) would be a better starting point. OpenFlow is an activity based workflow and maps better to tasks that involve distinct entities in your application. DCWorkflow is entity based and works better for workflows were state changes on a single entity, like a document.
Here is a bit more information about Reflow: CMFOpenflow (Reflow) Reflow is the activity based workflow engine for Zope, CMF, Plone. Reflow is a fork of the Openflow project that aims to achieve deep integration of activity-based workflow with Content Management CMF). Nevertheless it can be used also as stand-alone (i.e. without CMF/Plone). Reflow thus is a powerful yet flexible tool to develop workflow-oriented applications that need more than DCworkflow (portal_workflow) or both entity based (document oriented) and activity oriented workflow. And here are some links: http://www.reflab.it/community http://www.reflab.it/community/Openprojects/CMFOpenflow/ Dave -- Dave Kuhlman dkuhlman@rexx.com http://www.rexx.com/~dkuhlman
Hi, Dave Kuhlman wrote:
On Wed, Aug 18, 2004 at 08:47:18PM +0200, Roch? Compaan wrote:
You would need to build a lot of the features you want in your application yourself. From what you describe it seems as if OpenFlow or Reflow (it's CMF incarnation) would be a better starting point. OpenFlow is an activity based workflow and maps better to tasks that involve distinct entities in your application. DCWorkflow is entity based and works better for workflows were state changes on a single entity, like a document. [snip]
Many thanks for the replies. I think I'm going to reinvent the wheel with vanilla zope. My workflow is primarily entity based and I seem to have worked out all the bits save for a few tricky pieces. I think lack of CMF/*Flow should not be a huge set back for this task. Thanks again for the guidance. - Raja
participants (4)
-
Dave Kuhlman -
Dieter Maurer -
Raja Subramanian -
Roché Compaan