[Zope] Generic Workflow Products?

aboulanger@vpatch.com aboulanger@vpatch.com
Wed, 23 Aug 2000 10:52:21 -0400 (EDT)


   After applying Zope to a couple of in-house projects
   (which turned out pretty well, thank you),  I've started
   to come to the realization that many applications boil
   down to workflow management.  A job comes in, attributes
   get set, things get attached to it, and it gets passed
   from person to person (to machine, in some cases)
   as it flows through the system.

   I guess to start out it would need the following:

   -- user classes
   -- job creation
   -- job attributes, with protection from view and modification
      depending on user classes
   -- multiple job queues, with access control, and some sort
      of priority.  Queues may end up being implemented simply
      by having a job state, sequence number, and priority, and
      moving from one queue to another would just be changing
      the state.
   -- job timeouts for escalation, 
   -- e-mail "ticklers" and notification
   -- job routing based on attributes and actions.
   -- some sort of api other then HTTP/HTML for external
      programs to access jobs, perform actions, and update
      jobs.
   -- Extra Credit:  Graphical workflow editor.
   -- (what else am I missing)

   Sounds like a job for Zope, doesn't it.  Basically I've
   implemented a couple of systems like this, either
   classic database-driven or z-class driven.  But I'm tired
   of re-inventing the wheel.  It would be nicer if systems
   like this could be implemented at the "workflow logic" 
   level rather than the Zclass level.  IE a set of ZClasses
   or Product classes that implemented workflow systems.

   Is there such a thing? Has anyone worked on such a thing?  
   Any ideas how to implement such a thing?

   I've got a couple of modifications to an existing system
   coming up, which sounds like just the excuse I need
   for a total rewrite :)

   -- cary

There are several workflow activites within Zope that I know of:

PTK has and "implicit" workflow support for moving documents in a
review process. Unfortunately workflow hangs off of the documents from
what I saw of its design patterns. Not a good design if a workflow
step involves multiple documents and the execution of applications on
data.

Several Zope sites have some kind of workflow for what they do. There
is a mesh healing (CAD/CAM) Zope based application service provider
(ASP) that comes to mind.

There is an standards based (WFMC -- workflow management coalition,
www.wfmc.org) Zope product that really has seen no progress since early
this year - see openflow.sourceforge.net

You might consider marrying a workflow engine like Staffware's to
Zope. This marriage may be easier if they support SWAP (simple
workflow access protocol see www.ics.uci.edu/~ietfswap). Staffware has
indicated that they will (are) supporting SWAP.

We are a company, vPatch, that is building web-based workflow that can
run apps for the oil and gas industry. Our current system uses tclets
to display workflow graphically, but we are going to Java.  It would
be nice to work on a good set of (standards based) design patterns for
workflow and implement them in Zope. In my mind these patterns would
consider pluggable workflow engines like Staffware's using SWAP.


Yours in workflow,
Albert Boulanger
aboulanger@vpatch.com