...
Create new configurations.
Apply to existing configurations to update or modify them.
Creating a Template Configuration
Creating a template configuration required administrative permissions. The process is described here.
Basic Template
...
Use
After a template is created and enabled it can be used to create new configurations via the “add configuration” add configuration dialog in a unit:
...
Or it can be used to apply it to a existing configuration in the configuration context menu:
...
Template
...
Tailoring
When creating a configuration from a template there are two options after the title for the new configuration was entered and a template configuration was selected.
When clicking “create” create in the template usage dialog all configuration item that exist in the template configuration will be copied into the newly created configuration.
...
As shown in the image above, when tailoring the template usage process, individual configuration items can be excluded. These will then not be copied from the template configuration. For each excluded configuration item a reason must be given.
Template
...
Use Protocol
Template usage is documented in a separate tab on the configuration. There it is possible to see which template was used as well as the reasons for excluding configuration items.
...
Baseline
...
Types
As described here baseline types are basically a label for configuration items. When using a template the baseline types can indicate if a configuration item came from a template or if it was manually added later.
...
In the image shown above the baseline types that are shown with a blue checkmark were present in those configuration items in the template configuration (e.g. Quality gate A, y and X for “Config Item C”). The baseline types shown with a green checkmark were added manually on this configuration (e.g. Quality gate y in “Config item E”)
Template
...
Use and
...
Concept Types
There are three factors that can influence the outcome when applying a template or using a template to create a new configuration:
...
The sections shows how each of these influence the resulting configuration when using or applying a template.
Configuration
...
Type
The type that a configuration will have when it is created by using a template is not determined by the template. It is configured in the type of the parent units concept type by setting the “Associated Configuration Type” property.
...
This configuration concept type decides which property values from the template will be copied to the new configuration. All property types, complex property types and reference types that appear in both the configuration concept type of the template and in the configuration concept type of the new configuration will be copied when the new configuration is created from the template.
“Associated Configuration Item Type” and “Associated Configuration Item Type From Template”
This section talks is about the two properties “Associated Configuration Item Type” and “Associated Configuration Item Type From Template” and . Both mean the properties on the configuration concept type of new configuration that gets created when using a template. Not on the configuration concept type of the template itself
...
The image below illustrates the different scenarios:
...
...
Manually Set the Template Protocol
1. Define Template Properties
Mark Concept Types as Templates:
Set
IsTemplate
totrue
during Concept Type creation.Example: A Unit or Configuration Concept Type becomes a template when
IsTemplate = true
.
Define Associated Configuration Types:
Assign an
Associated Configuration Item Type from Template
to ensure correct Concept Type alignment during configuration creation.
2. Create a New Configuration from a Template
Select a Template:
From the Configuration Area's
associatedTemplates
, choose a valid template (state =TEMPLATE_VALID
).If only one template is available, it is auto-selected.
Choose Protocol Usage:
With Protocol:
Users can exclude specific Configuration Items from the new instance.
Reasons for exclusions must be documented in the protocol.
Without Protocol:
All items in the template are included in the new configuration.
Copy Properties and Items:
Copy shared properties between the new configuration and the selected template.
Include only Configuration Items aligned with the selected Concept Types.
Record Template Protocol:
Link the new configuration to the source template.
Document usage, exclusions, and tailoring steps.
3. Update a Configuration Using a Template
Match Configuration Items:
Use CI titles or types to match existing items with the template.
Update or Add Items:
For matched items:
Update read-only properties based on the template.
For unmatched items:
Add new items or update Concept Types as necessary.
Tailor Configuration Items:
If using the template protocol, select items to exclude and provide reasons.
Create a record of the update process in the template protocol.
4. Maintain the Template Protocol
...
Template Usage Protocol Properties:
sourceTemplateId
: Reference to the template used.targetConfigurationId
: The new or updated configuration.omittedConfigurations
: List of excluded items and their reasons.Protocol is inherited during configuration branching or baselining.
Customization:
...
External templates can be linked with additional metadata (e.g., source name, link, and protocol details).
...
The template use protocol displayed in the “Template protocol” tab in the configuration is usually automatically created when a configuration is created by using a template or when a configuration was updated by applying a template. But because it is possible to create configurations directly by calling the cdcm API (see https://smartfacts.atlassian.net/wiki/spaces/CDCM/pages/174424065/Architecture#CDCM-Rest-backend) it is possible to manage information about how configurations should look like outside of cdcm (so called “external templates”). It is then possible when creating a configuration via the api to manually set the template protocol.
In that case the following three values when creating a configuration are relevant:
externalTemplateTitle
- The title of the template that will be displayed in the “template use” tab on the configurationexternalTemplateLink
- A link that leads to information about the used templateexternalProtocolHtml
- HTML for the content of the “template use” tab