[Zope-CMF] DCWorkflow: End State?

Jeffrey P Shell jeffrey@cuemedia.com
Thu, 27 Dec 2001 18:41:32 -0700


On Thursday, December 27, 2001, at 06:15  PM, alan runyan wrote:

> Hi.
>
> just thinking about it. there really isnt a good way to find out 
> if you built a complex workflow what a 'ending state' would be.  
> In Process Integrator (BEA's pointy-clicky workflow tool) you have 
> a start state, transitions, decision points, events (automatic 
> states) and end points (STOP's).  I think DCWorkflow should maybe 
> incorporate a concept of STOP simply because if you needed to find 
> out if a action was at the end of a Process you should more easily 
> be able to figure this out programatically besides hardcoding it.
>
> Does this make sense?  it would be quite simple.  At the simpliest 
> level there could be a 'End State' similiar to 'Initial State' 
> property.  Or there could be something a bit more complex such as 
> a Initial State (automatic that all workflows would have, instead 
> of a workflow state that can be set to initial starting point.) as 
> well as Several End State's which could be seperate from Published.
>
> anyone have any comments?  or am i barking up the wrong tree?  the 
> only way I can solve my previous problems w/o impacting (severly) 
> my existing workflows is to hack DCWorkflow.py after the 
> updatePermissingMappings() in the final stages of a state.  I 
> really dont want to do this because I've be (fairly) successful on 
> not customizing the

The initial state/end state settings and issues may be an issue 
with the underlying portal_workflow mechanism and not a fault of 
DCWorkflow itself (which is just another kind of workflow agent 
that may be plugged into the workflow tool, but is NOT the only way 
to workflow in the CMF (thankfully)).  In some Python based 
workflows, I've kept track of initial states/inner states/end 
states in the Python class itself and used that to satisfy some 
other business logic requirements I had.  But as far as I could 
make out, the workflow tool itself had no concept of when workflow 
agents had succesfully reached an "end" state (which some 
workflows, like the publishing one, don't really have - since an 
object may go back and forth between certain states indefinitely).

( a state diagram of this workflow can be seen at:
   http://cmf.zope.org/Members/jshell/task-states.jpg )

Jeffrey P Shell, jeffrey@cuemedia.com