-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Collapsing OCFL Object Versions #46
Comments
Feedback on Use CasesIn advance of version 2 of the OCFL, we are soliciting feedback on use cases. Please feel free to add your thoughts on this use case via the comments. Polling on Use CasesIn addition to reviewing comments, we are doing an informal poll for each use case that has been tagged as
The poll will remain open through the end of February 2024. |
This use case describes a type of transformation to an OCFL object. My understanding is that the OCFL spec doesn't really concern itself with transformations, but with "objects at rest". I don't see why collapsing versions can't be implemented if needed under v1 (e.g., through a re-ingest process, similar to what's required for purging content) or how v2 might be designed to make this easier. |
Agreed. This use case may inform implementation notes and (ideally) implementation in OCFL libraries. |
I strongly endorse this use case. The design of our repository system predates OCFL. As a result, routine object editing operations can result is a large number of granular, but curatorially-meaningless versions. This needlessly complicates the object's internal structure, increases inventory sizes, and - well - is just an inelegant outcome. Even if the solution is just a formal statement of implementation best practice for collapsing versions, that is important for purposes of getting such practice integrated into well-known OCFL tools and library packages. It is useful if we can all try to converge on doing the same things the same way. |
Prior relevant discussion: OCFL/spec#367 The implementation notes currently discourage this:
https://ocfl.io/1.1/implementation-notes/#version-immutability |
I support this use case too but I am concerned about the change in the following version names. Is that necessary to keep a mandatory gap-less sequence? In that case, this may reveal a weakness in OCFL's reliance on version name semantics to build the object's history. An explicit chain of links in a linked list style would allow for more flexibility (e.g. one may want name a version by UUID, or checksum), and in this case, wouldn't require changing the location of versions not affected by the change. Has this been discussed elsewhere? |
To @pwinckles 's point, if instead of entirely deleting the version folder, a tombstone is left with a reference to the closest valid version, a consumer could be both notified of the deletion and be redirected to a useful resource (if not exactly the same, but as we know, in the real world we do delete things and OCFL should acknowledge that). |
at the time of this comment the vote tallied to +1. we are marking this as in-scope for version 2 because we suspect it will be related to #42 which is already in scope for version 2 of the specification |
2024-09-20 Editors’ discussion: Two distinct scenarios have different solutions:
|
In the case where versions of an OCFL object have been created that are not considered curatorially significant, there are times where it would be useful to have OCFL support in collapsing those versions. For example in the object below, if the versions 3-6 are considered to be one curatorially significant version of the object...
It would be helpful to be able to collapse those versions, such as:
The text was updated successfully, but these errors were encountered: