ClearQuest データベースの分析

更新 : 2007 年 11 月

分析フェーズでは、コンバータが ClearQuest データベースからスキーマを読み取り、そのスキーマを Team Foundation の形式で表すファイルを生成します。コンバータは、ClearQuest のクエリを使用して ClearQuest の基本エンティティの種類を特定します。ClearQuest の 1 つのクエリは、1 つのエンティティの種類に基づいています。またコンバータは、基本エンティティの種類に関連付けられたエンティティの種類も特定します。基本エンティティに関連付けられたエンティティとは、基本エンティティが参照するエンティティを指します。つまり、これらのエンティティは、基本エンティティの種類の中に、参照または参照一覧として含まれます。この参照先エンティティの一覧には、次のものは含まれません。

  • 次のものの重複として参照されているエンティティの種類。

  • User エンティティ   ユーザーは、Team Foundation のユーザー処理に従って移行されます。Team Foundation では、ユーザーはエンティティとして処理されません。

  • Attachment エンティティ   添付ファイルは、Team Foundation の基本的な添付ファイル処理に従って移行されます。Team Foundation では、添付ファイルはエンティティとして処理されません。

  • 履歴   履歴は、Team Foundation の基本的な履歴処理に従って移行されます。Team Foundation では、履歴はエンティティとして処理されません。

  • グループ   ClearQuest のグループはコンバータによって移行されません。Team Foundation では、グループは別の方法で処理されます。

  • Ratl_replicas   このエンティティに相当する概念は Team Foundation にはありません。

分析フェーズ

Visual Studio 2008 コマンド プロンプトで、次のコマンドを実行します。

CQConverter /c:analyze /m:CqConverterConfig.xml

ms400704.alert_note(ja-jp,VS.90).gifメモ :

ClearQuest データベースを分析するためには、CqConverterConfig.xml ファイルで指定されたユーザー ID に [スーパー ユーザー] のアクセス許可が必要です。詳細については、『ClearQuest Administrator's Guide』を参照してください。また、指定した Team Foundation Server のサービス アカウント グループのメンバである必要もあります。詳細については、「Team Foundation Server のアクセス許可」を参照してください。

ClearQuest コンバータの実行が終了するまでには数分かかる場合があります。分析フェーズの終了時にいくつかのファイルが生成されます。

コンバータの構成ファイル

コンバータへの入力を構成ファイルで指定する必要があります。詳細については、「作業項目コンバータ構成ファイル」を参照してください。

出力ファイル

分析フェーズでは、いくつかの出力ファイルが生成されます。これらのファイルは、移行設定ファイルの <Outputdirectory> 要素で指定されたフォルダに格納されます。ディレクトリが指定されていない場合、コンバータは ClearQuest の基本エンティティの種類と同じ名前のフォルダを自動的に作成します。フォルダが既に存在する場合は、そのフォルダの内容が新しく生成された xml ファイルに上書きされます。

分析フェーズの終了時に作成されるファイルは、次のとおりです。

  • 作業項目の種類の定義 xml ファイル (複数の場合あり)   これらのファイルは、作業項目の種類を Team Foundation の形式で表したもので、Team Foundation で作業項目の種類を作成するために使用されます。基本エンティティ、および各参照先エンティティに付き 1 つのファイルが生成されます。これらのファイルの名前は <EntityType>.xml です。たとえば、作業項目の種類が defect の場合、Defect.xml というファイルが生成されます。

  • フィールド マップ xml ファイル (複数の場合あり)   これらのファイルは、ClearQuest のレコードの種類から Team Foundation の作業項目の種類にフィールドをマップする方法、およびデータ移行時に適用されるデータ変換を指定します。これらのファイルは、作業項目の種類ファイルに 1 対 1 で対応しています。各フィールド マップ ファイルでは、対応する作業項目の種類に対するマップが指定されています。これらのファイルの名前は <EntityName>FieldMap.xml です。たとえば、作業項目の種類が defect の場合は、DefectFieldMap.xml というファイルが生成されます。

  • ユーザー マッピング xml ファイル   このファイルの名前は UserMap.xml になります。このファイルでは、ClearQuest のユーザーを Team Foundation のユーザーにマップする方法が指定されます。ClearQuest には個別のユーザー データベースがあり、ClearQuest のユーザー名は Windows ユーザー アカウントと異なる場合があるため、このファイルが必要になることがあります。一方 Team Foundation では、Windows ユーザー アカウントが必要です。

  • スキーマ マップ xml ファイル   このファイルの名前は SchemaMap.xml です。このファイルでは、前述のすべてのファイルの名前が記載されており、作業項目の種類と関連ファイルとの間の追加的なマップが指定されています。

  • 分析レポート xml ファイル   このファイルの名前は CQAnalysisReport.xml です。このファイルに付随するフォルダとして _AnalysisReport_Files というフォルダが生成され、このファイルをブラウザで正しく表示するためのイメージとスタイル シートが格納されます。

  • CQConverter.log という名前のログ ファイル

    ms400704.alert_note(ja-jp,VS.90).gifメモ :

    クエリで選択された特定の作業項目のフィールド数に関係なく、作業項目の種類内のすべてのフィールドが、コンバータによって分析対象として選択されます。出力ファイルには、すべてのフィールドへの参照が含まれます。

作業項目の種類の定義ファイル

作業項目の種類の定義 (WITD) ファイルには、作業項目の種類のスキーマが Team Foundation の形式で取り込まれます。WITD ファイルを使用することにより、Team Foundation で新しい作業項目の種類を作成できます。WITD ファイルでは、作業項目の種類に含まれるフィールド、状態および状態の遷移、規則、および作業項目を表示するためのユーザー インターフェイスが指定されています。作業項目の種類の定義ファイルの詳細については、「作業項目の種類のカスタマイズ」を参照してください。

以降のセクションでは、これらの作業項目の種類が生成される方法を詳しく説明します。

フィールドの種類のマップ

コンバータは、ClearQuest 内のフィールドの種類を、Team Foundation 内の適切なフィールドの種類にマップします。フィールドのマップ方法を次の表に示します。

ClearQuest のフィールドの種類

Team Foundation のフィールドの種類

ATTACHMENT_LIST

適用できません。このフィールドの種類は、Team Foundation では、フィールドではなく添付ファイルとして移行されます。

DATE_TIME

DateTime

INT

Integer

MULTILINE_STRING

Plain Text

REFERENCE

適用できません。このフィールドの種類は、Team Foundation では、フィールドではなくリンクとして移行されます。

REFERENCE_LIST

適用できません。このフィールドの種類は、Team Foundation では、フィールドではなくリンクとして移行されます。

SHORT STRING

String

DBID

移行されません。このフィールドの種類は、ClearQuest でシステム フィールド用に予約されており、移行する作業項目では不要です。

ID

String。このフィールドの種類は、Team Foundation では、vsts sourceid フィールドとして移行されます。

JOURNAL

適用できません。このフィールドの種類は、ClearQuest ではシステム フィールド用に予約されており、Team Foundation では履歴として移行されます。

State

String。このフィールドの種類は、ClearQuest ではシステム フィールドとして予約されており、Team Foundation では、システム フィールドである State として移行されます。

フィールド マップ

ClearQuest では、すべての作業項目の種類にシステム フィールドが使用されており、同様に Team Foundation でも、作業項目の種類にシステム フィールドが含まれています。コンバータは、必要に応じて、ClearQuest のシステム フィールドを Team Foundation のシステム フィールドにマップします。また、システム フィールドとは別に、ClearQuest の作業項目の種類に一般的に含まれるフィールドもあります。コンバータは、必要に応じて、これらを Team Foundation のフィールドにマップします。

コンバータがシステム フィールドをマップする方法を次の表に示します。

ClearQuest のシステム フィールド

Team Foundation のシステム フィールド

ID

vsts sourceid

State

State

コンバータが共通のフィールドをマップする方法を次の表に示します。

ClearQuest のフィールド

Team Foundation のシステム フィールド

Headline

Title

Description

Description

Submitter

Created By

Submit_Date

Created Date

Owner

Assigned To

User_name (History)

Changed By

action_timestamp (History)

Changed Date

フィールドの動作の処理

ClearQuest では、フィールドに対する動作を指定できます。作業項目の状態によって、フィールドに指定する動作を変えることもできます。ただし、コンバータが ClearQuest の作業項目の動作を移行するときには制限があります。たとえば、コンバータは、初期状態 (作業項目が新規作成されたときの状態) に指定されたフィールドの動作だけを移行します。

分析フェーズでは、状態ごとに定義された動作が分析または生成されません。ただし、Team Foundation ではこれらの動作の指定がサポートされているため、分析フェーズの終了後に、手動で作業項目の種類にこれらの動作を追加できます。Team Foundation で作業項目の種類の動作をカスタマイズする方法の詳細については、「作業項目ワークフローの定義」を参照してください。

作業項目の動作は、次の表に示すように移行されます。

動作

説明

Mandatory

この動作は Team Foundation に移行されます。Mandatory は、作業項目の種類の定義で <REQUIRED> 要素を適用することで、Team Foundation において指定されます。

Optional

この動作は Team Foundation に移行されます。Optional は Team Foundation ではフィールドの既定の動作であるため、作業項目の種類の定義に要素を追加する必要はありません。

Read-only

この動作は移行されません。

Use_hook

この動作は移行されません。

コンバータによって作業項目の種類に追加されるフィールド

コンバータは、ClearQuest の作業項目の種類に含まれるフィールドの他に、次のフィールドを各作業項目の種類内に生成します。

コンバータの操作に必要なフィールド

これらのフィールドを削除しないでください。これらのフィールドを作業項目の種類から削除すると、移行が失敗します。これらが表示されないようにするには、作業項目の UI (フォーム) から削除します。これらのフィールドを読み取り専用に設定して、ユーザーによる編集を防止することをお勧めします。これらのフィールドは次のとおりです。

  • 移行する作業項目の ClearQuest ID を示すフィールド。

    <FIELD name="vsts sourceid" refname="Microsoft.TeamFoundation.Converters.vsts_sourceid" type="String"/>
    
  • 移行する作業項目が格納されている ClearQuest データベースを示すフィールド。

    <FIELD name="vsts sourcedb" refname="Microsoft.TeamFoundation.Converters.vsts_sourcedb" type="String"/>
    
  • 特定の作業項目の移行ステータスをトラッキングするために使用するフィールド。

    <FIELD name="Migration Status" refname="Microsoft.TeamFoundation.Converters.Migration_Status" type="String"/>
    
  • Team Foundation のシステム フィールド。Team Foundation のシステム フィールドが ClearQuest のシステム フィールドに対応している場合は、適切なマッピング xml ファイルが生成されます。Team Foundation の一部のシステム フィールドは ClearQuest のシステム フィールドに対応していないため、作業項目の種類ごとに追加のフィールドが生成されます。これらのフィールドは、次のような xml コメントによって識別されます。

    <!--State is a core field in Team Foundation Work Item Tracking and we recommend that you use this field because it best suits the purpose-->
    

リスト フィールドの処理

ClearQuest のフィールドには、一連の有効な値または推奨される値が定義されている場合があります。コンバータは、フィールドとその種類を読み込むときに、そのフィールドがリスト フィールドであるかどうかも調べます。フィールドがリスト フィールドである場合、コンバータは、有効なリスト値または推奨されるリスト値も収集します。この情報は、作業項目の種類の定義ファイルにおいて、対応するフィールドのセクションに取り込まれます。具体的には、<AllowedValues> 要素または <SugggestedValues> 要素に取り込まれます。

状態および状態の遷移の処理

ClearQuest スキーマにおける状態を基準とするエンティティの種類の定義では、次の情報がサポートされています。

  • 一連の状態。

  • Action と呼ばれる状態間の遷移。

  • その状態に関連付けられたフィールドの動作。

コンバータは、ClearQuest の状態およびアクションを、Team Foundation の作業項目の種類の定義に、状態および状態の遷移として取り込みます。

作業項目フォームの処理

コンバータは、フォーム情報を ClearQuest データベースから Team Foundation に移行しません。コンバータは、分析フェーズで生成されたスキーマの一部として、既定の作業項目フォームを生成します。しかし、この既定のフォームには、ClearQuest の元のフォームとの類似点はありません。既定のフォームには、最小限の書式情報しか含まれておらず、作業項目のレイアウトをより使いやすくするためには、ほとんどの場合編集が必要です。作業項目フォームを編集する方法については、「作業項目フォームの定義」を参照してください。

フォーム上のコントロール

ClearQuest では、Team Foundation と同様に、作業項目フォームにさまざまなコントロールを配置できます。Team Foundation では、定義済みの一連のコントロールがサポートされています。ClearQuest で使用できるコントロールの中には、Team Foundation で使用できないものがあります。移行時には最大限のデータが保持されますが、使用できるコントロールの違いにより、Team Foundation のフォームでのデータの表示が影響を受けます。Team Foundation でサポートされていないコントロールを次に示します。

  • ActiveX コントロール

  • Calendar コントロール

  • Check-Box コントロール

  • Combo-Box コントロール

  • Duplicate Base コントロール

  • Duplicate Dependents コントロール

  • Parent/Child コントロール

  • Picture コントロール

  • Push Button コントロール

  • List Box コントロール

  • List view コントロール

  • Option Button コントロール

  • Static Text Box コントロール

移行計画を立てるときには、これらのコントロールが表示されない場合にユーザーに与える可能性のある影響を評価する必要があります。

フィールド マップ ファイル

フィールド マップ ファイルは、フィールドのマップ方法、および値のマップ方法を指定します。

フィールドのマップ

フィールド マッピング ファイルでは、ClearQuest のフィールドを Team Foundation のフィールドにマップする方法が指定されます。システム フィールドと共通のフィールドを除く ClearQuest のほとんどのフィールドは、Team Foundation に 1 対 1 でマップされます。作業項目の種類の定義ファイルのフィールドに変更を加えた場合は、これらのフィールド マッピング ファイルを同期させておく必要があります。たとえば、作業項目の種類の定義ファイルでフィールド名を変更したら、対応するマップを指定するようマッピング ファイルを変更する必要があります。同様に、作業項目の種類の定義ファイルからフィールドを削除したら、対応するフィールド マッピング ファイルからそれらのフィールドを削除する必要があります。

値のマップ

フィールド マッピング ファイルでは、移行時にフィールドのデータを変換する方法も指定されます。既定では、値のマップは生成されません。移行時にデータを変換する必要がある場合は、値のマップを指定できます。これらの変換を指定するには、値のマップを使用して、"Pri1" という値を "1" にマップするなどの指示を行います。

フィールド マップ ファイルは XML ファイルです。フィールドと値をマップする方法を次の例に示します。

<?xml version="1.0"?>

<FieldMaps xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <!-- Title is a core field in Team Foundation Work Item Tracking and we recommend that you use this field because it best suits the purpose-->

  <FieldMap from="Headline" to="Title" />

  <FieldMap from="Submitter" to="Submitter">

    <ValueMaps refer="UserMap" />

  </FieldMap>

  <!-- Created Date is a core field in Team Foundation Work Item Tracking and we recommend that you use this field because it best suits the purpose-->

  <FieldMap from="Submit_Date" to="Created Date" />

  <!-- Assigned To is a core field in Team Foundation Work Item Tracking and we recommend that you use this field because it best suits the purpose-->

  <FieldMap from="Owner" to="Assigned To">

    <ValueMaps refer="UserMap" />

  </FieldMap>

</FieldMaps>

フィールドのマップの詳細については、「フィールド マップ ファイルのスキーマ」を参照してください。

Area Path フィールドおよび Iteration Path フィールドへのマップ

Team Foundation の作業項目トラッキングは、作業項目を構造的な区分およびイテレーションの階層構造に整理します。詳細については、「方法 : チーム プロジェクトの区分を変更する」および「方法 : チーム プロジェクトのイテレーションを変更する」を参照してください。

パスを使用すると、作業項目を構造的にグループ化して、チームの作業対象であるさまざまなコンポーネント、プロジェクト、またはアプリケーションを表すことができます。イテレーションを使用すると、マイルストーンなどの主なイベント、およびプロジェクトのフェーズに応じて、作業項目をグループ化できます。Team Foundation では、Area Path システム フィールドおよび Iteration Path システム フィールドでこの情報が定義されます。ClearQuest にはこの概念が存在しないため、コンバータはこれらのフィールドに既定値を設定します。既定では、すべての作業項目が Area Path と Iteration Path のルートに格納されます。

ClearQuest には Area Path と Iteration Path が存在しませんが、この概念が他の方法で使用されている場合があります。たとえば、作業項目の種類に、その作業項目が所属する特定のプロジェクトを示すフィールドがあるとします。これは、Area Path の概念におおよそ該当します。同様に、特定の作業項目を固定するマイルストーンを示す 'Fix By' などの別のフィールドがあるとします。これらのフィールドを Area Path と Iteration Path にマップして、作業項目がすべて 1 つのルート ノードに格納されるのではなく、これらの別々のノードに格納されるようにすることをお勧めします。作業項目の種類のフィールド マッピング ファイルでマップを指定する方法は、前述のとおりです。

次の XML の例は、Tree Path という名前の ClearQuest フィールドを、取りうる値である Area1 または Area2 とマップする方法を示しています。

<FieldMap from="Tree Path" to="Area Path" exclude="false">

<ValueMaps>

  <ValueMap from="Area1" to="Area1" />

  <ValueMap from="Area2" to="Area2" />

</ValueMaps>

</FieldMap>

次の XML の例は、Fix By という名前の ClearQuest フィールドを、取りうる値である Alpha または Beta とマップする方法を示しています。

<FieldMap from="Fix By" to="Iteration Path" exclude="false">

<ValueMaps>

  <ValueMap from= "Alpha" to="Alpha"/>

  <ValueMap from= "Beta" to="Beta"/>

</ValueMaps>

</FieldMap>

ユーザー マップ ファイル

ユーザー マップ ファイルでは、ClearQuest と Team Foundation 間のユーザーのマップ方法が指定されます。詳細については、「ユーザー マップ ファイル スキーマ」を参照してください。

スキーマ マップ ファイル

スキーマ マップ ファイルは、元の作業項目の種類、移行後の作業項目の種類、作業項目定義ファイル、およびフィールド マップ ファイルを指定します。詳細については、「方法 : スキーマ マップ ファイルを編集する」を参照してください。

分析レポート ファイル

分析レポート ファイルは、移行の終了時に生成されます。移行レポートは、CQAnalysisReport.xml という名前で、CQConverter の実行元フォルダに生成されます。_MigrationReport_Files という関連フォルダには、レポートをブラウザで表示するためのイメージ ファイルとスタイル シートが格納されます。分析の終了時にこのファイルを開いて、分析フェーズで検出されたエラーや警告を確認する必要があります。分析レポートには、次の情報が表示されます。

  • **概要   **分析の実行に関する概要情報です。

  • **エラー   **分析の実行中に検出されたエラーです。一覧表示されたエラーについては、適切な対策をとる必要があります。

  • **警告   **分析の実行中に検出された警告です。警告には注意する必要がありますが、必ずしも修正する必要はありません。

  • 出力   このセクションには生成された出力ファイルが一覧表示されます。

ログ ファイル

コンバータは、CQConverter.log という名前のログ ファイルを生成します。このファイルはデバッグの目的で使用されるもので、通常はこのファイルを調べる必要はありません。ログ ファイルは、CQConverter の実行元フォルダに作成されます。これにはトレース メッセージが含まれており、コンバータの実行中に検出された問題をデバッグするときに役立つ可能性があります。

トレースのレベルは、CQConverter.exe.config ファイルの MinLevelForAllSource 属性に値を設定することによって制御できます。CQConverter.exe.config ファイルは、CQConverter.exe と同じフォルダにあります。設定できる値は 1 (最小限のトレース) から 4 (最大限のトレース) です。

ms400704.alert_note(ja-jp,VS.90).gifメモ :

トレースのレベルを上げるほど、コンバータのパフォーマンスは低下し、ログ ファイルが非常に大きくなる可能性があります。

エラー ファイル

コンバータは、コンバータの実行中に検出されたすべてのエラーを含むファイルも生成します。このファイルは、ConverterErrors.txt という名前で、CQConverter の実行元と同じフォルダに生成されます。

参照

処理手順

方法 : スキーマ マップ ファイルを編集する

概念

作業項目コンバータ構成ファイル

参照

ユーザー マップ ファイル スキーマ

その他の技術情報

作業項目の種類のカスタマイズ

作業項目ワークフローの定義

作業項目フォームの定義