Identifying read-only components

When you create a project, you must indicate whether each component is modifiable in the context of that project. In most cases, you make them modifiable. However, in some cases you want to make a component read-only, which prevents project team members from changing its elements. Components can be used in multiple projects.

One project team may be responsible for maintaining a component, and another project team may use that component to build other components (see the following figure).
Figure 1. Using a read-only component

Two projects, A and B are shown. Project A has two components, one of which, cm_libs, is modifiable. Project B has four components, one of which, cm_libs, is taken from Project A and is read-only. An arrow is shown from cm_libs in Project A to cm_libs in Project B.

The Project A team members maintain a set of library files in the cm_libs component. Project B team members refer to some of those libraries when they build their components. In Project A, the cm_libs component is modifiable. In Project B, the same component is read-only. With respect to the cm_libs component, Project A and Project B have a producer-consumer relationship.

Because making a baseline of a component to change its members modifies the related component, the related component that is used for a composite baseline should be modifiable. A component without a VOB root directory (that is, one used to make a pure composite baseline) should be modifiable except in the following circumstances:

  • The component is to hold only read-only components as members.
  • No baseline is ever to be made in the component.

You cannot make a baseline of a read-only component without a VOB root directory.