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
Touch related resources #7
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good over all, left a few questions and suggestions
src/main/java/org/fcrepo/storage/ocfl/DefaultOcflObjectSession.java
Outdated
Show resolved
Hide resolved
// Touch the AG for non-ACL AG part updates | ||
if (isArchivalGroup | ||
&& !Objects.equals(rootResourceId(), headers.getId()) | ||
&& !InteractionModel.ACL.getUri().equals(headers.getInteractionModel())) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACLs are persisted in the OCFL with the rest of the objects, what is the reason to exclude ACL updates from touching the root object here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the way that Fedora currently works. The reason is that ACLs are never versioned from Fedora's perspective. That is to say, when accessing a memento, the most recent ACL is always applied.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, okay, it will still be versioned but that's invisible from fedora perspective I guess, so its probably reasonable for it to not be reflected on the versions of the AG. We don't need to be able to surface the historic version of acls as they existed at a particular version of the AG, so unless versioning of ACLs from the fedora API perspective becomes a use case, then this should be fine.
src/test/java/org/fcrepo/storage/ocfl/DefaultOcflObjectSessionTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/fcrepo/storage/ocfl/DefaultOcflObjectSessionTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/fcrepo/storage/ocfl/DefaultOcflObjectSessionTest.java
Outdated
Show resolved
Hide resolved
src/test/java/org/fcrepo/storage/ocfl/DefaultOcflObjectSessionTest.java
Outdated
Show resolved
Hide resolved
src/main/java/org/fcrepo/storage/ocfl/DefaultOcflObjectSession.java
Outdated
Show resolved
Hide resolved
src/test/java/org/fcrepo/storage/ocfl/DefaultOcflObjectSessionTest.java
Outdated
Show resolved
Hide resolved
Co-authored-by: Ben Pennell <ben.pennell@gmail.com>
Jira: https://jira.lyrasis.org/browse/FCREPO-3404
What does this PR do?
Interested Parties
@fcrepo4/committers