Segmented and linked projects

You can use IBM® Cognos® Framework Manager to create and link segments, projects, and folders. A segment is a project within a main project. A segment is owned by its main project. A link is a shortcut to an existing project. The project that is linked can be shared by multiple projects.

A project segment is a complete project and changes to that project impact all projects to which it is linked. If you want to open a segment as a separate project, it must be structured as a complete project. There must be a physical layer in each segment that contains a subset of the data source query subjects on which they are based. These data source query subjects provide access to the data and metadata and must be included in the appropriate segments.

Do not change the physical layer in a segment. Any change will be reflected in the linked parent model and will impact all model segments that share data source query subjects. Changes may not be apparent outside the model in which they are made until the model is closed and reopened.

Before a project is segmented, ensure that the folder and namespace are named correctly. You cannot rename the folder or namespace after it has been segmented.

Changes made in the root model, such as upgrading and setting object security, are not inherited by the segmented model. You have to apply the changes to each segment of the model.

The governor settings that take precedence are the ones that apply to the model that is currently open (whether it is a parent model or a child model).

The main project has access to the entire model, including the segments. You can make changes to the segments when working in the main project, however, if the segment is being accessed by more than one user, the potential exists for updates to be lost.

Note: When changing the project structure, do not open the segments as individual projects. Instead, check the main project and make changes from within it.

You can link the segments to other projects that contain related information to maintain consistency and reuse information. If you plan to link model segments, follow the steps for segmenting projects. As a general practice, link to relatively complete segments and regularly verify your model.

Segmenting projects

Understanding project segmentation is critical to ensure stability and minimize complexity in a multiuser modeling environment. If you intend to segment your project, do the following:

  • Model the physical layer as completely as possible by:
    • Ensuring that the namespace in the main project and any links in the project to folders have the same identifier. See Importing objects with the same name.

      For example, you have a main project and a link in the project to a folder. The folder you link to must exist in a namespace that has the same name as the main project. If the identifier in the main project and that of the linked folder are not the same, any relationships, shortcuts, or expressions that reference objects in the link, from the main project, may not work.

    • Ensuring all objects in a project have unique identifiers

      For example, you have a main project that contains a query subject named NewQS, and a segment in the project. You open the segment, add a new query subject named NewQS, and save the segment. When you open the main project, an error occurs because a query subject named NewQS already exists in the main project.

    • Updating references in both the main project and segments in the project

      For example, you have a main project and a segment in the project. In the main project, you have a relationship named qs1_qs2 that exists between query subject1 and query subject2. The query subject named query subject 2 is in the segment. You open the segment, rename query subject2 to query subject3, and save the segment. When you open the main project, an error occurs because the relationship qs1_qs2 is broken. In Framework Manager, any object that relies on a reference, such as shortcuts, model query subjects, and expressions are also affected.

    • Ensuring that the main project and any segments in the project have the same languages

      For example, you have a main project and a segment in the project. In the segment, you defined the languages English and French. You open the main project, add the language Chinese, and save the segment. When you open the segment, an error occurs because the language Chinese is not defined in the segment.

  • Organize the physical layer using namespaces.

    You should create a namespace for query subjects, calculations, and filters that you expect to be necessary for more than one segment.

    You should create a namespace for each collection of query subjects that is unique to a planned model segment.

  • Accept the default project name when creating the segmented project.

    The segmented project must be created in a sub-folder within the master project folder. The default project name is the same as the folder or namespace that contains it.

  • Segment the model for each namespace you created.
  • Use a source control repository when possible to restrict access and track changes to your projects and segments.