Versioning User Interface Needs
Prepared by: Repository Management FRG
Date: March 2018
Status: Approved
Overview
The charter for the Repository Management Functional Requirements Group includes the following deliverable:
… determine staff needs around managing versions of content (e.g. metadata versioning; file versioning; whole object versioning; object restoration)
DLP’s implementation of the Samvera framework will require custom development to integrate preservation requirements identified by the Digital Preservation FRG into our Hyrax-based repository. This will involve building an object-level versioning solution which does not exist in the Hyrax software. Hyrax currently provides limited versioning capabilities at the file level only. Object versioning is being discussed in the Oxford Common File System initiative within the Fedora and Samvera communities. To address the charter deliverable, the Management FRG determined to focus on core needs expressed in the form of user stories. These user stories can be further refined in implementation sprints in tandem with user interface mockups.
Work Process
The group reviewed recently approved work from the Digital Collections Steering Committee Policy Task Force in its Retention Policy:
- ... previous versions of the digital object will be retained within the repository for administrative and preservation purposes, but only the most recent version of the digital object will be accessible to users of the repository
- A version is created when digital objects’ primary or secondary characteristics are modified.
- Versioning of a digital object may be performed by a designated digital content steward or authorized depositor. The reasons for versioning the object should be captured by Emory’s preservation repository within the metadata of the digital object itself.
Additional information was reviewed from the work of the Digital Preservation FRG’s Preservation Events and Workflows artifact:
- … Ideally there will be a single Version Workflow that will allow users to pick why they are creating a new version and/or provide notes on the new version. The Version Workflow should only be performed on those objects that have been fully ingested by the repository (i.e. have completed the Ingestion Workflow)
The Management FRG also reviewed the Preservation Events and Workflows Metadata produced by the Metadata Implementation Working Group. This metadata will contain detailed information about the versioning and audit trail information that staff will see in addition to other user interface presentations of version history.
Other examples of versioning interface conventions were collected from Hyrax (which includes a basic file-level versioning interface) and other products such as the Confluence wiki software.
Representative User Stories
The following user stories were identified to represent primary needs in developing a versioning interface, both for viewing and editing versions of objects in preservation. Stories scoped to “Library staff users” include multiple Repository Management User Profiles (Collection Manager and Preservation Curator in particular) with the exception of Self Depositor.
- As a repository end user, I want to see a summary list of an object’s versions with dates, times, and the user who modified the object, so that I know what has been changed about the object and can request more detailed information if needed.
- As a Library staff user, I want to see a list of an object's versions with dates, times, and the name of the user or system that modified the object, so that I can either view or request a copy of a selected version to investigate it.
- As a Library staff user, I want to request restoration of a specific version of an object based on its version number or date and time, so that I can revert unwanted changes to the object.
- As a Library staff user, I want to see a detailed preservation workflow and events log that provides information about any human or system-initiated events that have occurred on the object, so that I can troubleshoot unwanted behavior with an object.
- As a Library staff user, I want to see a detailed preservation workflow and events log that provides information about any human or system-initiated events that have occurred on the object, so that I know routine preservation checks have occurred on an object as expected.
- As a Repository Administrator, I want to restrict the view of preservation versioning interfaces to appropriate Library staff with curation expertise, so that untrained users don’t initiate formal object versioning without appropriate expertise.
- As a Library staff user, when I go to edit an object or one of its component files, I want to flag only certain modification activities that I am performing as significant versions, so that I don't have do a lot of accounting for minimal descriptive metadata changes such as fixing typos or punctuation, and so that I don't add a lot of extraneous versions to the preservation audit trail.
- As a Library staff user, I want to add notes and rights-related information to significant preservation activities, so that there is more human-readable context to why the actions have been being performed.
- As a Library staff user, I would like to be able to verify that that preservation activities are being carried out on all versions (and their component files) of an object stored within the repository, so that I can demonstrate thorough preservation stewardship.