Wichert Akkerman wrote:
(I've filed this at https://bugs.launchpad.net/zope2/+bug/147201 as well)
For a Plone site I am using a separate ZODB for the catalog so I can tune it a bit. I do this using the standard method in zope.conf:
<zodb_db catalog> mount-point /plone.org/portal_catalog container-class Products.CMFPlone.CatalogTool.CatalogTool <zeoclient> server 127.0.0.1:5010 storage 2 name catalogstorage var /srv/plone.org/buildout/parts/instance1/var </zeoclient> </zodb_db>
This works perfect in a normal Zope2 instance. But when I use buildout CMFPlone is stored in a separate directory that is listed in a products line in zope.conf:
instancehome /srv/plone.org/buildout/parts/instance1 products /srv/plone.org/buildout/products products /srv/plone.org/buildout/parts/productdistros products /srv/plone.org/buildout/parts/plone
the result is that Zope no longer starts:
Error: The object named by "Products.CMFPlone.CatalogTool.CatalogTool" could not be imported Traceback (most recent call last): File "/srv/plone.org/buildout/parts/zope2/lib/python/Zope2/Startup/datatypes.py", line 94, in importable_name package = __import__(n, g, g, component) ImportError: No module named CMFPlone
IIRC, patching Zope2/Startup/zopeschema.xml to use "string" as the datatype for "container-class" instead of ".python_dotted_path" fixes the problem. (To find out where container-type is used in Python code, grep for "container_type".) Daniel