[Grok-dev] Re: layers and skins

Maurits van Rees m.van.rees at zestsoftware.nl
Thu Apr 19 18:45:18 EDT 2007

Martijn Faassen, on 2007-04-19:
> I don't think CMF developers are very important in this discussion. CMF 
> developers may or may not pick up Grok, and if they do, they need to 
> learn new concepts all over the map, from views to skins.

As a Plone add-on developer I may not be very important, but I will
share a story anyway. ;-) It may serve as a data point of how
confusing the word 'skin' can be.

The summary is: if you say 'skin' I have no idea whether you mean a
low level layer or a high level theme.  So I am against the word
'skin'.  But whatever is decided, good documentation helps here.  And
at least it helps when a clear distinction is made and documentation,
python code and templates all use the terms correctly and

The story is this.  About a year ago I released the eXtremeManagement
Plone product on behalf of Zest Software.  A short while later I got a
mail from someone I did not know with the title "It's a skin too!"
Since the title made no sense at all to me, I almost deleted it as
junk mail...

I took a look anyway and it turned out to be a mail from someone who
had tried out eXtremeManagement.  He was not pleased to find that it
had installed a skin in his Plone site, which apparently messed his
site up.  And could I at least mention this in the ReadMe please.

I thought to myself: "Doesn't *every* Plone product have its own
skin?"  With that I really meant a layer or maybe layers. In practical
terms: one or more directories within the skins/ dir of the product,
ending up as layers (fantastically called 'skin layers') in
portal_skins, where themes can put them is their list of layers in a
spot of their choosing.

So I wrote a polite email back and added a remark in the readme to the
effect of: "For those who care about these things: eXtremeManagement
installs its own skin."

Only many months later did I understand what he really meant.  He was
talking about what I will call a theme.  eXtremeManagement installed
its own collection of layers, just like the Plone Default and Plone
Tableless 'skins'.  And truth be told: this was indeed rather
unnecessary and has been removed.

I am half inclined to rename the skins/ dir of my Plone product to
layers/ now, except that this would probably confuse other developers
even more.

Anyway, if Grok uses the term 'skin', please be very consistent in all

Or should I say:


Maurits van Rees | http://maurits.vanrees.org/ [NL]
            Work | http://zestsoftware.nl/
"Do not worry about your difficulties in computers,
 I can assure you mine are still greater."

More information about the Grok-dev mailing list