Alec Mitchell wrote at 2004-1-9 15:52 -0800:
I hav a python product that I'm working on which contains a content class which uses OOBtrees and OOSets internally for storing structured data. The problem is that changes to this object which involve those structures do not seem to be undoable (i.e. no transaction shows up in the manage_undo or manage_change_history_page of the instance or its parent). I've tried explicity using get_transaction() to commit and annotate the transaction, and the note seems to end up in the Data.fs, but the transaction still does not appear. Are those datatypes not subject to transactions in the usual manner?
Not that I know of. Or stricter: I am quite sure that they use transactions in the usual manner. However, Zope's "undo" is easily fooled. A transaction is associated with "PUBLISHED.getPhysicalPath()", independent of which objects is modifies. This may imply that you do not see an "undo" record at the place where you expect it. However, you should see it at the "Root Folder" level. -- Dieter