[VIVO-1545] Tracking of user changes to the content store #81
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
VIVO-1545: (please link to issue)
What does this pull request do?
The pull request adds a module that enables tracking of changes being made in the triple store by users through the Vitro user interface.
Changes are recorded in a triple store, with the users ID (URI), the time, and the changes that have been made.
A user interface (/audit) is also provided that, when logged in, displays the changes that have been made by that user.
What's new?
Adds a new AuditModule application module
TDBAuditModule can be configured / enabled via the applicationSetup.n3
A servlet request listener and RDFService change listener work in tandem to capture any changes made to the content store, and record those changes in a dedicated TDB store.
How should this be tested?
An unmodified applicationSetup.n3 should result in no changes to the application behaviour / home directory.
Adding the TDBAuditModule configuration to applicationSetup.n3 will:
Everything else about the application should operate normally - every request will be going through the servlet request listener, but it will not be doing any work when there is no logged in user / changes made to the content store.
Additional Notes:
As it is adding a listener to the RDFService, this change will only work without side effects when the (already merged) change to do a stream reset inside the loop is present:
#79
Interested parties
@VIVO-project/vivo-committers