[Zope-CMF] Re: [Performance] "listFilteredActionsFor" unnecessarily expensive

yuppie y.2005- at wcm-solutions.de
Wed Apr 6 02:54:03 EDT 2005


Hi Alec!


Alec Mitchell wrote:
> This is duplicated in CMFPlone as well, so it can be removed there too.  I 
> think the purpose of this may have been to eliminate duplicate actions 
> defined in different action containers (so that one could e.g. override an 
> object action defined sitewide with one defined on a type).

The order of Action providers determines in which order 
listFilteredActionsFor() returns the Actions. Using the same order for 
overriding behavior doesn't make much sense to me.

> But of course 
> this check does not actually do that, or apparently anything useful.  
> Removing it sounds like an excellent idea.
> 
> It would be nice if two actions with the same id and category from different 
> action containers did not result in duplication, but the method is slow 
> enough as it is.

What would be better than returning both? Maybe raising an error?

If you ask me, the fact that you can define duplicate Actions is a bug, 
not a feature.

CMF HEAD (1.6) has one central Action provider (not yet for all Actions) 
that should be used by all products. Instead of shipping with a tool 
that has predefined Actions, products should ship with a CMFSetup 
extension profile that defines the Actions in an XML file. Conflicts 
between Actions have to be resolved on set-up time, not when 
listFilteredActionsFor() is called.


Cheers,

	Yuppie



More information about the Zope-CMF mailing list