Определение корневого элемента tasks с помощью файла подключаемого модуля шаблона процесса

С помощью файла ProcessTemplate.xml можно добавлять и удалять файлы подключаемых модулей шаблона процесса, а также изменять порядок, в котором они обрабатываются. ProcessTemplate.xml является корневым файлом, определяющим весь шаблон процесса и все подчиненные XML-файлы. Этот файл содержит все группы задач, которые необходимо выполнить для успешного создания командного проекта. Каждая группа задания ссылается на подчиненный файл XML (часто находящийся во вложенной папке), в котором определены специфические задания. Как правило, для каждого подключаемого модуля указывается по одной группе задач.

Подробнее о шаблонах процессов Team Foundation Server см. здесь. Подробнее о файлах подключаемых модулей шаблонов процессов см. здесь.

Содержание раздела

  • Структура файла ProcessTemplate.xml

  • Определение подключаемых модулей и групп задач

  • Пример файла ProcessTemplate

Структура файла ProcessTemplate.xml

В каждом файле ProcessTemplate.xml определяются метаданные и группы задач. Метаданные описывают шаблон и задают обрабатываемые подключаемые модули, как показано в следующем примере.

<metadata>
    <name>MSF for Agile Software Development 2013</name>
    <description>This template is flexible and will work great for most teams using Agile planning methods, including those practicing Scrum.</description>
    <plugins>
      <plugin name="Microsoft.ProjectCreationWizard.Classification" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Reporting" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Portal" wizardPage="true" />
. . .
    </plugins>
</metadata>

Группы задач определяют зависимости и задачи, которые необходимо выполнить для каждого подключаемого модуля, как показано в следующем примере.

<groups>
    <group id="Classification" description="Structure definition for the project." completionMessage="Project Structure uploaded.">
      <dependencies></dependencies>
      <taskList filename="Classification\Classification.xml" />
    </group>
    <group id="Groups" description="Create groups and assign permissions." completionMessage="Groups created and permissions assigned.">
      <dependencies>
        <dependency groupId="Classification" />
      </dependencies>
      <taskList filename="Groups and Permissions\GroupsandPermissions.xml" />
    </group>
. . .
</groups>

К началу

Определение подключаемых модулей и групп задач

Файл ProcessTemplate.xml настраивается с помощью элемента ProcessTemplate и его дочерних элементов. Дополнительные сведения о синтаксисе каждого из элементов см. в разделе Справочник по XML-элементам ProcessTemplate.

Подключаемые модули и корневые задачи, которые должны быть обработаны, определяются путем задания следующих сведений в приведенной последовательности.

  1. name. Этот элемент служит для назначения метки шаблону процесса. В мастере создания командного проекта шаблон процесса задается по его имени, как показано в следующем примере.

    <name>Simplified Process</name>
    

    Этот элемент является обязательным. Имя отображается не только в списке шаблонов процесса в мастере создания командного проекта, но и в диалоговом окне диспетчера шаблонов процессов. Имя каждого шаблона процесса должно быть уникальным в пределах коллекции командных проектов, а его длина не должна превышать 254 символов Юникода. При совпадении имени передаваемого шаблона с именем уже имеющегося шаблона последний шаблон будет перезаписан.

  2. description. Этот элемент служит для определения текста, описывающего шаблон процесса в мастере создания командного проекта, как показано в следующем примере.

    <description>Choose the simple process for projects that require little or no overhead and have very low cost.</description>
    

    Этот текст отображается на странице Выбор шаблона процесса в мастере создания командного проекта, когда администратор или глава проекта выбирают шаблон процесса для работы. В общем случае следует попытаться описать, для каких проектов можно использовать данный шаблон процесса с точки зрения размера команды, продолжительности проекта, затрат и других факторов.

  3. Подключаемые модули. Для определения набора подключаемых модулей, используемых в шаблоне процесса, служат элементы plugins и plugin. Следует убедиться, что в списке имеются все подключаемые модули, на которые ссылаются какие-либо подчиненные XML-файлы. Также следует задать атрибут wizardPage (со значением true или false), чтобы указать необходимость страницы для подключаемого модуля в мастере создания командного проекта. Следует задать набор подключаемых модулей, которые будут обрабатываться при создании командного проекта, а также необходимость отображения страницы для конкретного подключаемого модуля в мастере создания командного проекта.

    В следующем фрагменте кода XML показаны правильные значения для каждого из девяти подключаемых модулей, входящих в Visual Studio Application Lifecycle Management (ALM).

    <plugins>   <plugin name="Microsoft.ProjectCreationWizard.Classification" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.Reporting" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.Portal" wizardPage="true"/>   <plugin name="Microsoft.ProjectCreationWizard.Groups" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.WorkItemTracking" wizardPage="false"/>   <plugin name="Microsoft.ProjectCreationWizard.VersionControl" wizardPage="true"/>   <plugin name="Microsoft.ProjectCreationWizard.TestManagement" wizardPage="false" />   <plugin name="Microsoft.ProjectCreationWizard.Build" wizardPage="false" />   <plugin name="Microsoft.ProjectCreationWizard.Lab" wizardPage="false" /></plugins>
    
  4. Группы задач. Для определения групп задач служат элементы groups и group. Каждая группа задач содержит сведения, необходимые для обработки одного из подключаемых модулей. Каждая группа задач определяет файл, содержащий набор задач для обработки и необязательные зависимости данной группы от других групп. Самый распространенный и простой подход — создавать по одному элементу taskList для каждой группы и для каждого подключаемого модуля.

    Например, в следующем примере показано, как с помощью группы задач создать группы и разрешения по умолчанию. Конкретные задачи определяются в файле, заданном по ссылке (GroupsandPermissions.xml). Эта группа задач зависит от успешного выполнения задач в группе Classification.

    <group id="Groups" description="Create groups and assign permissions." completionMessage="Groups created and permissions assigned.">   <dependencies>      <dependency groupId="Classification" />   </dependencies>   <taskList filename="Groups and Permissions\GroupsandPermissions.xml" /></group>
    

    Для каждой группы задач задаются следующие сведения.

    1. Идентификатор. Уникальный идентификатор, назначенный подключаемому модулю.

    2. Описание. Текст, описывающий задачи подключаемого модуля в мастере создания командного проекта.

    3. Сообщение о выполнении. Сообщение, отображаемое в мастере создания командного проекта в случае успешного выполнения всех задач подключаемого модуля.

    4. (Необязательно.) Сообщение о сбое. Сообщение, отображаемое в мастере создания командного проекта, если не удалось выполнить одну или несколько задач подключаемого модуля.

    5. (Необязательно.) Зависимости подключаемого модуля. Для определения набора зависимостей обрабатываемого подключаемого модуля используются элементы dependencies и dependency. Зависимость соответствует подключаемому модулю, который должен быть успешно обработан, прежде чем можно будет обрабатывать задачи текущего подключаемого модуля.

    6. Файл задач. С помощью элемента tasklist задается файл, который содержит набор задач, которые должны быть обработаны в рамках подключаемого модуля.

К началу

Пример файла ProcessTemplate

В следующем примере кода показано содержимое файла ProcessTemplate.xml для шаблона Microsoft Visual Studio Scrum.

<?xml version="1.0" encoding="utf-8"?>
<ProcessTemplate>
  <metadata>
    <name>Microsoft Visual Studio Scrum 2013</name>
    <description>This template is for teams who follow the Scrum methodology and use Scrum terminology.</description>
<version type="6B724908-EF14-45CF-84F8-768B5384DA45" major="3" minor="6" />
    <plugins>
      <plugin name="Microsoft.ProjectCreationWizard.Classification" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Reporting" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Portal" wizardPage="true" />
      <plugin name="Microsoft.ProjectCreationWizard.Groups" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.WorkItemTracking" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.VersionControl" wizardPage="true" />
      <plugin name="Microsoft.ProjectCreationWizard.TestManagement" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Build" wizardPage="false" />
      <plugin name="Microsoft.ProjectCreationWizard.Lab" wizardPage="false" />
    </plugins>
  </metadata>
  <groups>
    <group id="Classification" description="Structure definition for the project." completionMessage="Project structure uploaded.">
      <dependencies>
</dependencies>
      <taskList filename="Classification\Classification.xml" />
    </group>
    <group id="Groups" description="Create groups and assign permissions." completionMessage="Groups created and permissions assigned.">
      <dependencies>
        <dependency groupId="Classification" />
      </dependencies>
      <taskList filename="Groups and Permissions\GroupsAndPermissions.xml" />
    </group>
    <group id="WorkItemTracking" description="Work item definitions uploading." completionMessage="Work item tracking tasks completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
      </dependencies>
      <taskList filename="WorkItem Tracking\WorkItems.xml" />
    </group>
    <group id="VersionControl" description="Creating version control." completionMessage="Version control task completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
        <dependency groupId="WorkItemTracking" />
      </dependencies>
      <taskList filename="Version Control\VersionControl.xml" />
    </group>
    <group id="Build" description="Build default processes uploading." completionMessage="Build default processes uploaded.">
      <dependencies>
        <dependency groupId="VersionControl" />
        <dependency groupId="Groups" />
      </dependencies>
      <taskList filename="Build\Build.xml" />
    </group>
    <group id="Lab" description="Creating Lab." completionMessage="Lab task completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
        <dependency groupId="WorkItemTracking" />
        <dependency groupId="Build" />
      </dependencies>
      <taskList filename="Lab\Lab.xml" />
    </group>
    <group id="TestManagement" description="Test Management default configurations uploading." completionMessage="Test Management default configurations uploaded.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Groups" />
        <dependency groupId="WorkItemTracking" />
      </dependencies>
      <taskList filename="Test Management\TestManagement.xml" />
    </group>
    <group id="Reporting" description="Project reports uploading." completionMessage="Project reporting tasks completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="WorkItemTracking" />
        <dependency groupId="VersionControl" />
      </dependencies>
      <taskList filename="Reports\ReportsTasks.xml" />
    </group>
    <group id="Portal" description="Creating project portal site" completionMessage="Project portal tasks completed.">
      <dependencies>
        <dependency groupId="Classification" />
        <dependency groupId="Reporting" />
      </dependencies>
      <taskList filename="Windows SharePoint Services\WssTasks.xml" />
    </group>
  </groups>
</ProcessTemplate>

См. также

Основные понятия

Общие сведения о файлах шаблонов процессов

Настройка шаблона процесса

Другие ресурсы

Справочник по XML-элементам ProcessTemplate