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