[Zope3-dev] RFC: Simplify Skinning

Philipp von Weitershausen philipp at weitershausen.de
Wed Dec 7 10:08:53 EST 2005


Martijn Faassen wrote:
> Philipp von Weitershausen wrote:
> 
>> Looking for your comments at http://dev.zope.org/Zope3/SimplifySkinning.
>> This is a follow-up proposal from
>> http://www.zope.org/Collectors/Zope3-dev/444.
> 
> I rather like having the *concept* skin to talk about. While
> implementation-wise things may become cleaner, being able to talk about
> a skin is I think a bit more clear than if you talk about skin layers.
> 
> Similarly, I think it's a useful concept to talk to a layout developer
> about 'layers' as a separate concept, to indicate to them that a layer
> is not something necessarily directly exposed to an end user. I think
> that this use case is less strong than the one for maintaining the word
> 'skin', though.
> 
> In various use cases, for instance Silva, there's a class of users that
> just wants to select from a list of skins installed for their site, and
> has no knowledge of how they're implemented. You don't want to show all
> layers to them.
> 
> It would therefore be nice to have a way to mark particular skin layers
> as actual skins you want to expose to end-users, not just as things
> useful as a building block. This is something we use the skin mechanism
> for now, and that facility would, if I understand it correctly, go away
> in this proposal.

It's a good use-case, but not much of a problem. As you said, it's not
about the implementation, it's about presenting a decent list to the user.

Skins and layers (and after my proposal skin layers, too) are registered
as utilities providing ISkin or ILayer (and after my proposal,
ISkinLayerType). You could create an interface, e.g. called
IUserSelectSkinLayerType, which extends ISkinLayerType. All skin layers
that are skins in the old sense (IOW, being choosable by users) would be
registered as utilities with this interface. You could then use a
UtilityVocabulary to pull out all user-selectable skin layers easily
into a Choice field or whatever.

If you think such an interface and perhaps the vocabulary should be in
Zope itself, fine by me. We could ammend the proposal.

Philipp


More information about the Zope3-dev mailing list