[Zope-CMF] adding 'context' as an alias for 'object' in action expressions

Charlie Clark charlie at begeistert.org
Wed Dec 10 07:43:29 EST 2008


Am 01.12.2008 um 16:49 schrieb Tres Seaver:

> 'context' is the canonical name for the object through which a  
> script or
> templated was acquired (its aq_parent, in fact);  'here' is a
> long-deprecated alias for 'context'.  'context' is like the 'self'
> binding of a normal Python method.
>
> Action expressions aren't scripts / templates, and don't have many of
> the stock names ('context', 'container', 'template', 'script',
> 'traverse_subpath', 'namespace', 'subpath', 'options', 'modules',
> 'root') which scripts and templates offer;  instead, they offer names
> which are useful in writing action URLs (e.g., 'object_url',
> 'folder_url', 'portal', 'user_id', etc.)  Their 'self' / 'context'  
> would
> logically be the ActionInformation object, rather than the "target"  
> for
> which the URL / condition is being computed.
>
>
>> And the proposal was to change the expression context for actions.  
>> What
>> about CachingPolicyManager and DCWorkflow?
>
> Exactly.
>
> - -1 to the change from me.  Writing TALES expressions involves  
> knowing
> what the appropriate set of names are for the given usage.


Tres,

thanks very much for the explanation. I've probably missed it but my  
experience has been that Actions and Workflow are the most difficult  
parts of the CMF to work with because they don't conform entirely to  
the way PythonScripts or PageTemplates behave but I think this is  
largely down to a lack of user/developer documentation on what they  
are and how to use them. I recently encountered the problem that user  
defined action categories will be ignored by ListFilteredActionsFor().  
Improving the documentation here would probably be the best solution.

Charlie
--
Charlie Clark
Helmholtzstr. 20
Düsseldorf
D- 40215
Tel: +49-211-938-5360
GSM: +49-178-782-6226





More information about the Zope-CMF mailing list