CARMA Version

The RAM provides the ability to track all available versions of CARMA members through the use of a specific metadata key: carma.version. By providing the carma.version key in the member info list, CARMA can provide specific functionality for versioned resources. For example, CARMA members that support version tracking may differ from members that do not support version tracking. The actions available on version enabled members depend on the SCM the member originates from as well as the RAM used to connect to the SCM. It is up to the RAM developer to decide which actions to enable such as making versions editable, read-only, or providing access to past versions. When CARMA performs functions on members that have been version enabled, by default, the functions will always reference the most recent version of a member unless otherwise specified.

The use of the member info key does not uniquely identify the CARMA member. Each versioned CARMA member must have a unique member ID to indicate which version is being acted upon specifically. For example, a CARMA member with ID “member1” has 2 versions – version 1 and version 2. The member versions can be uniquely identified by appending a version number to the ID. See the example in Table 1. The RAM must be able to uniquely identify the member version based on the ID in order to provide functionality to support versioned members – such as checkin, extractMember, performAction, etc.

Table 1. CARMA member versioning example.
Member Version Example Member ID
Version 1 member1_v1
Version 1.1 member1_v1.1
Version 2 member1_v2

For detailed information on calling version lists for CARMA members, refer to the section getVersionList.