Projects and Streams

A project or stream is a dynamic collection of items relevant to a development activity. Examples include mainstream, customization, and maintenance. Projects and streams differ in the working practices that they are designed to support.

Projects:

- Follow a "lock, modify, unlock" mode of working

- Can contain parallel sets of changes, or branches, at the same time.

- Can support operations that apply to individual items, such as check in or check out.

Streams:

- Follow a "copy, modify, merge" mode of working

- Only contain one set of tip revisions, or branches, at any one time

- Only support operations that process multiple items or folders, such as update or deliver.

NOTE A stream is configured in the process model as a project of type "STREAM". References to projects in the Administration Console and in his book refer to projects generally, and therefore may apply to streams.

To support parallel development using projects, Dimensions CM provides interactive facilities for merging projects, as well as for identifying and resolving the conflicting files in the resulting merged project.

In the case of streams, you perform merge operations in the work area, using the Update function, and the merge tool where merging file content is necessary.

The global project contains all of the projects/streams and items for the product. Item operations that are reflected in the global project include create, update, edit, check in, and delete.

Every project or stream has a folder structure associated with it that consists of subfolders and items. This folder structure may differ from one project/stream to another. When a structural change is made to the project/stream directory, the change affects only that project/stream. For example, any new revision of an item appears only in the project or stream in which it is created.

Users associate a work area to a project/stream, which is a specific setting to that user alone. A work area identifies a location outside the repository for item files that are copied to and from the repository by functions such as deliver, update, check out, or check in. Items are placed in the work area relative to their path in the project/stream. A work area can also be a configured object that references a location on disk.