2.5.1. Versioning concept
Draft and Released versions
A product version is either in state "Draft" or "Released". As long as the state is "Draft", the version can be edited. As soon as the state is "Released", the content is frozen, i.e. can no longer be changed.
When a new product is created, a single version of this product exists which has by default the version-ID "Latest". The version-ID identifies a version of a product. The version-ID "Latest" is reserved for the most current draft version, i.e. the version with the most up to date content. When the state of the latest version is set to "Released", then the reserved version-ID "Latest" has to be replaced by an official version identifier, e.g. "1.0" (the first character of a version-ID has to be a letter or digit, for the remaining characters additionally the dash character, the underscore character and the dot character are allowed). Version identifiers are ordered, i.e. each version-ID is either equal to or higher than or lower than another version-ID. The ordering is based on the ordering of the ASCII character codes. Version-IDs are case insensitive, e.g. the version-ID "1a" denotes the same version than "1A". The version-ID "Latest" is by definition higher than all other version-IDs. Following list gives some examples of valid version-IDs in the correct order from lowest to highest:
Note: As long as a version has the state "Draft", the version-ID can be changed. As soon as the version state is "Released", the version-ID is fixed and can no longer be changed.
As noted above, a version in state "Released" cannot be edited. Nevertheless, it is possible to create a new product version which is derived from a released version. For the derived version a new version-ID must be set, which has to be higher than the version-ID of the version it is derived from. Following illustration gives an example of a version-tree that could emerge by deriving versions:
Figure 2.5.1. Example of deriving versions
Note: A newly created product version has initially the state "Draft" and is an exact copy of the product version from which it was derived.
As long as no version was derived from a released version, the state of the released version can be set back to "Draft" (unrelease operation).
Versioning of translations
A version always exists for all languages, but different languages of the same product version can have different states (draft/released). Consider the situation that the original language of a product is English and German is defined as translation language. When the English product documentation is released as version "1.0", then the German product documentation version "1.0" is still in draft state. If now, a new draft version "1.1" is created for the English product documentation, then this version "1.1" will not be available for the German language as long as the German version "1.0" is still in draft state. But if you release the German version "1.0", then the German draft version "1.1" will automatically be available (i.e. you don't have to create the version "1.1" for the German translation, because the system assures that the versions of the original and the versions of the translation languages are alined).