[Zope-CMF] Re: CMFSetup and workflows
Anahide Tchertchian
anahide.tchertchian at gmail.com
Mon Jul 11 08:36:41 EDT 2005
Hi,
yuppie wrote:
> Please note that all other tool handlers use utils.*ConfiguratorBase. I
> didn't convert workflow.py because it is the biggest handler and it
> works for me as it is. But it uses deprecated patterns, so if you plan
> to improve it it might be worth to refactor it using *ConfiguratorBase.
Yes, that's what I intended to do.
>> - turn import methods in CMFSetup/workflow.py into configurator class
>> methods so that they're easier to override when subclassing
>> (_extract*Nodes and _initDCWorkflow* methods)
>
> Sounds fine if you don't want to do the big refactoring.
Yes I'd like to, but as I am new to this code I thought these methods
were necessary (is it?) and I just wanted to make them class methods.
Maybe it's not the case with ConfiguratorBase, I just have to have a
closer look at it.
>> - get rid of DCWorkflow specifics, and use the workflow factory and
>> API methods to import a workflow (no need to import
>> DCWorkflowDefinition, State, Transition classes anymore, for instance)
>
> I didn't have a look at the details. But I'm afraid we would loose some
> flexibility. Other import handlers allow fine-grained changes to
> existing setups.
I'm not sure I understand why we could lose some flexibility.
For instance, instead of doing:
from Products.DCWorkflow.States import StateDefinition
s = StateDefinition(id)
workflow.states._setObject(id, s)
I'd like to do:
workflow.states.addState(id)
Since workflows handled are supposed to be quite similar to DCWorkflow
workflows, I thought that if it's too different, a new configurator will
have to be coded anyway. This is just to handle DCWorkflow subclasses,
like CPSWorkflow classes.
>> - do not list workflows that are not supported when exporting (not
>> supported workflows are listed but not exported at the moment)
>
> You mean workflows without CMFSetup supported? i.e. CMFDefault
> DefaultWorkflow? Why shouldn't they be listed?
Currently, on export, if a workflow is not a DCWorkflowDefinition
instance, its name is listed in workflows.xml but there is no other file
containing the worklow definition, so I'm not sure there is a point to
list it.
Cheers,
anahide.
More information about the Zope-CMF
mailing list