Framework Manager Enabling - A - Multi-Developer - Environment
Framework Manager Enabling - A - Multi-Developer - Environment
Copyright
Copyright © 2008 Cognos ULC (formerly Cognos Incorporated). Cognos ULC
is an IBM Company. While every attempt has been made to ensure that the
information in this document is accurate and complete, some typographical
errors or technical inaccuracies may exist. Cognos does not accept
responsibility for any kind of loss resulting from the use of information
contained in this document. This document shows the publication date. The
information contained in this document is subject to change without notice.
Any improvements or changes to the information contained in this document
will be documented in subsequent editions. This document contains
proprietary information of Cognos. All rights are reserved. No part of this
document may be copied, photocopied, reproduced, stored in a retrieval
system, transmitted in any form or by any means, or translated into another
language without the prior written consent of Cognos. Cognos and the
Cognos logo are trademarks of Cognos ULC (formerly Cognos Incorporated)
in the United States and/or other countries. IBM and the IBM logo are
trademarks of International Business Machines Corporation in the United
States, or other countries, or both. All other names are trademarks or
registered trademarks of their respective companies. Information about
Cognos products can be found at www.cognos.com
This document is maintained by the Best Practices, Product and Technology
team. You can send comments, suggestions, and additions to
[email protected] .
Contents
1 INTRODUCTION ............................................................................................ 4
1.1 PURPOSE ................................................................................................................ 4
1.2 APPLICABILITY ......................................................................................................... 4
1.3 EXCLUSIONS AND EXCEPTIONS ..................................................................................... 4
2 METHODS FOR ENABLING THE MULTI-DEVELOPER ENVIRONMENT ........... 4
2.1 SEGMENTING AND LINKING FUNCTIONALITY..................................................................... 4
2.2 INTEGRATION WITH CVS AND MICROSOFT VISUAL SOURCESAFE ........................................... 4
3 SEGMENTING AND LINKING......................................................................... 4
3.1 LIMITATIONS OF SEGMENTING AND LINKING PROJECTS....................................................... 4
3.2 LEVERAGING A READ-ONLY PROJECT ............................................................................. 5
3.3 SCENARIO ONE – HUB/SPOKE...................................................................................... 5
3.3.1 Enabling the Hub/Spoke Environment .................................................................... 6
3.4 SCENARIO TWO – FUNCTIONAL AREA RESTRICTED METADATA ............................................. 8
3.4.1 Enabling the Functional Area Specific Metadata Environment ................................... 9
3.5 SCENARIO THREE – DISTRIBUTION BY LAYERS ............................................................... 11
3.5.1 Enabling the Distribution by Layers Approach ....................................................... 13
4 FRAMEWORK MANAGER REPOSITORY CONTROL FUNCTIONALITY .......... 16
4.1 INSTALL AND SETUP OF THE REPOSITORY FEATURE ......................................................... 16
4.1.1 The IBM Cognos Configuration Tool ..................................................................... 16
4.2 CREATE A REPOSITORY USING VISUAL SOURCESAFE ........................................................ 18
4.3 CONFIGURING A VSS REPOSITORY IN FRAMEWORK MANAGER ............................................ 18
4.4 CREATE A REPOSITORY USING CVS............................................................................. 19
4.5 CONFIGURING A CVS REPOSITORY IN FRAMEWORK MANAGER ............................................ 19
5 BEST PRACTICES FOR SEGMENTING AND LINKING PROJECTS ................. 20
5.1 USING THE REPOSITORY WITH SEGMENTED PROJECTS...................................................... 20
5.1.1 How to Create a Segmented Project in a Repository.............................................. 20
5.1.2 Procedure for Adding or Deleting a Segment in a Repository Project ...................... 22
5.1.3 Adding an Already Segmented Project to a Repository........................................... 23
5.1.4 Working with Segments with Multiple Users.......................................................... 24
5.1.5 Opening a Segment as a Separate Project ............................................................ 25
5.1.6 Upgrading Segmented and Linked Projects ........................................................... 25
5.1.7 Using the Revision History Feature ....................................................................... 25
5.1.8 Using the Synchronize Command with a Repository Project ................................... 26
1 Introduction
1.1 Purpose
This document describes the existing functionality in Framework Manager for
enabling a robust multi-developer environment. Choose the method, or
combination of the methods, that best match the required environment as
defined by your development efforts.
1.2 Applicability
This document is applicable to IBM Cognos 8 Framework Manager MR2.
Note: Changing the properties of the project files to read-only, will not
achieve the desired result as users will still be able to overwrite the read-only
file if they are allowed write access to the files.
A central data modeler will generate a Root model, containing all the basic
elements for the functional areas they support. Functional area developers
enhance branch models linked to the Root, with functional area specific
information. The functional areas are allowed to view and use content from
the Root model but are not capable of changing that original root model. A
Read Only copy of the root model is made available to all functional areas.
This method allows for reuse and protection of the parent model metadata
against unsanctioned or accidental change by a functional area developer and
ensures consistency of the physical layer across all functional areas.
3.3.1 Enabling the Hub/Spoke Environment
1. In a shared resource create the following folder structure; create a shared
folder called Root.
2. Grant read/write access to your central data modeler responsible for
creating the physical layer in the Root model. Grant read-only access to
this share for all functional area modelers (i.e. Finance Developer).
3. Create one shared folder for each functional area (I.e. Sales Project,
Human Resources Project, and Finance Project). Grant read\write access
to the central data modeler. Grant read/write access for each functional
area modeler to their corresponding folder.
4. The central data modeler can now create a Root project in the Root folder
created in the first step. All required languages should be added, and a
complete physical layer should be defined.
5. Each functional area model developer will create a new project and link to
the root model to expose the entire physical layer or specific
subset/namespace for further functional area specific development.
2. The individual functional area owners can now import and model the
physical and business layers specific to their own functional area.
3. In a shared resource create a shared folder called Combined.
4. Grant read/write access to your central data modeler responsible for
creating the presentation layer in the Combined model. Optionally, grant
read-only access to this folder for all functional area modelers (i.e.
Finance Developer).
5. The central data modeler can now create a blank Combined project in the
Combined folder created in the first step with all the required languages.
6. The central data modeler can now create one functional area project and
initial model structure for every functional area. Storing the correct
project in the correct functional area folders created in a previous step.
7. The central data modeler links each of the functional area models to the
Combined model, exposing only specific public portions of the physical or
business layer for that functional area.
8. The central data modeler can now define a presentation layer in the
Combined model that will format the publicly exposed metadata from the
functional areas for consumption by multiple functional area users. If
there are no common links between the functional areas then the
presentation layers can be defined in the functional area models.
9. The central data modeler can now create a package in the Combined
model that contains the multiple functional areas. This package can now
be published to IBM Cognos Connection.
10. Each developer can now open their corresponding model to complete or
update the functional area specific information. Business packages
published from the Combined model will reflect the changes made within
each functional area linked model.
A business model linked to the physical model. This model will contain
a fully modeled ‘Business Layer’; where reporting packages may now
be defined and published for user consumption.
A central data modeler will generate a Physical Model, containing all the
basic elements of a Framework Manager best practice physical layer; to
support a second model called the Development Model.
The Development Model is linked back to the Physical Model and
contains all the elements required to support a third model called the
Business Model.
The Business Model is linked back to the Development Model and will
contain all the final elements required to create and publishes the reporting
packages to IBM Cognos Connection.
The Development modelers are allowed to view and use content from the
Physical Model but are not capable of changing that model. A Read Only
copy of the Physical Model is made available to Development Modelers.
The Business modelers are allowed to view and use content from the
Development Model but are not capable of changing that model. A Read
Only copy of the Development Model is made available to Business
modelers.
This method allows for reuse and protection of the physical/development
layer models metadata against unsanctioned or accidental change by second
and third stage modelers.
3. Create one share for each successive layer (I.e. Development; and
Business).
4. Grant read\write access to the Development share to the modeler
responsible for creating the Development Layer model. Grant read access
to the Business Layer modeler to the Development share.
5. Grant read\write access to the Business share to the Business Layer
modeler.
6. The central data modeler can now create a Physical Layer project in the
Physical share created in the first step. All languages are added, and a
complete physical layer is modeled.
7. The Development Layer modeler can now create a project and models a
complete development layer. Store the project in the correct share
created in a previous step. Note: Define all required project languages
before beginning your modeling.
9. The Business Layer modeler can now create a project and models a
complete Business layer storing the project in the correct share created in
a previous step. Note: Define all required project languages before
beginning your modeling.
10. The Business Layer modeler links to the Development Layer model,
thereby exposing the entire development and physical layer. (Note: you
will not be capable of creating shortcuts off these layers. Use model query
subjects instead )
11. Business packages may now be defined and published to IBM Cognos
Connection.
If you specified your path using a drive letter, you will be prompted to
replace it with a network (UNC) path. This is recommended if the
repository is to be shared with other computers. Press Yes to use the UNC
path, or press No to keep the drive letter.
7. Click OK.
C:\cvs_repository.
C:\cvs_repository\CVSROOT.
If you specified your path using a drive letter, you will be prompted to
replace it with a network (UNC) path. This is recommended if the
repository is to be shared with other computers.
7. Click OK.
Check in the new segment, and then check in each segment up the
hierarchy to the root project. Finally check in the root project.
NOTE: The segment structure is not saved until the root project is
checked in.
All other users should perform Get Latest Version after the root
segment has been checked in.
5.1.3 Adding an Already Segmented Project to a Repository
Add the root project to the repository, and keep it checked out.
Add the segments to the repository, starting from the root and
working out.
Check in the segments from the outer ones and work toward the root
project.
The root project must then be checked in. The segment structure is
not saved until the root project is checked in.
5.1.4 Working with Segments with Multiple Users
A single user should be responsible for any changes to the segment
structure of the project (add or remove segments). See the
procedures described above. Multiple users may each check out their
own segment.
NOTE: There is no need to check out the root to work on a segment
(it is only required to create one).
When checking in, provide a clear comment, and start it with the
name of the segment. This will make the Revision History easier to
understand.
Do not delete a segment, and then create a new one with the same
name. This may cause problems when tracking revision history.
5.1.8 Using the Synchronize Command with a Repository Project
NOTE: It is suggested you do not use the Synchronize command with
repository projects. If you do so, keep in mind the following:
After the Synchronize command is done, all repository information will
be removed from the project. You must manually remove the old
project from the repository, and then use Framework Manager to add
the project back into the repository. All revision history information
will be lost.
When adding segments to a repository project that will be
synchronized, do not use the feature on the Create Segment dialog
that adds the segment to a repository. You must first create the
segment, and then use the Add Project to Repository dialog instead.
Synchronize will fail if it is not done this way.
If you use the Revision History feature to revert to an earlier version,
the log files for the revisions that should be removed are not
deleted. Synchronize will execute these log files; therefore it will not
correctly reproduce the revision that it should.
NOTE: You will have to manually identify and remove log files to
make this work.