Synchronizing data with the ClearCase Synchronizer and ClearCase Baseline Importer

IBM® Engineering Workflow Management (Engineering Workflow Management) includes the ClearCase Synchronizer, which supports bidirectional synchronization between ClearCase® source control and Engineering Workflow Management; and the ClearCase Baseline Importer, which supports imports in one direction of ClearCase source control and history to Engineering Workflow Management.

License note: To perform the task described here, a team typically creates a special user who is assigned the ClearCase Synchronizer Client Access License.
License note: To perform the task described here, you must be assigned the Developer Client Access License.

Though the ClearCase Synchronizer works bidirectionally and the ClearCase Baseline Importer works in one direction, both rely on the same synchronization process. As a result, the synchronizer and importer share many of the same concepts, prerequisites, guidelines, and limitations.

Both connectors require that a synchronization host is configured, with the ClearCase Synchronizer and ClearCase installed on it, and a synchronization process account is created or selected in the repository and added to the team area.

For more information, see the following sections:
Important: Setting up the synchronizer and importer requires expertise in both ClearCase and Engineering Workflow Management administration. To maximize your understanding, review these topics before using the synchronizer. Then, use this section as a reference when you set up the first synchronized stream.

Basic concepts

Credentials and Access
Managing the integrations involves performing various operations that require specific credentials and contexts. The different accounts that are needed for synchronization are identified later on. Some of these accounts are used by the synchronization process only. Other accounts are used by designated team members to manage the synchronization environment. In general, any operation that involves accessing ClearCase information, such as importing ClearCase elements, changing the dynamic view, or unlocking a synchronized stream, must be performed on a computer that has access to the ClearCase view for the synchronization stream. Any operation that involves working with the synchronization engine process, such as starting, stopping, or configuring, must be performed on the synchronization host. Other operations, such as requesting a synchronization, can be performed from a Engineering Workflow Management client in any context.
Synchronization Host
This ClearCase host supports synchronization. The ClearCase Synchronizer component is installed here. The ClearCase dynamic view is created from here and dedicated solely to synchronization.
Note: A ClearCase VOB server can be a synchronization host.
ClearCase Synchronizer component
This installable component is required to support the ClearCase Synchronizer and ClearCase Baseline Importer. It uses the Jazz® Build Engine to run the synchronization engine process.
Synchronization Engine Process
Also known as the synchronization process, this process runs from the ClearCase Synchronizer component. The process retrieves changes that are created in Engineering Workflow Management source control (delivered to ClearCase Synchronized Stream) and checks them in to ClearCase as new versions. It also retrieves changes that are created in ClearCase (identified by the ClearCase dynamic view) and delivers them to a ClearCase Synchronized Stream.
Synchronization process ClearCase account
The ClearCase user account is on the synchronization host. It is the operating system ID that the synchronization engine process runs on.
Synchronization process Engineering Workflow Management Account
This Engineering Workflow Management user account provides credentials to the synchronization process so that it can access your repository and team area. This user account requires the ClearCase Synchronizer Client Access License, which is a specific type of client access license. The typical user ID for this account is ccsync, but any ID can be designated.
Important: Team members must never use this account to connect to the repository.
Synchronized Stream Creator Account
This user account is logged in when a ClearCase Synchronized Stream is created. This user account is also the owner of the merge workspace for the stream and is responsible for resolving merge conflicts. Any Engineering Workflow Management user that is assigned roles for creating Engineering Workflow Management streams, workspaces, and build engines can create a ClearCase Synchronized Stream. If necessary, this account can be changed after the initial stream creation.
Restriction: The Synchronized Stream Creator account must be a different account than the synchronization process Engineering Workflow Management account.
CLONE Workspace
This specialized repository workspace is owned by the synchronization process Engineering Workflow Management account. Incoming change sets from ClearCase are stored here before they are checked in to ClearCase Synchronized Stream. The synchronization engine process attempts to deliver from this workspace to the ClearCase Synchronized Stream. If there are no conflicts during the attempt, then the delivery is finished. If there are conflicts, they must be resolved in the merge workspace by a developer.
Note: When you create a ClearCase Synchronized Stream, a CLONE workspace is also created and configured automatically.
Merge Workspace
This repository workspace is used by developers for merging conflicts between new versions of files or folders on the ClearCase Synchronized Stream (changes from Engineering Workflow Management source control) and new versions of the same files and folders in the CLONE workspace (changes from ClearCase source control). This workspace is based on a ClearCase Synchronized Stream. It has that stream and the CLONE workspace as flow targets, and all merged changes are delivered from this workspace to that ClearCase Synchronized Stream by using the synchronized stream creator account.
Note: When you create a ClearCase Synchronized Stream, a Merge workspace is also created and configured automatically.
ClearCase Synchronized Stream
This Engineering Workflow Management source control stream either synchronizes with ClearCase source control or imports with history from ClearCase source control.
The following characteristics are apparent when used with the synchronizer:
  • Created automatically
  • Contains files and folders that are selected for synchronization
  • Developers can create repository workspaces that are based on this stream and set it as a flow target for delivering changes
The following characteristics are apparent when used with the importer:
  • Created automatically
  • Contains files and folders that are selected for importation
  • Used only to import information from ClearCase source control to Engineering Workflow Management source control
  • Does not send information from Engineering Workflow Management source control to ClearCase source control

Synchronizing

To use the ClearCase Synchronizer, you configure one or more ClearCase hosts to support synchronization between Engineering Workflow Management and ClearCase. Then, you define one or more ClearCase Synchronized Streams that contain files and folders to import from ClearCase or export from Engineering Workflow Management. After this step is complete, users can modify these files and folders in either environment. Regular, automated synchronization keeps both environments up to date.

A synchronization process retrieves changes that are created in Engineering Workflow Management and checks them in to ClearCase as new versions. It also retrieves changes that are created in ClearCase and delivers them to a Engineering Workflow Management stream called a ClearCase Synchronized Stream. When conflicts occur because files or folders have been modified in both ClearCase and Engineering Workflow Management, they are displayed as incoming change sets for a special repository workspace that is known as the merge workspace. The merge workspace owner (typically a team lead) resolves the conflicts and then delivers the merged change sets to the synchronized stream, where they can be accessed by any team member.

To configure synchronization:
  1. Configure a synchronization host.
  2. Create or select a synchronization process account in the repository.
  3. Add the synchronization process account to your team area.
  4. Create a ClearCase Synchronized Stream.
Figure 1 illustrates the interactions among the synchronization host, the Jazz Team Server, and ClearCase.
Figure 1. Synchronization data flow
The synchronization process copies selected versions from a ClearCase view to a Jazz Team Server source control stream called a ClearCase Synchronized Stream.

New versions that are selected by a ClearCase dynamic view running on the synchronization host are committed to the ClearCase Synchronized Stream by the synchronization process. If any items in the synchronized stream have been modified concurrently by Engineering Workflow Management users and ClearCase users, they are displayed in an incoming change set for the merge workspace. The merge workspace owner resolves the conflicts, and then delivers the merged results to the ClearCase Synchronized Stream. Any Engineering Workflow Management user can create a repository workspace from this stream or add it as a flow target of a repository workspace. Changes that are delivered from a repository workspace to the ClearCase Synchronized Stream are checked in to ClearCase the next time that the synchronization process runs.

Importing

The ClearCase Baseline Importer can import files and folders with historical data from UCM streams and base ClearCase labels. Baseline history is imported from a UCM stream by using some or all of the baselines on that stream. Version history is imported from base ClearCase by using label types with an attached attribute type.

After files, folders, and historical data are imported to Engineering Workflow Management, you can change files or folders in Engineering Workflow Management, but these changes cannot be exported to ClearCase. You can import subsequent ClearCase history by running a synchronization on the synchronized stream that you created during the initial import.
Note: The import stream changes can be exported to another stream or workspace, and modifications can be made there.

The steps that are used to set up the ClearCase Baseline Importer are similar to the steps that are used to set up the ClearCase Synchronizer because they both require a ClearCase Synchronizer configuration that supports the creation of synchronized streams. They also share some parts of the interface.

To use the ClearCase Baseline Importer:
  • Configure one or more ClearCase hosts to support synchronization between Engineering Workflow Management and ClearCase.
  • Create or select a synchronization process Engineering Workflow Management account in the repository and add it to the team area.
  • Use the Import wizard and the Select Files wizard to import a UCM or base ClearCase stream and specify resources and history to import.

When you migrate from the ClearCase to the Engineering Workflow Management, consider the ClearCase Version Importer. For more information, see Migrating data by using the ClearCase Version Importer.