Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

  1. Create a Baseline Type:

    • Input: Provide a name like "QA Approved."

    • Result: A baseline type is created and can be associated with configurations.

  2. Enable a Baseline Type:

    • Input: Select a configuration area.

    • Result: "QA Approved" is available for configurations within that area.

Step-by-Step Guide

...

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-type-system permission in the space or configuration area.

    • To enable a baseline type for a configuration area, you need modify-configuration-area permission.

Workflow

...

Access the Configuration:

  • Navigate to the Configuration Management interface.

  • Select the desired configuration you want to baseline.

Select Baseline Type:

...

Go to the Baseline Types tab.

Choose an existing baseline type or create a new one:

...

Option 1: Create a new type by clicking Add Baseline Type and providing a name (e.g., QA Approved).

...

    • concept with type for the type of the configuration where you want to create a baseline in the current configuration area

Workflow

  1. On the configuration use the sub-menu and click the “create a baseline” button

    image-20241206-153354.pngImage Added

  2. Create the Baseline:

    • Choose the scope of the baseline:

      • Full Baseline: Select all configuration items (CIs) in the configuration.

      • Partial Baseline: Choose specific CIs associated with the selected baseline type.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

...

Code Block
[Configuration] --> [Baseline Types Tab] --> [Select Type] --> [Full or Partial?]
        --> (Full) --> [Create Baseline: All CIs]
        --> (Partial) --> [Select CIs] --> [Create Baseline: Partial CIs]

2. Viewing Existing Baselines

Steps:

  1. Open the Baseline Types tab in the configuration area.

  2. Use the filter or sort functionality to locate the baseline type of interest.

  3. Review associated CIs, descriptions, and metadata.

Example:

  • Scenario: You created a baseline for a software release tagged Release 1.0.

  • Action: Filter for baseline types labeled Release and view the associated CIs.

3. Managing Baseline Types

Add or Remove Baseline Types

  • Add:

    • Navigate to the Baseline Types tab.

    • Click Add Baseline Type and define its name and key.

  • Remove:

    • Select the baseline type and click Remove. Baseline types that are actively associated with unit types cannot be removed.

4. Closing a Baseline

When to Use:

  • Close a baseline when the configuration is finalized and no further changes are allowed.

Steps:

  1. Open the configuration.

  2. Ensure all CIs are in a state that supports closing (e.g., QA Approved or Production Ready).

  3. Set the configuration’s state to Closed Baseline.

  4. Confirm the action:

    • The system will validate all CIs.

    • If prerequisites are unmet, the system will inform you and cancel the action.

Diagram: Closing a Baseline

Code Block
[Configuration] --> [Validate CIs] --> [Close Baseline State]
        |
   [Fail: Inform User]Code kopieren

Example:

  • Scenario: A Closed Baseline is required for an audit.

  • Action: Transition all CIs to Closed Baseline, ensuring no modifications are possible.

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.


(warning) Putting a configuration item and a configuration into a “baseline closed” state cannot be reverted (warning)

...

5. Deriving a Stream from a Baseline

When to Use:

...

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:

  1. Select a baseline (e.g., Release 1.0).

  2. Click Derive Stream.

  3. Choose whether to:

    • Include all CIs (Full Stream).

    • Include only specific baseline items (Partial Stream).

  4. Write the title of the new stream into the input field

  5. Confirm to create a new configuration in the Initial state.

Example:

  • Scenario: Derive a stream from Release 1.0 for a Bug Fix 1.0.1.

  • Result: A partial stream containing only the required fixes.

Examples of Usage

1. Full Baseline Example

  • Scenario: Prepare a snapshot for a major release.

  • Steps:

    1. Open configuration Project X.

    2. Add a new baseline type Major Release.

    3. Create a full baseline, including all 100 CIs.

  • Outcome: A baseline named Project X – Release 1.0 is created.

2. Partial Baseline Example

  • Scenario: Snapshot a subset of features for a minor release.

  • Steps:

    1. Open configuration Project Y.

    2. Use the baseline type Bug Fixes Only.

    3. Select 20 specific CIs and create the partial baseline.

  • Outcome: A baseline named Project Y – Patch 1.0.1 is created.

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.

...

  1. .

...

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.