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
_______________________________________________
Zope3-dev mailing list
[email protected]
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com