Nodes are versioned.
Each version is identified by a version number. These start at 1 and increase sequentially.
Each node has a frozen version number. Nodes with a version number of this or below are considered final, and can not be updated.
There may be a maximum of one version with a version number greater than the frozen version number. This is known as the draft version.
There are three services which are used for versioning:
- Freeze Node. This freezes a draft node version, or all nodes in a package, i.e. increments the frozen version number of the node. It also freezes all draft nodes versions on which the node version depends, i.e. its node type and target, and all their node types and targets, and so on. It has an option to examine the impacts of the freeze before carrying it out. It will not allow the freeze if any of the draft node versions on which the node depends can not be administered by the user.
- Copy Node. This is a general service for copying nodes. It can be used to copy a frozen node version to create a new draft node version.
- Update Node Versions. This searches through a package to find and update latest node versions that are not consistent.
The services are called from the version manager within the UI.