Currently, the purge datastream operation allows
versions to be purged, but only from a specified
date/time backwards in the version stack. There are
times that it is desirable to purge just one version,
or purge a set of versions within a data range. One
important scenario is to be able to purge the most
recent version of a datastream to support transactional
activities (that may be set up in middleware above
Fedora). If an such a middleware transaction is being
managed, and middleware is required to roll back a
transaction, it is typically necessary to be able to
remove the most recent version of a datastream (given
that that datastream was part of the transaction).
Many other cases can arise where it in important to be
able to remove versions in a date range, for example,
during testing processes, where a bunch of "junk"
datastream versions get inserted in the version stack.
This feature is implemented by some changes to the
Fedora API to accomodate the start/end date range in
the purge operation.