Mailing List Archive

Proposal: Action expression contexts
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?

Miles

_______________________________________________
Zope-CMF maillist - Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf

See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests
Re: Proposal: Action expression contexts [ In reply to ]
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

_______________________________________________
Zope-CMF maillist - Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf

See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests
Re: Proposal: Action expression contexts [ In reply to ]
Miles wrote at 2009-3-31 10:10 +0100:
>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?

I like it.



--
Dieter
_______________________________________________
Zope-CMF maillist - Zope-CMF@lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf

See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests