As described in Planning for multiple Jazz server instances the Jazz architecture allows for multiple instances of specific application servers, such as the Change and Configuration Management (CCM) application (Rational Team Concert), Quality Management (QM) application (Rational Quality Manager) and Requirements Management (RM) application (DOORS Next Gen). These application servers are registered to a common Jazz Team Server (JTS) to form a CLM Instance. See Multiple CCM Applications Best Practices for additional information.
What does this mean from a user perspective? The following sections will discuss this in more details for working with multiple CCM (RTC applications). Most of the information also applies if you have multiple other applications.
First the user perspective in the Web UI.
If multiple applications are registered to a JTS, the context root of the application is presented for convenience. Navigation to elements is as usual
The image below shows the Web UI user perspective. It shows multiple applications and all the projects of the user:
Please note, that dashboards can also show all projects in all applications accessible to a user.
Dashboards can collect data across applications
The image below shows that the Dashboard Mini can be configured to show all projects accessible to the user.
It is possible to add widgets from all registered applications. To configure a widget, select the CLM application and then select the widget from that catalog as shown below.
How does this look like from the perspective of a user that uses the Eclipse client?
The user connects to the applications needed
The user can manage connected project areas for all repository connections, basically selecting which project areas are actively shown
Navigation to elements is as usual
The Eclipse client shows the repository connections and allows to manage the connected project areas per repository connection. The selected project areas are presented in the UI and show the application for convenience. From a user perspective, this is transparent and irrelevant in the most cases.
The Eclipse client provides specialized menus, where necessary, that allow to select the projects to be looked at, regardless of the application they are on. This allows to create work items and other artifacts easily and without having to know which application manages the project area.
Looking at multiple CCM (Rational Team Concert) applications there are some special considerations when linking work items.
RTC provides different link flavors that can be used between work items and other artifacts.
These link types can only be created within one CCM application but across project area boundaries within the application context. Examples are:
These link types can be created across application and project area boundaries. Examples are:
CLM links can not be just used between arbitrary project areas. It is necessary to define a structure between the various project areas and define which types of objects the project area provides to link to.
Associating project areas to be able to link artifacts within or across repositories using CLM link types, sets up the logical connections between project areas that need to link related CLM artifacts. An association defines which project area
CCM specific realtionships are:
The same administrative capability is available in the Eclipse UI. Setting up Lifecycle Projects creates these associations as well.
The image below shows the administrative Web UI and where to create the associations.
From a user perspective, there is really no difference between the different link types and flavors, except which destination project areas are provided in the selection dialog.
Based on the link type selected by the user, the UI provides the possible target project areas for linking. After selecting an available project area, it is possible to search for artifacts or to create new ones.
Work Item Links can only link to (local) project areas on the same application. The links can be created to any project area on the same CCM application that is available to the user. The image below shows the project areas the user has access to to create a work item link.
For CLM link types, the UI provides the targets based on the project area associations. The image below shows this as an example. Note, the destination project areas are different.
This has been designed this way since at least CLM 3.x.
The following image shows the Eclipse client dialog to create CLM links. It shows multiple project areas, because many provides associations are set up with the project areas. Only project areas that have such an association set up to this project area are shown.
This image shows the Eclipse client dialog to create local work item links which only shows the project areas in the same repository. This dialog will show all active project areas that are in this repository.
The RTC planning component considers the following link types:
For cross project planning use Tracks and Contributes to CLM link types. They
The image below shows a cross project plan with Epic work items tracking effort in another project area using Tracks Links:
The Epics EP1-EP4 have a tracks relationship to the stories ST1...ST4 in a different RTC repository. Each story has estimated child execution work items such as tasks that it tracks in its repository. The planned effort for the tasks is accumulated on the plan items. See the planned effort and duration for ST1 and ST4 contributing to the over all duration. It is possible to use tracks/Contributes To relationships with any work item type, but it is most effective if a plan item/top level work item type such as a Story in this case is used as aggregating item for the execution items in the remote repository. This makes it easy to see where the effort is planned.
If the planning needs adjustment, look at the story that needs adjustment. The hover can provide with the information needed and allows to access details:
The plans that contribute to this plan can be configured to allow easier searching using plan links.
The image below shows the planned items and the execution items planned in the remote team area.:
Please note, for this to work it is necessary to create planned snapshots in the tracked plan to provide the plan schedule in the tracking plan.:
And it is necessary to set up the project associations to be able to create the links between the items.
It is useful to create plan links to make navigation between the plans easier:
The RTC Jazz SCM system also provides special capabilities to work across repositories using Distributed SCM. How this looks for the user and some considerations are provided below.
This is not different to the normal use cases. The user can select the project areas and work within them on the available data.
The user sees the connected project areas and can perform the usual operations within the project areas regardless on which server these are located
SCM objects are global to a server. They are only associated to a project area or some other item by ownership. They are in principle accessible across all project areas.
Repository workspaces are owned by the user and not a project area.
When creating repository workspaces or streams, the user is provided with an option to choose the repository to store the stream or workspace with a sensible default.
The image below shows the user perspective when working with multiple CCM applications. The user can see the project areas and the related streams. The UI also indicates the application they reside. The user can see their repository workspaces and can see in which repository they reside.
A repository workspace can be located in one application repository and flow to a stream in another application for example CCM->CCM1. From the user perspective, this is the usage of normal SCM operation. However, the data gets replicated (copied) between the application repositories and this is called Distributed SCM.
RTC provides Distributed SCM to support code versioning across multiple CCM application repositories. Distributed SCM
The image below shows this activity in the advanced attributes of the CCM server.
In addition, users that replicate data across the applications to integrate changes
The image below shows how to set the permission for a role
What gets replicated in Distributed SCM?
Assuming a topology similar to the image below:
This image shows how the different artifacts are stored in different repositories.
Distributed SCM supports the usual SCM user workflows across repository boundaries:
However, some limitations apply.
Limitations of Distributed SCM compared to SCM in one application are:
There are possible approaches to mitigate this:
Automation might be possible using SCM commandline or API for the items above.
SCM related operation behavior (advisors/pre-conditions) that are built into the product only work in the local repository containing the change set and using the local "Associate Work Item" link. The image below shows the operations.
The most prominent are:
If the change set and the work item are not in the same repository, the advisor “Required Work Items and Comments” only works in this configuration:
This allows making sure that a change set must have a work item or a change request linked to it. It does not allow making sure that a remote work item (considered a Change Request) is approved, planned for the current iteration and other constraints. See enhancement request: 396190: Allow the Source Control Deliver (server) Preconditions "Require Work Items and Comments" and "Require Work Item Approval" to work with associated change requests (OSLC Work Item Link Type) for additional functionality.
The other preconditions don’t work for associated Change Requests.
These all only work using
The best way to handle this is to keep the project containing the work items to organize the work together with the SCM data in the same application. Use Tracks Links for planning.
Scheduled Absences and Work Environment of the users are configured and maintained in each CCM Server. The image below shows the data for one user in one server.
This can lead to
Consider a departmental approach if possible, where users contribute only to one CCM server for planned work Alternatively maintain the data consistently across all applications using automation.
I | Attachment | Action | Size | Date | Who | Comment |
---|---|---|---|---|---|---|
![]() |
CreateCLMLink.png | manage | 35.5 K | 2016-06-24 - 14:43 | RalphSchoon | Creating CLM Links |
![]() |
CreateWILink.png | manage | 32.8 K | 2016-06-24 - 14:44 | RalphSchoon | Create Work Item Link |
![]() |
Required_Work_Items.png | manage | 23.7 K | 2016-08-01 - 14:44 | RalphSchoon | Configuration |
Status icon key: