Entry versioning system
- Author: Henry Wetton
- Published: 26 June 2024, 10:50 a.m.
- Tags:
As described in our entry creation guide, draft entries can be "committed" to save checkpoints of their data for review before publication. This is implemented via a versioning system which allows tracking an entry's progress prior to publication, as can be seen on an entry's "Properties" page under "Versions". This guide explains the workings of this system.
Entry status
Draft
This is the starting point for all new entries. Drafts are fully editable (with the exception of their molecular composition and structure type, due to technical constraints). They are not listed publically and are only accessible to their creator. They can also not be directly published, but must be "committed" first.
Committed draft
Once a draft has been committed, it can no longer be edited, however it is not yet publicly visible. Its "Properties" page provides a URL containing a token which grants access to users other than its owner. This aims to allow review of the entry before publication. If changes become necessary, the entry can be "cloned" (see below).
Public entry
After publication, entries are accessible to all users and can be found via NMRprime's search function. All non-public previous versions are hidden (except for the entry's owner). If a public entry is found to contain inaccuracies, it can also be "cloned" to an editable draft. Once this new draft is published, a deprecation will be added to the original entry with a link to the updated version.
Removed entry
After deletion, an entry's status is changed so that it is neither editable nor accessible to anybody, and it is removed from the versioning system. For technical reasons, a record of the entry's data is retained within the database after this, however it can generally not be viewed or restored.
Retracted entry
Public entries cannot be removed, but can be retracted. Retracted entries are removed from the "recent entries" list, but are still shown in their owner's entry list, the entry versioning system and in search results. They can also still be accessed freely via their NMRprime ID. The string "RETRACTED:" is prepended to their titles and a notice about their status is shown on all related pages.
Versioning
The "cloning" functionality forms the basis of NMRprime's versioning system: whenever an entry is cloned, it retains a link to its original version. This forms a "chain" of linked entry versions, showing an entry's progress toward publication. To prevent complex interdependencies, the following restrictions have been placed upon the versioning system:
- Each entry version can only be "cloned" once (i.e. no "branched" chains can be created)
- Only committed drafts or published entries can be "cloned"
- Deleted entries are removed entirely from the versioning system