MixedModeStorage
It is expensive to maintain revisions for each update to each object. A mixed-mode storage would allow different objects to have different revision policies that would allow users to define custom revision policies for objects.
One model to consider is the one use by the Elephant File System (EFS). http://citeseer.nj.nec.com/santry99deciding.html EFS is a filesystem that automatically manages revisions of files. It provides four builtin file retention policies:
- Keep One
does not keep versions of objects
- Keep All
keeps all versions of objects
- Keep Safe
supports a single undo, but does not retain long-term history
- Keep Landmarks
retains a long-term history of landmark versions; uses heuristics to determine which revisions are significant and keeps only those
- htrd (Feb 24, 2003 7:12 am; Comment #1)
- Its not clear how packing relates to the EFS model. Is FileStorage Keep-All (because it never deletes anything without a pack) or Keep-One (because packing normally removes all but the most recent revision)
DirectoryStorage 1.1 has some extra flexibility in this area. Per-class polices can configure:
- keeping all history for a class, even after packing
- keeping an extra n days of history per class