270 likes | 568 Views
RTC ClearQuest Importer and Synchronizer Lorelei Ngooi – RTC ClearQuest Synchronizer Lead. CQ Connector Types. ClearQuest. One way data migration. Rational Team Concert. Importer. CQ records. Work Items. Two way data synchronization. ClearQuest. Rational Team Concert. Synchronizer.
E N D
RTC ClearQuest Importer and SynchronizerLorelei Ngooi – RTC ClearQuest Synchronizer Lead
CQ Connector Types ClearQuest One way data migration Rational Team Concert Importer CQ records Work Items Two way data synchronization ClearQuest Rational Team Concert Synchronizer Work Items CQ records Rational Team Concert ClearQuest Traceability / links Bridge CQ records Work Items
RTC ClearQuest Importer Rational Team Concert ClearQuest Record Work Item • One way import of records from a CQ user database into a RTC project area. • Imported records are stored as work items in the Jazz repository. • Imported data is based on a CQ query • Uses a mapping file to declare how fields and values are mapped from one system to another • Supports importing the following types of data: • Users, Notes, Attachments, Work Item Relationships (duplicates, parent / child, blocks / depends on, and related) Rational ClearQuest
RTC ClearQuest Importer (cont’d) Rational Team Concert ClearQuest Record Work Item • Part of the RTC eclipse client. • Requires CQ to be installed on the RTC eclipse client. • No relationship with the CQ Synchronizer. • Based on the Bugzilla importer • Will create missing objects on the fly • Contributors, categories, iteration Rational ClearQuest
Mapping file snippets <attribute sourceId="Headline" targetId="com.ibm.team.workitem.attribute.summary"> <attribute sourceId="Priority" targetId="com.ibm.team.workitem.attribute.priority"/> <attributeType targetId="priority"> <value sourceId="1-Resolve Immediately" targetId="priority.literal.l11" /> <value sourceId="2-Give High Attention" targetId="priority.literal.l11" /> <value sourceId="3-Normal Queue" targetId="priority.literal.l07"/> <value sourceId="4-Low Priority" targetId="priority.literal.l02" /> <value sourceId="" targetId="priority.literal.l1" /> </attributeType> <attribute sourceId="Duplicate_Of" targetId="com.ibm.team.workitem.rcp.core.is_dup_of"/> <attribute sourceId="Duplicated_By" targetId="com.ibm.team.workitem.rcp.core.duplicates"/>
ClearQuest Importer Limitations / Issues • Re-running the import will not update work items that were created from a previous import, but create new work items. So it’s important to get the mapping and query right because you only have one shot when importing. (work item 96928) • No UI for the mapping file • Does not support importing CQ stateless record types (work item 169566)
ClearQuest Importer helpful links • Tips on Using the RTC ClearQuest Import Wizard • https://jazz.net/wiki/bin/view/Main/CQImportWizardTips • Guide for Importing Jazz Work Items from Bugzilla and Other Systems • https://jazz.net/library/article/69 • Provide guidance for CQ customers who want to migrate their CQ records into RTC (215962) – new and in progress in 4.0.1
RTC ClearQuest Synchronizer Rational Team Concert ClearQuest Record Work Item • Supports flexible bidirectional synchronization between a Rational ClearQuest record and a Rational Team Concert work item. • Changes are applied using synchronization rules, which provide the mapping and transformation information. • Supports CQ 7.0 and above • ClearQuest Synchronizer is an example of one application of a general item connector framework in Jazz Rational ClearQuest
Why use the CQ Synchronizer? • Incremental adoption of Rational Team Concert • Individual projects/teams can choose to start using Team Concert while still being able to collaborate with teams using ClearQuest • Different audiences for the same data • Development teams are free to choose their development environment of choice without affecting interaction with other stakeholders (ie. customer support) • Reports • Reports can be run in either system since the data is consolidated.
RTC Client RTC Client CQ Client CQ Client RTC ClearQuest Synchronizer Architecture App Server App Server Jazz Server CQ Gateway HTTP CM API Jazz DB CQ DB
ClearQuest Synchronizer Deployment • Install CQ Gateway • Only one gateway allowed per user database (across all replicas) • Apply package to CQ schema • Adds record types used for connection metadata • Adds hooks to create “change history” records on commit of connected records
Which records get synchronized? • Subset of CQ records and work items can be selected for synchronization • CQ record selection defined by queries (one per record type) • Work item selection defined by enabling team areas in sync rules • Selection determines what gets connected – once connected, synchronization continues even if selection changes
Synchronization Rules Overview • Synchronizes CQ record types to Jazz object types • Work items, work item categories, work item attachments, and users can be connected • Maps CQ record fields to Jazz object properties • Specifies direction of data flow: in (to Jazz), out (to CQ), both, or neither • Specifies transformation of data • Predefined transformations: • None (verbatim copy) • Enumeration mapping • Reference to objects which are also connected • Reference to record data used as work item custom attribute • Interpret field values as work item category names • Comments and notes • Additional kinds of transformations can be supplied as Jazz server plug-ins
Resolving conflict • Conflicts can occur when two users make nearly simultaneous changes to a ClearQuest record and its corresponding work item. • You must manually resolve the conflict by selecting the appropriate value.
CQ Synchronizer Limitations / Issues • Supports only 1 CQ Gateway connected to 1 CQ user database in a deployment • High administration cost in setting up the synchronization rules, configuring the process templates, and monitoring sync status. • Keeping data in sync in 2 repositories can be challenging • Troubleshooting is extremely difficult. • Limited support for CQ MultiSite.
Batch synchronization (synctool) • Command line tool used to synchronize a set of existing CQ records of a given record type to a RTC project area • Useful if you have an existing CQ database with records that you want to initially seed your RTC project area with • Selection of the CQ records is determined by the queries that you have already defined for synchronization • Can be run without modifying the CQ schema (still need to define sync rules) • Can be run without running the CQ Gateway, but • No assistance provided to sync rule editor for field names • No nested synchronization of referenced records, so must run on record types in “bottom up” order
Setup Wizard • Web-based wizard that automates the steps for configuring the CQ and RTC environment for synchronization including applying the JazzInterop package to a CQ schema. • Hosted in CQ Gateway running on Windows • Setup Wizard Tutorial • Setup Wizard Wiki Page
Sync to Bridge Tool (new in 4.0) • For existing CQ synchronizer customers who want to transition to using the CQ Bridge • Standalone Java application that bundles as part of the CQ Synchronizer component in RTC 4. • It starts from RTC side and finds all the work items in a project area (of specific type) that have been synchronizer enabled. It walks through the list, locates the CQ record, and establishes the OSLC-based bridge link between a synchronizer enabled work item and its corresponding CQ record. This process can be repeated. • User can then decommission the synchronizer. • See “Migrating from CQ Synchronizer to CQ Bridge” for more information.
Item Interop Framework • An extensible mechanism for making connections between items in a Jazz repository and objects in external repositories. The term "item" refers to a persistent object in a Jazz repository other than source-controlled objects (such as directories and files). For example, a work item is such an item. Once a connection is made, changes made to one of the connected objects can be automatically applied to the object it is connected to; this process is called synchronization. • ClearQuest Synchronizer is an example of one application of a general item connector framework in Jazz • Other Item Connectors • Reqpro Connector, HP Quality Center connector, MS Project synchronizer, CMVC connector, and others • Creating a New Item Connector
ClearQuest Connector details Jazz Server CQ Gateway HTTP/REST WorkItem Managers Interop CQ Events Polling HTTP/RPC WorkItem Jazz Events CQ Managers Repository Process CM API Jazz DB CQ DB Hooks
Getting Started • Sample synchronization rules that work with CQ’s DefectTracking schema • Work item sync rule • Category sync rule • Contributor sync rule • Attachment sync rule • Get started with the Rational ClearQuest Synchronizer Tutorial http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0/topic/com.ibm.team.concert.tutorial.doc/topics/tut_cqconnector_abstract.html • Planning Synchronization Rules http://publib.boulder.ibm.com/infocenter/clmhelp/v3r0m1/topic/com.ibm.team.connector.cq.doc/topics/t_planning_synch_rules.html
References • InfoCenter • http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0/topic/com.ibm.team.connector.cq.doc/topics/c_rtc_and_cq.html • Team Wiki • https://jazz.net/wiki/bin/view/Main/ConnectorItemMain • Team Dashboard • https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.dashboard.viewDashboard&team=RTC%20Development/ClearQuest%20Connector&tab=_1 • Writing Sync Rules for ClearQuest • https://jazz.net/wiki/bin/view/Main/WritingSyncRules • ClearQuest Synchronizer Frequently Asked Questions • https://jazz.net/wiki/bin/view/Main/CQConnectorFAQ • ClearQuest Synchronizer Troubleshooting Guide • https://jazz.net/wiki/bin/view/Main/CQConnectorTroubleShootingGuide