[Zope] Undo machinery and OOBtrees

Dieter Maurer dieter at handshake.de
Sat Jan 10 15:22:03 EST 2004


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



More information about the Zope mailing list