Hi there I probably missed some point about how this Component Architecture / ZCML config stuff is supposed to work with zope 2.10+ (actually Zope 2.10.5), ,so any hint or pointer welcome...
Here's my problem: I use a third-part product (ContentMirror) that defines some interfaces and their implementations, and register the adapters in it's configure.zcml. It also defines a couple zcml directives, with actions that call component.getMultiAdapter to retrieve the implementation for these interfaces. I'd like to provide my own implementation for one of these interfaces. So I wrote the implementation, added an <include> of the ContentMirror package in my own configure.zcml, and an overrides.zcml with the registration directive for my own implementation: <configure xmlns="http://namespaces.zope.org/zope"> <!-- use our own PeerFactory implementation instead --> <adapter for="ore.contentmirror.interfaces.IMirrored ore.contentmirror.interfaces.ISchemaTransformer" provides="ore.contentmirror.interfaces.IPeerFactory" factory=".peer.ManagedSchemaPeerFactory" /> </configure> Bad luck, the whole thing then crashes when ContentMirror's own zcml directive are executed - looks like none of the adapter are effectively registred by that time (it of course worked just fine - but with the original IPeerfactory implementation - before I added this override). Here's the traceback I get at startup: 2010-03-23 11:41:41 ERROR Application Couldn't install Five Traceback (most recent call last): File "/home/zope/share/Plone-3.0.6/lib/python/OFS/Application.py", line 786, in install_product initmethod(context) File "/home/zope/share/Plone-3.0.6/lib/python/Products/Five/__init__.py", line 28, in initialize zcml.load_site() File "/home/zope/share/Plone-3.0.6/lib/python/Products/Five/zcml.py", line 53, in load_site _context = xmlconfig.file(file) File "/home/zope/share/Plone-3.0.6/lib/python/zope/configuration/xmlconfig.py", line 581, in file context.execute_actions() File "/home/zope/share/Plone-3.0.6/lib/python/zope/configuration/config.py", line 612, in execute_actions callable(*args, **kw) File "/home/zope/share/Products/ProductsOTHERS/ContentMirror/eggs/ore.contentmirror-0.5.2b2-py2.4.egg/ore/contentmirror/loader.py", line 39, in load peer_class = self.peer( instance, transformer ) File "/home/zope/share/Products/ProductsOTHERS/ContentMirror/eggs/ore.contentmirror-0.5.2b2-py2.4.egg/ore/contentmirror/loader.py", line 51, in peer interfaces.IPeerFactory ) File "/home/zope/share/Plone-3.0.6/lib/python/zope/component/_api.py", line 103, in getMultiAdapter raise ComponentLookupError(objects, interface, name) ConfigurationExecutionError: zope.component.interfaces.ComponentLookupError: ((<ATDocument at transient>, <ore.contentmirror.transform.SchemaTransformer object at 0xb6e028c>), <InterfaceClass ore.contentmirror.interfaces.IPeerFactory>, u'') in: File "/home/zope/share/Products/ProductsOTHERS/ContentMirror/eggs/ore.contentmirror-0.5.2b2-py2.4.egg/ore/contentmirror/content.zcml", line 3.4-3.80 <ore:mirror content="Products.ATContentTypes.content.document.ATDocument" /> I obviously did something wrong - but what ??? TIA -- bruno desthuilliers br...@websiteburo.com _______________________________________________ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )