[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