[Zope-CMF] Re: [CMF 2.1] FSPageTemplate & Unicode

Philipp von Weitershausen philipp at weitershausen.de
Sat Jan 6 17:30:42 EST 2007


On 6 Jan 2007, at 23:22 , Martin Aspeli wrote:
> Okay, spoke to Philipp on IRC and he asked me to relay his opinions  
> on some of this:
>
>  - CMF tools ought not to depend on acquiring things from 'self' if  
> at all possible.
>
>  - TTW code will need aq contexts for security. However, it makes  
> sense for getToolBy(Interface)Name() to handle this.
>
>  - Non-TTW code probably shouldn't need aq contexts.
>
>  - Registering the portal as a utility that can be obtained by  
> getUtility(IPortalRoot) is pretty good practice; in my estimation,  
> that should solve all the use cases for utilities where acquisition  
> is used now and where we're not really after an adapter, view.
>
>  - Using component registries would be bad in terms of maintenance;  
> in my own opinion, aq-wrapping when it may not be needed may lead  
> to headaches later as well.
>
> Also, in my own opinion, why don't we keep getToolByName() (since  
> it's so incredibly prevalent) and just let it handle dotted  
> interface names as well? The chances of a name clash are minute,  
> and we can at a later stage deprecate the non-dotted names. I say  
> this because (a) getToolByInterfaceName() is long :) and (b) it's  
> one more thing to remember and (c) everyone's already using  
> getToolByName().

Actually, why dont you keep a simple mapping between existing names  
and interfaces, e.g.:

name2iface = {'portal_catalog': ICatalog,
              'portal_skins': ISkinTool,
               ...}

and use that in getToolByName? Then *all* of the existing code base  
continues to work, especially if getToolByName does aq wrapping.  
getToolByName('some.dotted.interface.IName') looks silly.



More information about the Zope-CMF mailing list