分類プロセス テンプレート プラグイン
更新 : 2007 年 11 月
分類プラグインは、チーム プロジェクトのイテレーションと構造を制御します。プラグインの名前は Microsoft.ProjectCreationWizard.Classification です。分類の XML ファイルの名前は Classification.xml であり、プロセス テンプレート フォルダ階層内の [分類] フォルダにあります。XML ファイルとフォルダ名は必要に応じて変更できます。
XML ファイルでは、1 つまたは複数のタスクとその依存関係を指定します。通常は、1 つのタスクで、チーム プロジェクトで必要なすべてのイテレーションとノードを指定できます。イテレーションを指定するタスクの例については、MSF for Agile Software Development プロセス テンプレート内の Classifications.xml ファイルを参照してください。
メモ : |
---|
Team Foundation Server は、クライアント側のプラグイン、ポリシー、または他の修正プログラムを配置するメカニズムを備えていません。チーム エクスプローラにプラグイン、ポリシー、または他の修正プログラムを配置するには、独自の配布およびインストール プログラムを使用する必要があります。 |
イテレーション
プロセスに対して定義するイテレーションは、主要なアクティビティ (計画、開発、テストなど) の特定のセットをチームが繰り返す回数を決定します。イテレーションに基づいて作業項目がグループ化されるため、イテレーションは作業項目クエリおよびレポートに影響します。たとえば、チーム メンバは、イテレーション 1 からすべてのバグ作業項目を問い合わせることができます。イテレーションは、このフィールドを参照する作業項目の System.IterationPath フィールドにあります。
次の構文を使用して、イテレーションのルート ノードを指定する必要があります。
<Node StructureType="ProjectLifecycle" Name="Iteration" >
次に、目的に合わせて必要なイテレーションの数だけ、0 個以上の子ノードを指定します。各イテレーションを指定するには、Node 要素を使用します。StructureType 属性は ProjectLifecycle に設定する必要があります。
次の例は、Milestone 1、Milestone 2、Beta、および RTM という 4 つのイテレーションの指定方法を示しています。
<?xml version="1.0" encoding="utf-8" ?>
<tasks>
<task
id="UploadStructure"
name="Creating project structure"
plugin="Microsoft.ProjectCreationWizard.Classification"
completionMessage="Team project structure created.">
<taskXml>
<Nodes>
<Node StructureType="ProjectLifecycle" Name="Iteration" >
<Children>
<Node StructureType="ProjectLifecycle" Name="Milestone 1"></Node>
<Node StructureType="ProjectLifecycle" Name="Milestone 2"></Node>
<Node StructureType="ProjectLifecycle" Name="Beta"></Node>
<Node StructureType="ProjectLifecycle" Name="RTM"></Node>
</Children>
</Node>
</Nodes>
</taskXml>
</task>
</tasks>
区分
区分は、チーム プロジェクトの主要なグループに相当します。たとえば、チームは、作業生産物を、クライアント区分、サーバー区分、および機能拡張区分で編成できます。区分に基づいて、クエリおよびレポート用に作業項目がグループ化されます。区分は、このフィールドを参照する作業項目の System.AreaPath フィールドにあります。
次の構文を使用して、区分のルート ノードを指定する必要があります。
<Node StructureType="ProjectModelHierarchy" Name="Area" >
次に、目的に合わせて必要な区分の数だけ、0 個以上の子ノードを指定します。各区分を指定するには、Node 要素を使用します。StructureType 属性は ProjectModelHierarchy に設定する必要があります。
<Node StructureType="ProjectModelHierarchy" Name="" ></Node>
次の例は、Client および Server という 2 つの区分の指定方法を示しています。
<?xml version="1.0" encoding="utf-8" ?>
<tasks>
<task
id="UploadStructure"
name="Creating project structure"
plugin="Microsoft.ProjectCreationWizard.Classification"
completionMessage="Portfolio project structure created.">
<taskXml>
<Nodes>
<Node StructureType="ProjectModelHierarchy" Name="Teams" >
<Children>
<Node StructureType="ProjectModelHierarchy" Name="Client"></Node>
<Node StructureType="ProjectModelHierarchy" Name="Server"></Node>
</Children>
</Node>
</Nodes>
</taskXml>
</task>
</tasks>
メモ : |
---|
プロセス テンプレートのイテレーションや区分を変更する場合は、workitems.xml 内の作業項目インスタンス タスクを壊さないように注意してください。作業項目インスタンスは、特定のイテレーションや区分を参照している可能性があります。 |
Microsoft Project のフィールド マップ プロパティの指定
分類プラグインは、作業項目の種類と Microsoft Project の間のフィールド マッピングも定義します。Microsoft Excel とは異なり、Microsoft Project は、Task Name などの定義済みの列やカスタム フィールドを含む、限定的な列のセットを使用します。ユーザーが Microsoft Project ファイル内の作業項目データを発行または更新すると、フィールド マップを使用して、作業項目データベース内のフィールドと Microsoft Project 内の列の対応が判断されます。
マップをカスタマイズして、たとえば、自分が作成した新しいフィールドをサポートしたり、カスタム列ではなく定義済みの列にフィールドをマップしたりできます。Microsoft Project フィールド マッピング ファイルの完全なドキュメントについては、「Microsoft Project のフィールド マッピング ファイル」を参照してください。
フィールド マップは、FileMapping.xml という名前の XML ファイルにあります。次の例に示すように、Classification.xml には、FileMapping.xml ファイルを参照するエントリが含まれている必要があります。
<properties>
<property name="MSPROJ"
value="Classification\FileMapping.xml"
isFile="true" />
</properties>
FileMapping.xml では、Mapping 要素を使用して、マップされるフィールドを指定します。
<Mappings>
<Mapping WorkItemTrackingFieldReferenceName="System.Id"
ProjectField=""
ProjectName=""
ProjectUnits=""
PublishOnly=""/>
</Mappings>
Mapping 要素の属性を次の表に示します。
属性 |
説明 |
---|---|
WorkItemTrackingFieldReferenceName |
必ず指定します。作業項目の種類フィールドの参照名を指定します。 |
ProjectField |
必ず指定します。Microsoft Project 列の名前を指定します。Task Name 列の pjTaskName のように、名前の先頭に "pj" を付けることによって、定義済みの列名を指定します。カスタム フィールドは、pjTaskText の末尾に番号を付けて、pjTaskText11 のように指定します。 |
ProjectName |
省略可能です。列名としてユーザーに表示される名前を指定します。この属性を指定しない場合、作業項目の種類フィールドが使用されます。 |
ProjectName |
省略可能です。列名としてユーザーに表示される名前を指定します。この属性を指定しない場合、作業項目の種類フィールドが使用されます。 |
ProjectUnits |
省略可能です。フィールドの種類を Microsoft Project にマップするときに使用する単位の種類を指定します。有効値は、pjMinute、pjHour、pjDay、pjWeek、および pjMonthUnit です。 |
PublishOnly |
省略可能です。この属性を true に設定すると、フィールドは作業項目データベースに発行されるだけで、最新の情報には更新されません。通常、この値はチーム エクスプローラで更新してはならない計算済みのフィールドに使用します。この属性を no に設定すると、フィールドの発行と最新の情報への更新の両方が実行されます。省略時の既定値は no です。 |
次の例は、MSF for Agile Software Development プロセス テンプレートが、作業項目フィールドを Microsoft Project にマップする方法を示しています。
<?xml version="1.0" encoding="utf-8"?>
<MSProject>
<Mappings>
<Mapping WorkItemTrackingFieldReferenceName="System.Id" ProjectField="pjTaskText10" ProjectName="Work Item ID"/>
<Mapping WorkItemTrackingFieldReferenceName="System.Title" ProjectField="pjTaskName" />
<Mapping WorkItemTrackingFieldReferenceName="System.WorkItemType" ProjectField="pjTaskText24" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Discipline" ProjectField="pjTaskText17" />
<Mapping WorkItemTrackingFieldReferenceName="System.AssignedTo" ProjectField="pjTaskResourceNames" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.CompletedWork" ProjectField="pjTaskActualWork" ProjectUnits="pjHour"/>
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.RemainingWork" ProjectField="pjTaskRemainingWork" ProjectUnits="pjHour"/>
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.BaselineWork" ProjectField="pjTaskBaselineWork" ProjectUnits="pjHour"/>
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.StartDate" ProjectField="pjTaskStart" PublishOnly="true"/>
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.FinishDate" ProjectField="pjTaskFinish" PublishOnly="true"/>
<Mapping WorkItemTrackingFieldReferenceName="System.State" ProjectField="pjTaskText13" />
<Mapping WorkItemTrackingFieldReferenceName="System.Reason" ProjectField="pjTaskText14" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Rank" ProjectField="pjTaskText16" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Issue" ProjectField="pjTaskText15" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.ExitCriteria" ProjectField="pjTaskText20" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.QualityOfServiceType" ProjectField="pjTaskText21" />
<Mapping WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Common.Priority" ProjectField="pjTaskText19" ProjectName="Work Item Priority" />
<Mapping WorkItemTrackingFieldReferenceName="System.AreaPath" ProjectField="pjTaskOutlineCode9" />
<Mapping WorkItemTrackingFieldReferenceName="System.IterationPath" ProjectField="pjTaskOutlineCode10" />
<Mapping WorkItemTrackingFieldReferenceName="System.Rev" ProjectField="pjTaskText23" />
<ContextField WorkItemTrackingFieldReferenceName="Microsoft.VSTS.Scheduling.TaskHierarchy"/>
<LinksField ProjectField="pjTaskText26" />
<SyncField ProjectField="pjTaskText25" />
</Mappings>
</MSProject>
マップ フィールド リストには、3 つの特別な列があります。1 つは同期フィールドで、同期フィールドとしての役割を果たす列を指定します。同期フィールドには [発行および更新] のタイトルが付いており、ユーザーは、タスク行が発行または更新のみされるかどうかを指定できます。
同期フィールドにマップする列を指定するには、次の XML 構文を使用します。ProjectField 属性は、有効な Microsoft Project 列に設定されている必要があります。
<SyncField ProjectField="" />
もう 1 つの特殊フィールドは、リンクおよび添付フィールドです。リンクおよび添付列では、特定のタスク行にリンクまたは添付があるかどうかを指定できます。
リンクおよび添付フィールドにマップする列を指定するには、次の XML 構文を使用します。ProjectField 属性は、有効な Microsoft Project 列に設定されている必要があります。
<LinksField ProjectField="" />
最後の特殊フィールドは、コンテキスト フィールドです。コンテキスト フィールドは、サマリー タスクとの階層的な関係についての情報を表示する作業項目の種類フィールドです。コンテキスト フィールドはチーム エクスプローラに表示されるので、Microsoft Project を使用していないユーザーでも、サブタスクがどのサマリー タスクに属しているかを確認できます。
コンテキスト フィールドにする作業項目の種類フィールドを指定するには、以下の XML 構文を使用します。ContextField 要素を使用してコンテキスト フィールドを指定します。WorkItemTrackingFieldReferenceName 属性は、既存の作業項目の種類フィールドの有効な参照名に設定する必要があります。
<ContextField WorkItemTrackingFieldReferenceName="" />
参照
処理手順
概念
Windows SharePoint Services プロセス テンプレート プラグイン
グループおよびアクセス許可のプロセス テンプレート プラグイン
Microsoft Project のフィールド マッピング ファイル