[Zope-CMF] Workflow first cut is ready

Shane Hathaway shane@digicool.com
Wed, 23 May 2001 16:15:56 -0400


seb bacon wrote:
> 
> > A transition can either be triggerred automatically, by a UI action, or a
> > wrapped workflow method.  doActionFor() indicates UI actions.  Executing
> > any WorkflowMethod (see WorkflowCore.py) indicates workflow methods.  In
> > the future I envision adding timeout triggers and external event triggers,
> > similar to ACS 4.
> >
> > In practice, normally the ID of a transition matches either a UI action ID
> > or a workflow method name, which I didn't foresee.
> 
> Yes, that's why it confused me.  Wouldn't it improve usability to
> enforce id naming to follow this convention, and do away with the
> named action triggers?

Perhaps so.  In fact, then we could just have a series of radio buttons
(automatic transition, user-initiated, workflow method, and in the
future, timeout.)  I had in mind supporting multiple actions IDs for a
transition, but if that's a rare thing to do (it probably is) then
people can get the same behavior by creating similar transitions with
different IDs.  Great idea!

> > > Do you think the new WorkFlow could meet the above requirement without
> > > any changes?
> >
> > I don't know.  I've been pondering that myself and I haven't found the
> > *right* way to fit it in.  Certainly it can be wedged in but I think
> > there must be some way that would fit nicely.
> 
> If it were to be catered for in the framework, I imagine it would have
> to interact with some kind of a Version component.  Then you'd just
> have to call a script from the transition as we've discussed, which
> would manipulate the Version.
> 
> As for what the Version component would be, I'm not sure.  It could be
> a VersionTool which acts as a registry / repository of versioned
> components (e.g. "portal_version.createNewVersion(this())",
> "portal_version.listVersions()", etc), but that sounds like a potential
> performance bottleneck to me.  Still, it *would* be useful, for other
> stuff too, like audit trails for documents in an extranet, etc.

Do you see this as distinct from Zope Versions?

> > > Do you think transitions should have the ability to call scripts?
> >
> > Yes.  I was hoping you'd ask that.  I think it should be possible to
> > specify a script that gets executed just before the transition occurs.  Is
> > that what you're looking for?
> 
> Yes please! And of course it should be able to throw an exception.

Okay.  Coding. :-)

Shane