[Zope-CMF] Workflow first cut is ready

seb bacon seb@jamkit.com
Wed, 23 May 2001 15:19:21 +0100


> 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?

<snipped stuff about re-editing published documents>

> > 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 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.

seb