On 12/27/06, Martin Aspeli <[EMAIL PROTECTED]> wrote:
> I agree that maybe this refactoring is lower priority, I'm just making
> sure it's not forgotten just because the main workflow used is
> DCWorkflow, and maybe clarifying some not-so-clear use cases beyond
> DCWorkflow's owns.
Right. It strikes me though, that if there will be a
(zero-or-)one-to-one correspondence between subscribers and workflow
definitions, then it may be easier to use the template method pattern
(kinda) as we do now rather than decouple it with subscribers.
Otherwise, you just end up with a few subscribers in separate functions
that logically are tightly coupled with the workflow definition.
If on the other hand, there is a need for an open ended number of
components outside workflow definitions to react to these events, then
using zope.event subscribers makes sense. From the use cases I've seen,
that's not really the case, though.
That is always the case I believe on any default implementation using
events. The power of firing the events is on empowering the
extensibility of the framework. The decision on firing an event should
be based on 'is this event useful outside the framework' not on 'is
this event useful inside the framework'.
I agree that the internal implementation can just stay as it is, but
from an outside perspective, for people extending the framework,
having the events being fired there is certainly helpful. New workflow
implementations could choose between implementing 'notifySuccess' or
using a event subscriber for example.
> But you just cover transitions from DCWorkflow. WorkflowTool is not
> just about DCWorkflow. Where do those stand in the light of events?
That's a good point. I'm not really clear on where the line goes between
WorkflowTool and DCWorkflow. Are state and transition defs a property of
WorkflowTool or DCWorkflow? Is WorkflowTool just concerned with abstract
actions (named by strings)?
state and transition are properties of DCWorkflow, as you don't see
any mention of those in the WorkflowTool. Workflow Tool only deals
with actions named by strings.
Sidnei da Silva
Enfold Systems http://enfoldsystems.com
Fax +1 832 201 8856 Office +1 713 942 2377 Ext 214
Zope-CMF maillist - Zope-CMF@lists.zope.org
See http://collector.zope.org/CMF for bug reports and feature requests