[Zope3-dev] RFC: Simplify Skinning Redux

Dominik Huber dominik.huber at perse.ch
Mon Dec 12 16:29:01 EST 2005


Philipp von Weitershausen wrote:

>(http://dev.zope.org/Zope3/SimplifySkinning) yet another overhaul.
>
>Basically, it now proposes to go one step further: Layers and skins will always be simple
>interfaces extending IBrowserRequest. The only difference between skins and layers is
>that only skins are registered as local utilities under a human readable name whereas
>layers are plain old boring interfaces with no extra marker (it's not needed at all).
>
>Along with that we can get rid of the <browser:skin /> and <browser:layer /> ZCML
>directives and simply reuse existing, much simpler directives from the standard Component
>Architecture (<interface /> and <utility />). This is not only a good step towards
>reducing the ZCML directive proliferation, it's also a reflection of what's going on
>under the hood. If we simplify under the hood, the Zope 3 developer should benefit from
>that simplification as well. That's now happening.
>
>The rest of the changes deal with small harmonizations that should make the understanding
>of certain patterns easier (if they're always the same).
>
>Looking-for-comments-as-usual-ly
>  
>
+1 in general, but two cosmetics-change-requests.

1. The brand *skin* and *layer* are fairly common and they are 
reflecting two logical uses cases. At a first glance the usage for a 
layer type is not given, but the layer concept is still interesting to 
build modular skins. The layer audience could be the developers which 
like to share layer specific informations. IMO an use case for an 
Browser Layer Names utility could be a corresponding 
online-documentation within the api-doc. I would suggest to register the 
layers like skins using a ILayerBrowserType interface:

<interface
          interface=".interfaces.I18NFeatures"
          type="zope.publisher.interfaces.browser.IBrowserLayerType"
          />


2. I liked the naming ISkinType and ILayerType much more (instead of 
IBrowserSkinType/ IBrowserLayerType), because this browser-specific 
differentiation is already given by the package hierarchy and those 
ILongCamelCaseWordingsThatTriesToExplainEverything are hard to type and 
at the end they confuse newcomers even more than the simple ones. Please 
keep the naming also simple and stupid like the skinning simplification 
itself  :)

Regards,
Dominik
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dominik.huber.vcf
Type: text/x-vcard
Size: 154 bytes
Desc: not available
Url : http://mail.zope.org/pipermail/zope3-dev/attachments/20051212/b8d763cf/dominik.huber.vcf


More information about the Zope3-dev mailing list