[Zope-CMF] Re: [dev] enhancing Actions: a rough proposal
Dieter Maurer
dieter at handshake.de
Fri Nov 26 13:58:27 EST 2004
Hi Yuppie,
yuppie wrote at 2004-11-26 09:27 +0100:
> ...
>Yes. Seems to be time to elaborate on some details. I hope this will
>allay your concerns a bit.
It does a bit...
>1.) timetable
>
>For now I just want to replace normal Actions. Type Actions and workflow
>Actions are out of the scope of the more detailed proposal I'm going to
>write based on this discussion.
Fine, that reduces the amount of work to adapt existing applications
to your new proposal considerably.
>In the long run I'd like to use the new machinery for all kinds of
>Actions. But that could be done in different ways. Moving all Actions to
>the ActionsTool is just one option. Reusing the new machinery in the
>TypesTool and the WorkflowTool is an other. I don't think we should
>decide that now.
You often have the distinction between new and existing applications.
Therefore, you often have several ways to do something; maybe
some deprecated.
> ...
>2.) migration
>
>The proposed folderish Action provider will be able to live side by side
>with all existing Action providers. Technically it is just another
>Action provider.
That sounds good (in my ears).
>Migrating Actions of existing instances can be done using CMFSetup:
>exporting - importing - done.
Maybe, your proposal comes to early, at least for me.
I did not yet look at CMFSetup (or CMF 1.5 in general).
What I know about it is what I read in this mailing list.
If it really is that easy, fine.
> ...
>The only problem I can see is code that queries / manipulates Action
>providers directly. I guess 90% of that code is setup code. My proposal
>is based on the assumption that people will have to rewrite the setup of
>their products anyway:
>CMFSetup introduces a completely different setup
>machinery, and I doubt it would be a good idea to maintain the old *and*
>the new machinery in the long run.
Fortunately (for me), the number of my tools with actions is
far smaller than the number of types.
Nevertheless, a script taking care of the current standard
case (a class with a sequences of action definitions) by
generating the corresponding CMFSetup profile would
greatly increase acceptability of your proposal.
It would probably be very similar to a CMFSetup export.
>> Your proposal may be something for CMF-NG (or CMF2 or CMF for Zope 3)
>> but it should not remove essential infrastructure in CMF
>> (like "ActionProviderBase") that are essential for todays tools
>> build on top of CMF.
>
>Removing ActionProviderBase is not an essential part of my proposal. But
>at least I'd like to recommend using the new centralized Action provider
>and change the products in the CMF repository accordingly.
There is a disadvantage of inheritance.
When you inherit from a class, you assume some implementation
details (e.g. that is behaves like an "ActionProvider").
When you can make the changes to the standard tools
in a way that inheriting classes
can easily add "ActionProviderBase" to work around
the loss of this base class in the inherited class,
then this loss should not be a problem.
--
Dieter
More information about the Zope-CMF
mailing list