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
-- 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
-- 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 :)
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
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,
Zope maillist - [EMAIL PROTECTED]
** No cross posts or HTML encoding! **
(Related lists -