[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