[Zope-CMF] [headsup] 2.1 branch and trunk unstable

Wichert Akkerman wichert at wiggy.net
Wed Jun 27 04:39:39 EDT 2007

Previously Wichert Akkerman wrote:
> Previously yuppie wrote:
> > Hi all!
> > 
> > 
> > We are currently trying to resolve the five.localsitemanager issues that 
> > block the next CMF 2.1 beta release.
> I can create a Plone site and do some basic stuff again, but creating
> new content fails at the moment:
> 2007-06-26 23:58:50 ERROR Zope.SiteErrorLog http://localhost:8080/xx/portal_factory/Folder/folder.2007-06-26.1248604786/atct_edit
> Traceback (innermost last):
>   Module ZPublisher.Publish, line 119, in publish
>   Module ZPublisher.mapply, line 88, in mapply
>   Module ZPublisher.Publish, line 42, in call_object
>   Module Products.CMFPlone.FactoryTool, line 368, in __call__
>   Module Products.CMFPlone.FactoryTool, line 152, in __getitem__
>   Module Products.CMFPlone.PloneFolder, line 348, in invokeFactory
>   Module Products.CMFCore.TypesTool, line 718, in constructContent
>   Module Products.CMFCore.TypesTool, line 280, in constructInstance
>   Module Products.CMFCore.TypesTool, line 292, in _finishConstruction
>   Module Products.CMFCore.CMFCatalogAware, line 148, in notifyWorkflowCreated
>   Module Products.CMFCore.WorkflowTool, line 293, in notifyCreated
>   Module Products.CMFCore.WorkflowTool, line 643, in _reindexWorkflowVariables
>   Module Products.Archetypes.CatalogMultiplex, line 65, in reindexObjectSecurity
>   Module Products.ZCatalog.CatalogBrains, line 52, in _unrestrictedGetObject
>   Module OFS.Traversable, line 259, in unrestrictedTraverse
>    - __traceback_info__: (['folder.2007-06-26.1248604786'], 'Folder')
> AttributeError: REQUEST
> I don't have time to look into this further at the moment; a quick peek
> shows that the catalog brain does not have a RequestContainer in its
> acquisition path:
> (Pdb) p brain.aq_chain
> [<Products.ZCatalog.Catalog.mybrains object at 0x739fd20>, <CatalogTool at /xx/portal_catalog>, <PloneSite at /xx>, <Application at >]

I tracked this down: the problem was that the Archetypes tool was
returned as a utility, which means it does not have a RequestContainer
in its acquisition chain. When the Archetypes tool was than asked to
return a list of catalogs to use for indexing an object it returns those
catalogs but since its acquisition context was used the found catalogs
did not have a RequestContainer in their acquisition chain either.

So it seems that we can't rely on catalog being used, or triggering any
code that may cause a catalog update using events or another mechanism,
from a utility.


Wichert Akkerman <wichert at wiggy.net>    It is simple to make things.
http://www.wiggy.net/                   It is hard to make things simple.

More information about the Zope-CMF mailing list