[Zope-CMF] Re: Major action exhancements

yuppie y.2004_ at wcm-solutions.de
Sat Mar 6 08:18:47 EST 2004


Dieter Maurer wrote:
>   *  Make actions (more precisely: action definitions) first class objects


>      (with their own management pages), make them "PropertyManagers".
>      This way, actions can get arbitrary additional attributes.

Do we need arbitrary additional attributes per item?

>   *  Make available action descriptions (as delivered by
>      "listFilteredActionsFor") instances of a new
>      "ActionDescription" class (rather than dictionaries).
>      For backward compatibility, this class implements the
>      "mapping" interface (such that instances can be accessed
>      in the same way as the former dictionaries).
>      Instances provide access to both the properties in
>      the corresponding action definition as well as to
>      information "evaluated" in the current context.
>      The class provides an additional method "evaluate".
>      This method evaluates a TALES expression in the same
>      context used by the "ActionsTool" (or specialized action providers
>      such as DCWorkflow) to evaluate the "standard" tales expressions.

I'm not sure I understand this: Is 'evaluate' an alias for 
getAction(ec)['url'] or does it something else?

>   *  Add a new boolean property to actions (their definitions):
>      "listAlways". This tells the ActionsTool that this
>      action should be listed even when it is unavailable.
>      "ActionDescriptions" get a new key "isAvailable" with
>      the obvious meaning.
>      This allows the implementation of different policies to
>      represent action availability/inavailability.


This is a nice feature, no doubt. But if you make the properties 
customizable, we should discuss what the default properties are.

>   *  Make "DCWorkflow" actions consistent with the actions used
>      elsewhere


This isn't fun. WorkflowTool is the Action Provider and there are other 
workflows than DCWorkflow.

See also <http://collector.zope.org/CMF/207>

>   *  Replace the "ActionProviderBase" management page.
>      This page is already weired. With the enhancements noted
>      above, it would become a nightmare.
>      I would take the pages used by DCWorkflow to summarize
>      its various "containers" (states, transitions, ...).
>      But I am not a designer. Maybe someone else can provide
>      a better presentation.
> Future measures:
>   *  Define action types to capture common properties of a family
>      of related action definitions (e.g. common icons for
>      all "edit" actions (now done in the separate "ActionIconsTool").
>      Action definitions inherit properties from the associated
>      type (maybe types?) but can override them.
>   *  Provide a registry for action categories.
>      These action categories are first class objects ("PropertyManagers"),
>      control the context to evaluate TALES expressions in and
>      can get additional properties useful for presentation of
>      this category.

What about making ActionProviderBase folderish, subclassing categories 
from OrderedFolder and storing Action objects inside of categories 
inside of Action Providers?

> I will soon start to implement the "immediate measures".

Great :-) Do you have cvs access?


More information about the Zope-CMF mailing list