Versioning of QC Items
The QC Items are versioned; every change creates a new version.
When an Item get updated, any older (published) versions stay available, too. That way you can still refer to older versions in your test plans.
~Semantic Versioning
We use a three number versioning system, very similar to that defined for Semantic Versioning:
- MAJOR version number <- increased whenever a new version of the QC Items is published with one or more substantial changes.
- MINOR version number <- increased whenever a new version of the QC Item is published with one or more 'informative' changes.
- PATCH version number <- increased for a new draft or when the status of the QC Item changes during the review process (e.g. moving from 'drafting' to 'group review').
When the MAJOR number is increased, the MINOR and PATCH numbers are set to 0.
When the MINOR number is increased, the PATCH number is set to 0.
Examples
-
v0.0.1 - v0.0.122 <- drafting cycling, including Tech Review and expert Group Review
-
v1.0 <- first release
-
v1.0.1 to v.1.0.2 <- adding informative examples and Tech Review
-
v1.1 <- examples added and provided publicly (does not fundamentally change the test, but is an update)
-
V1.1.1 to v1.1.3939 <- drafting of the next version, including Tech Review & expert Group Review
-
v2.0 <- new input parameters added
2-level vs. 3-level version numbers
Originally only MAJOR and MINOR version numbers were used and any new publication led to an increase in the MAJOR version number.
For public users, the PATCH numbers are irrelevant (as only published and withdrawn Items are visible to them. These versions are uniquely identified by their MAJOR and MINOR version numbers). Version numbers may therefore be shown without the PATCH number. Example:
https://qc.ebu.io/items/0001W/versions/5-0/
Note that in this case the following link wil work, as well:
https://qc.ebu.io/items/0001W/versions/5-0-0/
Automatic versioning
QC.EBU.IO automatically assigns the next version number:
- If the next status is 'published' or 'withdrawn', the user can specify if the MAJOR or MINOR version number should be increased by 1.
- The PATCH number will always be set to 0.
- If the MAJOR number is increased, the MINOR number will also be set to 0.
- For all other cases (typically 'drafting'), only the PATCH number is increased by one.
Manual override
The QC Item edit view allows manual setting of the next version number by administrators:
- Any of the MAJOR, MINOR and PATCH numbers can be set to a specific value.
- Numbers that are not set, will be set as indicated in the GUI.
Be careful in setting the version number to a lower value than the current version (subsequent increments may lead to conflicts!).
Admin deletion
Admins can also delete (versions of) QC Items, e.g. for testing purposes or to revert an erronuous publication. The system will check if the QC Item (version) is in use in any Template. It will NOT allow deletion of an Item version if the version is referred to explicitly in a Template (bij version ID instead of 'latest'). The reasoning is that Templates that refer to 'latest' are not strict about the specific version available, but those that refer by version are.