[Zope-CMF] Conflict between PortalFolder and CMFBTreeFolder

Christian Heimes christian at cheimes.de
Sun Jun 19 19:22:12 EDT 2005


CMF 1.5's implementation of PortalFolder conflicts with CMFBTreeFolder.

CMF 1.4:
class PortalFolder(DynamicType, CMFCatalogAware, Folder)

CMF 1.5:
class PortalFolder(DynamicType, CMFCatalogAware, OrderedFolder)

BTreeFolder2:
class CMFBTreeFolder(BTreeFolder2Base, PortalFolder)

traceback:
   File 
"/opt/zope/instances/plone21z28cmf15/Products/ATContentTypes/content/base.py", 
line 312, in processForm
     self.setId(new_id)
   File "/opt/zope/instances/plone21/Products/Archetypes/BaseObject.py", 
line 231, in setId
     parent.manage_renameObject(
   File 
"/opt/zope/releases/Zope-2_8-branch/lib/python/OFS/OrderSupport.py", 
line 255, in manage_renameObject
     old_position = self.getObjectPosition(id)
   File 
"/opt/zope/releases/Zope-2_8-branch/lib/python/OFS/OrderSupport.py", 
line 222, in getObjectPosition
     return ids.index(id)
AttributeError: 'OOBTreeItems' object has no attribute 'index'


As you can see CMFBTreeFolder doesn't work any more because PortalFolder 
is now subclassed from OrderedFolder. The changes to PortalFolder are 
*not* backward compatible. IMO they should be reverted and an 
OrderedPortalFolder class should be created for people how like to have 
ordered folders in CMF.

Christian



More information about the Zope-CMF mailing list