Registering skins in lib/python plone 3.0 productsΒΆ
I assume this approach only works for plone 3.0 as that runs on a nice recent zope 2.10 release and has a recent enough CMF. At least, that's mostly my experience: you'll need pretty new stuff to get the most out of genericsetup and so.
So: you've made a product and you've done it in lib/python instead of Products. There's got to be a way to register a skin directory without filling your product's __init__.py with lots of registration code. I found the solution in plone.app.openid.
In your configure.zcml, add the cmf namespace and a registerDirectory directive. I'm doing it for the plonehrm.jobperformance (not fully released yet) product:
<configure ... xmlns:cmf="http://namespaces.zope.org/cmf" ...> <.....> <cmf:registerDirectory name="jobperformance"/> </configure>
The only remaining thing is to add a skins.xml in your profiles/default directory:
<object name="portal_skins">
<object name="jobperformance" meta_type="Filesystem Directory View"
directory="plonehrm.jobperformance:skins/jobperformance"/>
<skin-path name="*">
<layer name="jobperformance" insert-after="custom"/>
</skin-path>
</object>
That ought to do it!