[Zope-dev] Re: products not found when initializing zodb

Daniel Nouri daniel.nouri at gmail.com
Mon Oct 1 09:42:27 EDT 2007


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



More information about the Zope-Dev mailing list