home contents changes options help subscribe edit (external edit)

Transactional Undo

Transactional undo is a non-destructive undo, which can itself be undone. The act of undoing actually writes new object revisions, so it must occur within a transaction. This requires an addition to the storage API, so older storages may or may not support it (FileStorage in fact has been augmented to support transactional undo).

With transactional undo, you can always undo the last transaction that was performed. You can also undo a transaction that reverts an object revision to the same state it would have been in if you had undone the last transaction. This determination is currently made in a simplistic way that should still cover the majority of uses.  Transactional undo will play nicely with application level ConflictResolution?, allowing transactions to be undone even when the object revision states would differ, if the application can resolve the differences in the target object revisions.



subject:
  ( 11 subscribers )