psu-libraries / scholarsphere-3

A web application for ingest, curation, search, and display of digital assets. Powered by Hydra technologies (Rails, Hydra-head, Blacklight, Solr, Fedora Commons, etc.)
Apache License 2.0
78 stars 24 forks source link

Versioning Works #1623

Closed srerickson closed 4 years ago

srerickson commented 4 years ago

This is a placeholder for discussion of Work versioning in ScholarSphere 4. Generally, we need to define the parts of a Work that are versioned (i.e. changing them constitutes a new version) and the parts that are not. The "parts" here include things like file contents, filenames, and metadata.

A closely related but potentially distinct concern is DOI versioning. The approach to Work/DOI versioning we adopt should correspond as much as possible to common patterns for Work/DOI versioning used by other repositories—to the extent common patterns exist. Following Zenodo's pattern, for example, a Work with a DOI generated by ScholarSphere gets a new DOI for each version. (Note that not all ScholarSphere Works have DOIs and not all Work DOIs in ScholarSphere were generated/managed by the system).

Zenodo's versioning pattern is as follows:

Dryad's versioning pattern is as follows [link]:

There are significant differences between these approaches:

There is at least one important similarity. In both cases, a work's metadata is linked to the work through a version. This means that metadata are versioned in a broad sense (metadata can change between versions) but not necessarily in a narrow sense because, at least in the case of Zenodo, a change in metadata alone does not constitute a new version.

Questions we need to address:

cynhudson commented 4 years ago

What are other institutions doing?

awead commented 4 years ago

Capturing a bit of discussion @srerickson and I had in Slack: From a modeling perspective, the metadata will be stored with each version of the work. So each version's database record has its own instance of metadata. However, changing that metadata can be controlled any way we see fit. So it's possible under certain circumstances to have a change in a work's metadata require a new version, i.e. if it's published. Alternatively, a different set of circumstances would allow a work's metadata to be edited directly without the need for a new version.

srerickson commented 4 years ago

Figshare's versioning approach:

Provided it is a public figshare item, the following actions will trigger versioning when saving publicly:

    Modifying the title 
    Add/edit/remove author/s 
    Adding new files 
    Removing files 
    Replacing files 
    Removing confidentiality from files 
    Removing the metadata only flag and uploading files 
    Replacing the link associated with a linked item 
srerickson commented 4 years ago

Closing this issue and moving discussion here.