About streams

A stream is a long-lived HCL VersionVault object. It is a member of a single UCM project and is a mechanism for creating and recording configurations. A stream identifies the exact set of versions currently available for you to view, modify, or build. To create new versions of elements in a component, you use a view; to keep track of the versions that you create, you use a stream.

UCM uses baselines and activities to describe a stream configuration. When you create a stream, its original configuration is the same as a baseline (that is, it contains a single version of each element in a component). When you modify a stream configuration, you assign the modifications to one or more activities. Hence, a stream configuration is a given baseline plus one or more activities.

Your view accesses versions of elements provided by a stream. The view that you use is said to be attached to the stream. Your view for your private work area is called a development view and the related stream is called a development stream.

A triangle that is divided in half represents a stream. A magnifying glass over the triangle represents a view that is attached to the stream. In the lower half of the triangle is a cube that shows different versions of elements being selected in a baseline. In the upper half of the triangle is an activity that shows a change set of newer versions of elements.

A stream configuration

The following actions modify the configuration of a stream:

  • Checking in versions from an associated view. (A stream might be associated with many views.)
  • Rebasing, which replaces the baseline in the stream's configuration with a more recent one.
  • Delivering, which changes the configuration of the target stream by adding the activities that were previously available only to the contributing development stream.
  • Delivering baselines, which is usually performed only by a project integrator.

A multiple-stream project includes the following kinds of streams:

  • Integration stream
  • Development streams

A single-stream project does not allow development streams; your view is attached to the integration stream.

The integration stream

Projects always include a single integration stream, which is the project's main shared work area. In a multiple-stream project, many integration views can be attached to the project integration stream.

A triangle that is divided in half represents a stream. Three magnifying glasses over the triangle represent three different views that are attached to the stream. In the upper half of the triangle are three sets of delivered activities with change sets. In the lower half of the triangle is a cube that shows different versions of elements being selected in a baseline.

The project integration stream records the project baselines and you can use it to access to all versions of the project shared elements. It collects all the work that all team members deliver from their development streams.

In a single-stream project, there are no development streams, so many development views are attached to the integration stream. When you check in versions from your view, you modify the configuration of the integration stream. The latest versions in the stream are available to all project members.

Development streams

Typically, each multiple-stream project includes many development streams, one for each developer on the project.Three small triangles represent three development streams. Each triangle contains activity change sets. One magnifying glass over each triangle represents the view that is attached to that development stream. Below the triangles is the lower half of a large triangle that represents an integration stream. In the lower half of the triangle is a cube that shows different versions of elements being selected in a baseline.

All development streams start from a baseline. As a private work area, your development stream evolves separately from other development streams as you add activities.

Feature-specific development streams

In the base UCM process, the integration stream is the only shared work area for the project. However, a multiple-stream project might have additional shared work areas for developers who work together on specific parts of the project. Using the UCM development stream hierarchy feature, the project can have multiple shared work areas.

A project manager can set up a stream hierarchy in which multiple development streams can have child streams. Each parent development stream supports a small team of developers which develops a specific feature. The parent development stream serves as the shared work area for the feature development. For more information about stream hierarchies, see the Help.

When you join the project, you can create your development stream under a parent stream other than the integration stream (that is, under a feature-specific development stream).