Notre Dame Requirements and Use Cases

Received email from Jeremy with details on how Notre Dame implemented soft delete.

Notre Dame implemented a Soft Delete via a two step process. In Fedora each object has a state. The meaning is left up to the implementation. I believe the states are "I"nactive, "A"ctive, and "D"eleted.

First, Don spent quite a bit of time setting up the XACML policies to prevent access to any Deleted objects (though we do have an option for a Reaper user to see everything). The gory details are here: https://github.com/ndlib/hydra-jetty/tree/xacml-updates-for-curate-with-solr-updates/fedora/default/data/fedora-xacml-policies/repository-policies/

Second, Jeremy added a Rubydora and ActiveFedora monkey patch to apply soft deletes whenever a delete is issued via Rubydora and therefore ActiveFedora. https://github.com/ndlib/curate_nd/blob/master/config/initializers/active_fedora_monkey_patch.rb Note a document deleted is removed from SOLR but not from Fedora.