2009/2/28 Jens W. Klein <j...@bluedynamics.com>:
> Am Sat, 28 Feb 2009 00:28:38 +0300 schrieb Dan Korostelev:
>> It assumes that the root folder has its own component registry, but the
>> rootFolder factory doesn't create one, so it returns none as the next
>> site manager. So, you need to call setSiteManager for the root folder
>> after creating it.
> >>> from site import MySite
> >>> mysite = MySite()
> >>> from zope.app.folder import rootFolder
> >>> root = rootFolder()
> >>> root.setSiteManager(LocalSiteManager(root))
> >>> root[u'mysite'] = mysite
> works fine!
>> However, I guess this case should be handled by
>> zope.site's event handler. I'll take a look at that tomorrow.
> changing the assignment in
> zope.site.site.changeSiteConfigurationAfterMove (line 254) to
> site.getSiteManager().__bases__ = (next, ) if next else ()
> should do it.
Well, it should be set to global site manager instead of empty tuple,
but it's basically like that :) I've fixed that in the trunk.
Thanks for the report!
WBR, Dan Korostelev
Zope3-users mailing list