[Zope-Annce] [Ann] HCFileStorage: History controllable FileStorage

Dieter Maurer dieter@handshake.de
Sun, 30 Mar 2003 19:00:23 +0200

ZODB's FileStorage supports interesting information about
modifications of the objects it maintains. The information includes
when objects were changed, how they were changed and by whom they were
changed. It is possible to revert to an old state.

However, FileStorage provides only limited control for the management
of this historical information. Packing deletes all non-current object
versions before the specified pack time and effectively eliminates
historical information before the pack time.

HCFileStorage provides better control in that it allows the definition
of history categories. A history category has a name, consists of a
set of base classes and has an associated default retension time. When
an object version is about to be deleted by packing, it is checked
whether the object belongs to one of the defined history
categories. If it does, it is only deleted when it is older than the
retension time. An object belongs to the first history category such
that it is an instance of one of the categories classes.

The only differences between HCFileStorage and FileStorage lie in the
constructor and packing. Otherwise, HCFileStorage is identical to