[Zope3-dev] Last chance to comment on Simplify skinning

Benji York benji at zope.com
Thu Feb 16 10:00:14 EST 2006


Gary Poster wrote:
> What if we still deprecated browser:layer but  
> kept a redefined version of browser:skin?  Then your zcml--
> 
>       <interface
>           interface=".interfaces.ShanghaiSkin"
>           type="zope.publisher.interfaces.browser.IBrowserSkinType"
>           />
> 
>       <utility
>           component=".interfaces.ShanghaiSkin"
>           provides="zope.publisher.interfaces.browser.IBrowserSkinType"
>           name="ShanghaiSkin"
>           />
> 
> could become
> 
>      <browser:skin component=".interfaces.ShanghaiSkin"  
> name="ShanghaiSkin" />

Even though it's longer, I still like the interface/utility version.  I 
think it really helps the developer understand what's going on and that 
it's not magic.  The decreased brevity is of secondary concern to me.

More brainstorming: perhaps if there was a way to define ZCML in terms 
of other ZCML we could have the best of both worlds.  If someone saw the 
shorter version in a config file and didn't know what it did, they could 
go look up another file with the definition of "browser:skin" in terms 
of interface and utility they could say "aha! I see how it works" and 
then continue using the shorter version.

I know you can do that now by looking up the Python code that implements 
browser:skin, but it seems too indirect to me.
-- 
Benji York
Senior Software Engineer
Zope Corporation


More information about the Zope3-dev mailing list