Nikko Wolf wrote at 2005-6-21 15:08 -0600:
I'm trying to develop a filesystem-based Product (here 'ABCD') and unless I remove the "ABCD" folder from my Products directory, I get the following error IN THE MANAGEMENT INTERFACE.
Is it possible to determine what's causing the problem? After multiple restarts, I did a global "Find" in the ZMI and (I think) deleted all objects of type "ABCD Content". But still the problem persists (no pun intended). ... self._cache[oid] = object TypeError: Cache values must be persistent objects.
Looks as if you had changed the class structure: An object that formerly was persistent (when it was stored in the ZODB) now gets a class which is no longer derived from "Persistence". Note that the ZODB identifies the class of an object by "modulepath, classname". You should ensure that the class identified in this way always derives from "Persistence" (and that is exists). To find out what object this is, you catch the error and look at "object.__class__".
... Module ZODB.Connection, line 227, in _persistent_load - __traceback_info__: ('\x00\x00\x00\x00\x00\x009^', ('Products.ABCD.XML_File', 'XML_File')) TypeError: Cache values must be persistent objects.
As we see, catching is not necessary. The traceback is enough ;-) "Products.ABCD.XML_File" lost its "Persistence" inheritance... -- Dieter