On Feb 23, 8:10 am, yuppie <[EMAIL PROTECTED]> wrote:
> I propose to hardcode PortalObjectBase as IObjectManagerSite. AFAICS
> getSiteManager() could create a component registry on the fly if
> necessary. So for that part we would neither need the new code in
> importVarious nor migration code.

While I'm typically against what is obviously an accessor method doing
any sort of writing to the zodb I would let it slide here for the sake
of avoiding a migration step.

But while this will ensure the cmf site is an ISite, there is still a
step missing.  There is no zpublisher hook registered to fire
traversal events when the site is traversed (which lets
zope.component.getUtility be aware of the closest site even when not
specifying a context).

See Products.Five.component.enableSite for an example of what needs to
be done here.  The five.localsitemanager.make_objectmanager_site call
invokes enableSite under the hood to setup this zpublisher hook.

Maybe someone has a neat idea for setting this up too? (I don't, other
then by a migration step)  Or maybe there is something GenericSetup
could do to setup a bit of migration?

- Rocky

Zope-CMF maillist  -  Zope-CMF@lists.zope.org

See http://collector.zope.org/CMF for bug reports and feature requests

Reply via email to