Overview
The CDCM system enables users to manage configurations, baseline types, and associated state models. This documentation provides details on baseline type management, state model behavior, and related functionalities for creating and managing baselines.
Key Concepts
Baseline Types
Baseline Types are tags used to define configurations or templates within a space or configuration area (CA).
Properties of Baseline Types:
ID: Unique identifier.
Name: User-defined name.
Key: Unique for use in API, generated by the system.
Description: Description of the baseline type.
URL: Link to internal documentation or related resources.
Permissions:
Creation and modification require
maintain-type-system
permissions at the space or configuration area level.Enabling a baseline type for a CA requires
modify-configuration-area
permissions.
Diagram: Baseline Type Association with Configuration Areas
Below is a simplified diagram illustrating how baseline types are associated with configuration areas:
Code Block |
---|
[Space] --> [Baseline Type] --> [Configuration Area]
^ |
| v
[Permissions] [Configurations / Templates] |
Examples: Managing Baseline Types
Create a Baseline Type:
Input: Provide a name like "QA Approved."
Result: A baseline type is created and can be associated with configurations.
Enable a Baseline Type:
Input: Select a configuration area.
Result: "QA Approved" is available for configurations within that area.
Functionalities
Creating Baselines
Baselines can be created in two ways: Full or Partial.
Full Baseline:
All configuration items (CIs) are included.
Example: A configuration for a software release with all features enabled.
Partial Baseline:
Selected CIs associated with specific baseline types are included.
Example: A configuration for a "Bug Fix Release" with only related changes.
Diagram: Baseline Creation Process
Below is a flowchart of the baseline creation process:
Code Block |
---|
[Start] --> [Select Configuration] --> [Choose Baseline Type]
--> (Full) --> [Copy All CIs] --> [New Baseline: Full]
--> (Partial) --> [Select CIs] --> [New Baseline: Partial]
|
Closing Baselines
Configurations or items can be transitioned to a Closed Baseline state:
Rules:
All internal and external work products must be in the Closed Baseline state.
Users are informed of irreversible actions before proceeding.
Diagram: State Transition to "Closed Baseline"
Code Block |
---|
[Initial State] --> [Validate Conditions] --> [Closed Baseline State]
|
[Fail: Inform User] |
Examples: Closing Baselines
Example 1: Full Baseline Closure:
Configuration: "Release 1.0"
Result: All associated work products must meet the Closed Baseline state.
Example 2: Partial Baseline Closure:
Configuration: "Bug Fix 1.0.1"
Result: Only selected work products are validated.
Deriving Streams
Streams can be derived from baselines to enable further development or updates:
Full Baseline:
Copies all configuration items.
Partial Baseline:
Copies only selected baseline items.
Diagram: Deriving a Stream
Code Block |
---|
[Baseline] --> [Derive Stream] --> [Initial State Stream] |
Examples: Deriving Streams
Example 1: Full Baseline Stream:
Baseline: "Release 1.0"
Stream: "Feature Addition for Release 1.1"
Example 2: Partial Baseline Stream:
Baseline: "Bug Fix 1.0.1"
Stream: "Additional Patch for Bug Fix"
REST Services
Endpoint Priority | Description |
---|---|
High | Create/Modify Baseline Type, Retrieve Configuration CIs. |
Medium | Retrieve all Baseline Types for a Configuration. |
Low | Add/Remove Baseline Types from Configuration Areas. |
State Model Behavior
Behavior Rules
...
States:
Transitions to Closed Baseline require all prerequisites.
Modifications to associated superstates are restricted after state creation.
Examples:
...
Work product references cannot be changed in Closed Baseline.
...
following section outlines the fundamental concepts of baselines within the CDCM system and the process of creating a “closed baseline.” A baseline represents an unchangeable snapshot of a configuration. While a configuration can grow and evolve over time, a baseline captures it in a precisely defined, finalized state. However, since a configuration in CDCM references other configurations or external work products (such as streams/baselines in Codebeamer), closing a baseline is not straightforward. Only once all referenced objects are also locked and cannot be altered can the baseline be formally “closed.” This multi-step process ensures that the baseline consolidates all information in a definitive state, providing a stable reference point for future audits, comparisons, and traceability.
Creating a New Baseline
When starting the baseline creation process in CDCM, you begin by converting a stream (your initial, flexible configuration) into a baseline. At this stage, the baseline remains open and can still change, but it establishes the core foundation for eventually creating a stable, closed baseline. You can choose to baseline all configuration items or only those tagged with specific baseline types, ensuring that the resulting baseline best fits your project’s needs.
Prerequisites
Permissions:
To create or modify a baseline, you must have the
maintain-concept with type
for the type of the configuration where you want to create a baseline in the current configuration area
Workflow
On the configuration use the sub-menu and click the “create a baseline” button
Create the Baseline:
Choose the scope of the baseline:
Full Baseline: Select all configuration items (CIs) in the configuration.
Partial Baseline: Choose one or more baseline types, only CIs with these baseline types will be in the new baseline
Confirm and save the new baseline.
Closing a Baseline
This section outlines the process of transitioning an open baseline to a fully closed, unchangeable state. It describes each step, from ensuring all referenced configurations and external items are stabilized, to systematically locking down every changeable aspect. The final action is to set the configuration’s state to a “closed baseline” state (see The State Model for more details about state changes). Once this status is successfully applied, the baseline becomes an immutable reference point, capturing the exact state of the configuration and all its associated data at that moment.
Before a configuration can be set to the “closed baseline” state, all referenced configuration items must be stabilized and put into a “closed baseline” state. If a configuration item can be put into a “closed baseline” state depend on the type of referenced item:
Internal configuration item (CDCM configuration): The referenced configuration must be in a “closed baseline” state.
External work product (OSLC-based storage location): The referenced work product must itself be a baseline.
External work product (non-OSLC storage location): Currently, there are no stabilization requirements.
Once all configuration items are in a “closed baseline” state the configuration itself can be put into a “closed baseline” state.
Putting a configuration item and a configuration into a “baseline closed” state cannot be reverted
...
5. Deriving a Stream from a Baseline
Deriving a stream from a baseline involves taking an existing baseline—regardless of whether it is open or closed—and using it as a starting point for a new stream. This new stream inherits the baseline’s configuration items and settings but reverts them to a flexible, modifiable state, enabling further development and updates.
Steps:
Select a baseline (e.g., Release 1.0).
Click Derive Stream.
Write the title of the new stream into the input field
Confirm to create a new configuration in the Initial state.
...
Appendices
Glossary
Configuration: A structured collection of items representing a product or system state.
Baseline: A snapshot of a configuration serving as a reference point.
Superstate: A higher-level classification that dictates allowed state transitions.
Known Limitations
Deletion of baseline types is not supported.
Modifications to state model associations are restricted post-creation.