DCWorkflow (was Re: [Zope-dev] Another open letter. :-))

Jeffrey P Shell jeffrey@cuemedia.com
Mon, 3 Dec 2001 16:06:54 -0700


On Monday, December 3, 2001, at 10:36  PM, Florent Guillaume wrote:

>> PLEASE, look at OpenFlow (a Zope Product). It is based on years 
>> of research
>> and covers all aspects. It works very well too!
>
> Correct me if I'm mistaken, but from what I saw OpenFlow is very low
> level. You'd need an entire additional layer to attain what DCWorkflow
> does.
>
> Not that it's bad to be low level, mind you, but that missing layer
> prevents people from using it directly like DCWorkflow.

It's not always good to be high-level either.  I've written five 
custom workflows in the past two months, and only one of them in 
DCWorkflow.  There are a lot of complexities in the workflows that 
I had to design that DCWorkflow didn't handle -- not to mention the 
fact that the workflows (which is very central to the system that 
I'm currently developing) are very essential business components 
and need to be kept under tighter source code control than 
occasional .zexp checkins can give me.

Don't get me wrong - I like DCWorkflow.  But it should not be 
considered the ultimate workflow solution either.

Instead, what should be considered the ultimate workflow solution 
is the CMF's 'portal_workflow' tool and the interface that Workflow 
objects have to implement.  DCWorkflow gives you an object that 
implements this interface, and that object in turn gives you the 
ability to define and manage a workflow through the web.

But what makes the system so nice is that you can write your own 
workflow in Python that lives up to that interface.  Or you could 
write a workflow object that could interpret files exported from a 
visual workflow design tool.  The core WorkflowTool does the basic 
work -- a developer just has to satisfy a documented interface and 
register their class with the WorkflowTool as another type of 
Workflow object that can be added to the system.

This is what is so compelling to me about the CMF's Workflow Tool - 
not that I can design a workflow through the web, but that if I 
design one through the web and run into limitations, I can do it / 
redo it all in Python.

Jeffrey P Shell, jeffrey@cuemedia.com