aboulanger@vpatch.com wrote:
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 system.
-- 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.
The PTK has been undergoing radical changes as of late. Its worth taking another look at as the current design is much more supportive of alternative workflow designs.
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.
also the Xen Zope Product (not on zope.org, where i forget) Kapil