OCFL / Use-Cases

A repository to help capture, track, and discuss use cases for OCFL. Issues-only, please.
7 stars 0 forks source link

Deleting a file from all versions of a OCFL object #36

Closed cudevmaxwell closed 4 years ago

cudevmaxwell commented 4 years ago

First off, congratulations to the OCFL editors on the release of v1.0!

Let's imagine a scenario in which a file had to be deleted from all versions of a OCFL object. Would a subsequent version of the OCFL specification support flagging a digest in the manifest as 'deleted' or 'expunged' so that the OCFL object can still be a validated? Is recording the file deletion in the version history of a OCFL object in scope?

I'm inclined to say that the goal of OCFL, as an archival and not an access format, is to maintain the entire history of an object and all associated files. As such, 'scrubbing' a file from an OCFL object should not be in-scope. However, as OCFL is used in more projects, situations mandating the deletion of files will inevitably happen. Tooling around OCFL objects might want to support a operation to delete files from all versions and rebuild the inventory.json files for all versions containing that file.

ahankinson commented 4 years ago

This is captured in this use case: https://github.com/OCFL/Use-Cases/issues/17

You can also check the Implementation Notes where we talk about deleting vs. purging: https://ocfl.io/1.0/implementation-notes/#file-purging

The long-and-short is that purging means ensuring all traces of the file's existence are wiped out, while deleting retains the file, but not in the most recent logical state of the object.

cudevmaxwell commented 4 years ago

Thanks for the info @ahankinson! Closing.