Item IDs in Cirrus
There are two types of IDs: ExternalID and CirrusID - these should not be confused. This article wil focus mainly on the CirrusID.
- The CirrusID, a unique and user friendly ID for each question
- The External ID: an optional externally generated ID
The 'CirrusID' is an autogenerated, unique and human-friendly ID for your Items. This is comprised of a customisable prefix based on the collection it is in, a number and the version of the Item. Currently the CirrusID shows in the breadcrumb when editing an Item.
Example and format of the CirrusID
Examples: HVCA-445.1, HVCA-445.2, AR-13.4, AR-14.1, AR-15.3
The CirrusID format is: *CollectionPrefix-CollectionCounter.ItemRevision*. Based on this format it is generated by Cirrus, which means the CirrusID cannot be manually edited by user. It is a searchable (readonly) value for each Item and must be unique across your environment.
The CirrusID is generated when user clicks "Save" in the question editor for the first time or when an Item is imported or copied. Until that moment there is no ID as there is no real question has been created yet
The CirrusID prefix
The CirrusID prefix is based upon a custom value entered by the collection author:
- It will be prepended to all IDs
- It must be unique across all collections of your environment
- It is limited to uppercase latin letters [A-Z] and digits [0-9] and can start with digit.
- Minimal length: 1 maximum length: 10
- Re-generated when user changes Collection's prefix
- As this is editable, collection authors are freely able to change the prefix.
The Cirrus ID Counter
The Cirrus ID Counter will start from 1 and incremented by 1 each time when new item in this collection is created. It cannot be reset and even if an item get deleted the next generated item will still have incremented ID.
The CirrusID revision number
- Different for each revision and is incremented by 1
- Sowiso questions and sections pages don't have revisions - show revision 1 for them
Items in Cirrus can have an optional External ID. This optional ID is generated by an external system and has a free format, which is not controlled via Cirrus. Showing this is an environment setting.
Showing the External ID is a global, environment specific setting which can be enabled by Cirrus at the customer's request. Furthermore:
- There is a check for the uniqueness of the External ID, but collisions are allowed in Cirrus.
- The External ID is editable by authors.