Versioning properties
Several document class properties are important to document versioning. Each document version is either a major version or a minor version and is automatically assigned a major number and a minor number.
Content Platform Engine maintains the following read-only properties related to versioning:
Major version number
A major version is one that
- has been approved as released, or
- was released in the past but has now been superseded by a more recently released version.
Released major versions are typically designed to be available to a wide range of users. Access to superseded major versions is typically more restricted, such as to a select group of authors and reviewers.
Major versions always have a minor number equal to 0. For example, a document with a major version number of 2 and a minor version number of 0, sometimes displayed together with the major number first, as in 2.0, is a major version.
If two-level versioning is used, the major number holds the current major version level of this document version series.
If single level versioning is used, all versions of the version series are major versions. The only exception is that reservations are always given a minor number, which in single-level versioning is therefore always 1. As soon as the reservation is checked in, the minor number goes back to 0 while the major number is incremented by 1.
Minor version number
A minor version is one that has not been approved and released as a major version. The most recently checked in minor version is marked in process. There can be only one in process version in a version series. Older minor versions are marked superseded, and there can be many superseded versions. Access to minor versions is typically restricted to a select group of authors and reviewers. A reservation document (the editable document version created by a check-out) is always a minor document.
A document is a minor version if its minor number is 1 or more (that is, not equal to 0). For example, a document numbered 2.1 has a major version number of 2 and a minor version number of 1 and is therefore a minor version.
If two-level versioning is used, the minor number holds the current minor version level of this document version series. Versions that are major versions (superseded or otherwise) have a minor number of 0. Versions that are minor have some number other than 0 for the minor number.
If single-level versioning is used, the minor number is always equal to 0, with the one exception of the reservation.
Version status
Content Platform Engine provides four versioning states that are automatically applied as a document version series goes through various defined stages. These states are released, in process, reservation, and superseded. Each of these states can be associated with a security template, providing easy control over the permissions granted on the document as it passes into a particular versioning state.
- Released: A major version that is generally made available to all users. Only one version of a document in a version series can be in the released state at a time.
- In process: A checked in minor version, which is typically made available to a restricted set of authors and reviewers. Sometimes referred to as a draft. Only one document in a version series can be in process at a time. When a reservation document gets checked in and becomes the new in process document, the previous in process document becomes superseded.
- Reservation: A document whose content is being edited. A reservation is a full-fledged version and can be saved in the object store indefinitely. Even though you can edit both the properties and content of a reservation, there is nothing unstable about it; it does not act like an unsaved word processing document that is in danger of being lost if it is closed without being explicitly saved to disk. The term reservation is meant to convey that the author who is editing the document has reserved it for personal use. There can never be more than one reservation in a version series, because only the current version can be checked out. Reservations are always minor versions. Users can save the content of the reservation document one or more times before checking it in. Do not confuse reservation with Reserved.
- Superseded: A major or minor version that is no longer the most recent version. A major released version becomes superseded when there is a more recent major released version. A minor becomes superseded when there is a more recent minor in process version. There can be many superseded major and minor versions in a version series.
These version states are actually stored as integers and are sometimes displayed as integers by the administration console and client applications:
- Released = 1
- In Process = 2
- Reservation = 3
- Superseded = 4
The text values ("Released" and so on) are associated with the integers by the Version Status Lookup Custom Object. You can edit this custom object to change the strings to some other value. You can, for example, change Released to Public version or In Process to In Progress.
For information about how security policies can be designed to automatically apply these changes of permissions to versions as they change from state to state, see Security policies.
Current version
The Current Version property defines which version in a version series is the most recent version, other than the reservation. (The reservation cannot be the current version.) The value of this property is used by events, folder references, and other server or client-based processes that act on the latest version.
Reserved
Reserved is a property that is set on the current version when it is checked out. The term Reserved is meant to convey that the current version is no longer available to be checked out. Do not confuse with reservation. When the Reserved property of the current version is set to True, there must also be another version that is the reservation.