PSC, Poi, plone.app.layout.navigation, and BTrees
r.ritz at biologie.hu-berlin.de
Mon Oct 22 13:14:37 UTC 2007
when trying out PloneSoftwareCenter (trunk) and Poi
(the plone3_support branch) on Plone 3 (3.0.2 to be precise)
I'm running in the following issue:
After adding a tracker to a PSC project I get
Exception Type AttributeError
Exception Value 'NoneType' object has no attribute 'has_key'
Traceback (innermost last):
* Module ZPublisher.Publish, line 110, in publish
* Module ZPublisher.BaseRequest, line 421, in traverse
* Module Products.CMFCore.DynamicType, line 139, in
* Module Products.CMFDynamicViewFTI.fti, line 221, in queryMethodID
* Module Products.CMFDynamicViewFTI.fti, line 188, in defaultView
* Module Products.CMFPlone.PloneTool, line 817, in browserDefault
* Module Products.CMFPlone.PloneTool, line 650, in getDefaultPage
* Module Products.CMFPlone.utils, line 104, in getDefaultPage
* Module plone.app.layout.navigation.defaultpage, line 66, in
* Module Products.BTreeFolder2.BTreeFolder2, line 335, in has_key
AttributeError: 'NoneType' object has no attribute 'has_key'
While I'm able to come up with a work-around by suppressing the
extra handling of BTree folders in
which isn't strictly necessary because BTree folders support the
OFS ObjectManager API as well (why was this added in the first place?
performance reasons?) I still don't understand what's going on here.
Digging into this a bit deeper I could only imagine the folder's
'_tree' attribute being still None. That would indicate that the
folder wasn't fully initialized (yet?) because otherwise this should
be an OOBTree instance.
Now, before debugging this further, I'd like to know whether
there are others tinkering around with PSC/Poi on Plone 3
that could confirm this. Or maybe this surfaces in other
contexts as well?
Furthermore, I'm not sure what's really causing the problem
in the first place and therefore where this should be fixed.
Currently I tend to think plone.app.layout.navigation.defaultpage
isn't clever enough but I might be wrong.
More information about the Product-Developers