Undo, redo, audit trail

  • Every self-respecting interactive application should support undo and redo.
  • For some reason the Web hasn't caught this religion yet, but as applications become more complex, the need for undo and redo will become stronger and stronger.
  • All undo and redo need is a log containing "before" and "after" information that describes a change, along with information about how to transform the system in both directions.
  • An undo/redo log is very similar to an operation log needed for recovery (the operation long has the "redo" part but not the "undo" part).
  • Is it possible to do logging in a way that supports undo and redo as well as recovery?
  • Most enterprise-class systems also need an audit mechanism to keep track of all changes and identify who made them. This is also very similar to an operation log.
  • Could we use our operation log to provide an audit trail also?