We were thinking of improving item versioning. Our aim was to:
- provide a persistent Handle for each item version
- provide a persistent Handle that references always the most recent version
While the current DSpace Handle versioning scheme allows (1), it does not provide (2). Basically our idea is the scheme of how arXiv.org provides persistent item references. Our recommendation is as follows:
- each original item version's handle (first version) should also have a version number, e.g. 123456789/1.1 (this is a change in behavior as currently, the first version never gets a suffix of .1, but can be switched off to retain original behavior, see below at configuration)
- for each additional item version, the Handle's version number should be incremented by one which means the recent version would have the biggest version number. (this is how the versioning is working currently)
- if we reference an item with its handle that does not reference a version suffix, then check if that handle literally exists, and
- if it exists, it should resolve to the particular DSpace object (this is to retain backward compatibility)
- if it does not exist, it should resolve to the most recent version then the most recent version
Configuration To 'turn on' this feature an option named initialVersionSuffix should be added to the dspace.cfg or local.cfg config. If this option is missing or if it has an empty value then the item versioning acts like before. However, if it has a string of ".1" then the Handle of the very first version of the item will get a version suffix. We have already implemented the changes for this feature on our development server running DSpace 6.3 to check our concept, and we are working on providing a clean and concise pull request. We are excited about your comments regarding this improvement and if you are willing to accept it to DSpace 6.x and 7.0 versions. Example: The version list of an item in XMLUI having three versions (one initial and two more). Version 1, 2 and 3 can be directly referenced by Handle ending with .1 , .2 and .3, respectively, while the handle DEV-DO-NOT-USE-10890/16143 without version suffix resolve currently to Version 3, because that is the most recent version. |