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