Daniel Rogahn writes:
....
Summary: (when creating a folderish ZClass and cascading base classes) if ZObjectManager isn't subclassed at 1st level, objects can be added to the folderish ZClass instances but they don't show in the manage_main object list. I can explain, why it happens. I think it is a bug, at least a mis-feature. But I cannot change it :-(
"OFS.SimpleItem.Item" provides stupid (!) implementations of "objectItems", "objectIds" and "objectValues" (all return the empty tuple). I do not know, why in hell a non-ObjectManager implements ObjectManager methods. Because it does, you get the behaviour you complain about. "OFS.SimpleItem.Item" is essentially what is called "ZObject" in ZClasses and what you get when the "Include standard Zope object behavior" is checked. When your class (deriving von ZObject) comes before "ZObjectManager", then its stupid "objectItems" method is inherited and not that of "ZObjectManager". This changes, when you switch the inheritance order. The solution: "OFS.SimpleItem.Item" should not define ObjectManager methods. Unfortunately, many "dtml-tree" applications will probably break then. Affected will be "dtml-tree" occurences with "branches=objectValues". Dieter