Previously yuppie wrote:
> Wichert Akkerman wrote:
> >Previously yuppie wrote:
> >>Wichert Akkerman wrote:
> >>>Previously yuppie wrote:
> >>>>- The exports created by the new components handler are still flawed,
> >>>>ISiteRoot and placeless components are not exported correctly.
> >>>I'm quite sure I fixed that: I was able to export the components and
> >>>import them again. Has that been broken since?
> >>Don't know since when these things are broken, but in the latest code
> >>there are these 2 bugs:
> >>1.) Exporting the ISiteRoot utility, 'object' should be empty. But I get
> >>this instead:
> >> <utility interface="Products.CMFCore.interfaces._content.ISiteRoot"
> >> object="SITE_ID"/>
> >>2.) By placeless components I mean something like this:
> >> <utility component="foo.bar" interface="foo.IBar"/>
> >>The import works fine, but the export looks like this:
> >> <utility factory="foo.Bar" interface="foo.IBar"/>
> Attached is a diff for test_components.py. Unfortunately the
> AssertionErrors are a bit cryptic, but they show that the factory is
> exported instead of the component.
I'll take a look at those.
> >I get something else: if I import this:
> > <utility interface="foo.IBar" factory="foo.bar"/>
> >the export looks like this:
> > <utility interface="foo.IBar" object=""/>
> That seems to be a similar but different bug.
> >this is caused by the zope.component.registerUtility not storing the
> >factory method but the return value from the factory, so we no longer
> >have the factory method available when we export.
> >The only way to fix that appears to be for us to keep a a registry of
> >factory methods in the setup tool. That may be too big of a change
> >in a minor release though.
> Not sure if your issue is a problem in real life. AFAICS this only
> happens if you use a factory that is meant for ZODB objects. In that
> case you should register an object.
Ah, that makes sense I guess. My test-case was this:
from Products.MailHost.MailHost import MailHost
and a MailHost is indeed a ZODB object.
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
See http://collector.zope.org/CMF for bug reports and feature requests