At the moment it is not possible to use skin layers in pure python packages. This is caused by the DirectoryView implementation using a minimal path name for the layer id. This path name is created by CMFCore.utils.minimalpath, which uses the ProductsPaths list of directories to look for the filesystem directory and uses an absolute path if it can't find it. Since this absolute path will differ per install you can't use it in something like genericsetup profiles.
The patch below fixes this by adding $INSTANCE_HOME/lib/python to the ProductsPaths list. This allows minimalpath to find python packages installed there. Are there any objections to commiting this to trunk? Wichert. Index: utils.py =================================================================== --- utils.py (revision 72192) +++ utils.py (working copy) @@ -719,8 +719,10 @@ return os_path.normpath(p.replace('\\','/')).replace('\\','/') import Products -ProductsPath = [ abspath(ppath) for ppath in Products.__path__ ] +ProductsPath = [ abspath(ppath) for ppath in Products.__path__ ] + \ + [ os_path.join(INSTANCE_HOME, 'lib', 'python') ] + security.declarePublic('expandpath') def expandpath(p): """ Convert minimal filepath to (expanded) filepath. -- Wichert Akkerman <[EMAIL PROTECTED]> It is simple to make things. http://www.wiggy.net/ It is hard to make things simple. _______________________________________________ Zope-CMF maillist - Zope-CMF@lists.zope.org http://mail.zope.org/mailman/listinfo/zope-cmf See http://collector.zope.org/CMF for bug reports and feature requests