[Zope-CMF] Proposal: Action expression contexts

Martin Aspeli optilude+lists at gmail.com
Tue Mar 31 08:16:58 EDT 2009


Miles wrote:
> Hi,
> 
> One of the things that we find slightly cumbersome here in our 
> applications is that when defining actions, there's no easy way to 
> adjust the variables available to an expression.  This tends to make the 
> expressions longer and harder to read, plus commonly used variables are 
> calculated multiple times.
> 
> For example, my application has a concept of a "page", and I would like 
> to make this available as a variable rather than work it out each time.
> 
> Therefore I think it would be useful to adjust getExprContext in 
> CMFCore.Expression so that it is pluggable, by using a factory to create 
> the ExpressionContext.  In that way I can register different ones as 
> required.
> 
> Is this a desirable change?

+1

It'd be nice to used named adapters on the context to achieve this. You 
look up all named adapters from the action context to some interface. 
This way, you can plug in new ones, override per type, and override by 
name, if required.

Note that actions are currently a performance bottleneck in Plone. We 
should at least try not to make it slower, and see if we can make it faster.

Martin

-- 
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book



More information about the Zope-CMF mailing list