作業項目フォームのレイアウトの修正

XML ファイルをエクスポートし、FORM セクションの内容を変更することで、作業項目フォームのレイアウトを変更できます。 XML ファイルを変更し、インポートした後、更新された作業項目の種類で行われた変更を確認できます。 レイアウト変更の対象となる種類の一部を次に示します。

  • フォーム上のフィールドのラベルまたは配置を変更する

  • フィールドのグループを別のタブに移動する

  • 新しいタブまたは列を追加する

作業項目フォームに配置できるコントロールの概要については、「作業項目フォーム上のコントロールの指定」を参照してください。 FORM セクションの最上位の構造体要素の概要については、次を参照してください。 作業項目フォームのデザイン

必要条件

この手順を実行するには、Team Foundation 管理者グループのメンバーであるか、またはプロジェクトのプロジェクト管理者グループのメンバーである必要があります。 詳細については、「Team Foundation Server のアクセス許可の参照」を参照してください。

WIT 定義ファイルをエクスポートして開く

  • 行っているカスタマイズの範囲に基づいて、次のいずれかの手順を実行します。

    単一のプロジェクトの作業項目の種類を変更する場合:

    1. witadmin exportwitd を実行して、変更する作業項目の種類の XML ファイルをエクスポートします。 詳細については、「作業項目の種類のインポート、エクスポート、および管理 [witadmin]」を参照してください。

    2. Visual Studio でファイルを開きます。

    WIT を変更してプロセス テンプレートをカスタマイズする場合:

    1. プロセス テンプレートをダウンロードした場所に移動します。

    2. WIT XML ファイルを開きます。

FORM セクションのレイアウトを変更する

  1. XML ファイルの <TabGroup> セクションを探します。 Links や File Attachments などの項目に対して <Tab> 要素があることを確認します。各 <Tab> 要素には、対応するコントロールを表示する <Control> 要素が含まれます。

    <Tab Label="Links">
      <Control Type="LinksControl" />
    </Tab>
    <Tab Label="File Attachments">
      <Control Type="AttachmentsControl" />
    </Tab>
    
  2. 2 つの <Tab> 要素をマージして、両方のコントロールを含む Links and Attachments という単一の <Tab> 要素にするために、前の手順で示した XML を次の例に示す新しい XML で置き換えます。

    <Tab Label="Links and Attachments">
      <Control Type="LinksControl" Label="Links" LabelPosition="Top" />
      <Control Type="AttachmentsControl" Label="Attachments" LabelPosition="Top" />
    </Tab>
    
  3. Classification グループなどの変更対象のグループが定義されている <FORM>、<Layout> セクションを探します。

    <Group Label="Classification">
      <Column PercentWidth="100">
        <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
        <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
      </Column>
    </Group>
    

    注意

    最適な結果を得るには、すべてのコントロールまたはグループを 1 つの列に表示する必要があります。その場合、その列がフォームの幅全体に広がることもあります。また、すべての列を 1 つのグループとして表示する必要があります。その場合、そのグループに表示されるラベルまたは境界がないこともあります。

  4. 後で使用するために、次の行を選択して、クリップボードにコピーします。

                      <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
    <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
    
  5. 次の XML で、先頭が <Group Label="Classification">、末尾が <Group> の行を削除し、フォームの現在の位置から Classification グループを削除します。

    <Layout>
      <Group>
        <Column PercentWidth="70">
          <Control Type="FieldControl" FieldName="System.Title" Label="&amp;Title:" LabelPosition="Left" />
        </Column>
        <Column PercentWidth="30">
          <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Discipline" Label="&amp;Discipline:" LabelPosition="Left" />
        </Column>
      </Group>
      <Group Label="Classification">
        <Column PercentWidth="100">
          <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="&amp;Area:" LabelPosition="Left" />
          <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="&amp;Iteration:" LabelPosition="Left" />
        </Column>
      </Group>
    
  6. <TabGroup> セクションで、[Details] タブが定義されている次の行を探します。

    <Tab Label="Details">
      <Group>
        <Column PercentWidth="50">
          <Group Label="General">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&amp;ue:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.ExitCriteria" Label="E&amp;xit criteria:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Build.IntegrationBuild" Label="Integration &amp;build:" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.TaskHierarchy" Label="Task C&amp;ontext:" LabelPosition="Left" ReadOnly="True" />
            </Column>
          </Group>
        </Column>
        <Column PercentWidth="50">
          <Group Label="Schedule">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Label="Remaining &amp;work (hours):" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Label="Com&amp;pleted work (hours):" LabelPosition="Left" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.StartDate" Label="Start Dat&amp;e:" LabelPosition="Left" ReadOnly="True" />
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.FinishDate" Label="&amp;Finish Date:" LabelPosition="Left" ReadOnly="True" />
            </Column>
          </Group>
        </Column>
      </Group>
    </Tab>
    
  7. これらのコントロールを [詳細] タブに移動するには、クリップボードの内容を <Tab Label="Details"> 要素の前に貼り付けます。

    <Tab Label="Details">
      <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
      <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
      <Group>
        <Column PercentWidth="50">
          <Group Label="General">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&amp;ue:" LabelPosition="Left" />
    ...
    
  8. 移動したフィールドを囲むグループを作成し、フィールドを 2 つの列に分割するために、次の変更を加えます。

    <Tab Label="Details">
      <Group Label="Classification">
        <Column PercentWidth="50">
          <Group>
            <Column PercentWidth="100">
              <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
              <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
        <Column PercentWidth="50">
          <Group>
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />
            </Column>
          </Group>
        </Column>
      </Group>
      <Group>
        <Column PercentWidth="50">
          <Group Label="General">
            <Column PercentWidth="100">
              <Control Type="FieldControl" FieldName="Microsoft.VSTS.Common.Issue" Label="Iss&amp;ue:" LabelPosition="Left" />
    ...
    
  9. 変更内容を保存します。

  10. 新しい作業項目の種類を 1 つのプロジェクトにインポートするには、「作業項目の種類のインポート、エクスポート、および管理 [witadmin]」を参照してください。 作業項目の種類をプロセス テンプレートに追加するには、「プロセス テンプレートへの作業項目の種類定義の追加」を参照してください。

作業項目フォームでの Web ページまたは HTML コンテンツの表示の確認

  1. チーム エクスプローラー で、[最新の情報に更新] をクリックして、サーバーから最新の更新プログラムをダウンロードします。

    これらの更新には、インポートした変更内容が含まれています。 [作業項目] ノードが読み込まれるまで数秒待ちます。 読み込み中のノードには、"処理中" と表示されます。

  2. 変更した作業項目の種類を使用して、新しい作業項目を作成します。

    Classification グループがメイン フォームに存在しなくなったことに注意してください。 [リンクと添付ファイル] タブと [詳細] タブをクリックして、変更の結果を確認します。

参照

関連項目

作業項目の種類のインポート、エクスポート、および管理 [witadmin]

概念

作業項目フォームのデザイン

作業項目フォーム上のコントロールの指定