optilude+lists at gmail
Mar 31, 2009, 5:16 AM
Post #2 of 3
> 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
> Is this a desirable change?
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.
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
Zope-CMF maillist - Zope-CMF [at] lists
See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests