[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