Подключаемый модуль процесса классификации
Обновлен: Ноябрь 2007
Подключаемый модуль классификации управляет итерациями и структурой командного проекта. Имя подключаемого модуля — Microsoft.ProjectCreationWizard.Classification. XML-файл классификации называется Classification.xml и находится в папке Classification иерархии папок шаблона процесса. При необходимости можно изменить имя XML-файла и имя папки.
В XML-файле укажите одну или несколько задач и их зависимости. Обычно нужна только одна задача, чтобы задать все итерации и узлы, требуемые для командного проекта. Пример задачи, задающей итерации, см. в файле Classifications.xml в шаблоне процесса «MSF для гибкой разработки программного обеспечения».
![]() |
---|
Сервер Team Foundation Server не содержит механизма развертывания клиентских подключаемых модулей, политик или других модификаций. Если требуется развертывать подключаемые модули, политики или другие модификации в Сред. Командный обозреватель, необходимо использовать собственную программу распространения и установки. |
Итерации
Итерации, определенные для процесса, определяют, сколько раз группа должна повторить определенный набор основных действий (таких как планирование, разработка, тестирование). Итерации влияют на результаты запросов рабочих элементов и отчетов, поскольку итерации используются для группировки рабочих элементов. Например, член команды может запросить все рабочие элементы ошибок из итерации 1. Итерации отображаются в поле System.IterationPath для всех рабочих элементов, относящихся к этому полю.
Необходимо задать корневой узел для итераций, используя следующий синтаксис.
<Node StructureType="ProjectLifecycle" Name="Iteration" >
Затем следует задать 0 или более дочерних узлов для любого количества итераций, необходимых для процесса. Используйте элемент Node для задания каждой итерации. Следует явно задать атрибуту StructureType значение ProjectLifecycle.
Следующий пример показывает, как задать четыре итерации: Milestone 1 (веха 1), Milestone 2 (веха 2), Beta (бета-версия) и RTM (окончательная первоначальная версия).
<?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.
<?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 используется ограниченный набор столбцов, включающих предопределенные столбцы, такие как «Название задачи», и пользовательские поля. Когда пользователь публикует или обновляет данные рабочего элемента в файле приложения Microsoft Project, то с помощью сопоставления полей определяется, какие поля в базе данных рабочих элементов соответствуют столбцам в приложении Microsoft Project.
Сопоставления можно модифицировать, например, при создании нового поля, или чтобы сопоставить поля с предопределенными, а не пользовательскими столбцами. Полная документация по файлу сопоставления полей Microsoft Project содержится в разделе Файл сопоставления полей Microsoft Project.
Описание сопоставления полей находится в XML-файле FileMapping.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. Имена предопределенных столбцов следует указывать с помощью префикса «pj», например «pjTaskName» для столбца «Название задачи». В конце имен пользовательских полей, таких как «pjTaskText», указывайте номер (например, «pjTaskText11»). |
ProjectName |
Необязательно. Определяет имя, отображаемое для пользователя как имя столбца. Если данный атрибут не определен, используется имя поля типа рабочего элемента. |
ProjectName |
Необязательный. Определяет имя, отображаемое для пользователя как имя столбца. Если данный атрибут не определен, используется имя поля типа рабочего элемента. |
ProjectUnits |
Необязательный. Определяет тип единиц, используемых при сопоставлении типа поля с приложением Microsoft Project. Допустимые значения: pjMinute, pjHour, pjDay, pjWeek и pjMonthUnit. |
PublishOnly |
Необязательный. Если для этого атрибута установлено значение true, поле публикуется в базе данных рабочих элементов, но не обновляется. Данное значение обычно используется для вычисляемых полей, которые не должны обновляться в средстве Сред. Командный обозреватель. Если для этого атрибута установлено значение no, поле и публикуется, и обновляется в базе данных рабочих элементов. Если атрибут не указывается, по умолчанию используется значение no. |
В следующем примере показано, как в шаблоне процесса «MSF для гибкой разработки программного обеспечения» поля рабочих элементов сопоставляются с приложением 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>
В списке полей сопоставления существует три специальных столбца. Один является полем синхронизации, которое указывает, какой столбец служит полем синхронизации. Поле синхронизации имеет название «Опубликовать и обновить» и позволяет пользователю указать, является ли строка задач публикуемой или только обновляемой.
Используйте следующий синтаксис XML, чтобы указать, какой столбец сопоставляется с полем синхронизации. Атрибуту ProjectField должно быть задано значение столбца Microsoft Project.
<SyncField ProjectField="" />
Другими специальными полями являются поля ссылок и вложений. Столбец ссылок и вложений позволяет пользователям указывать, существуют ли ссылки или вложения для определенной строки задач.
Используйте следующий синтаксис XML, чтобы указать, какой столбец сопоставляется с полем ссылок и вложений. Атрибуту ProjectField должно быть задано значение столбца Microsoft Project.
<LinksField ProjectField="" />
Последним специальным полем является поле контекста. Поле контекста — это поле типа рабочего элемента, в котором отображаются данные об иерархической связи задачи со сводными задачами. Поле контекста отображается в средстве Сред. Командный обозреватель, чтобы пользователи, которые не используют приложение Microsoft Project, все же могли определять, каким сводным задачам принадлежит та или иная подзадача.
Используйте следующий синтаксис XML, чтобы определить, какое поле типа рабочего элемента является полем контекста. Для указания поля контекста используется элемент ContextField. Для атрибута WorkItemTrackingFieldReferenceName необходимо установить допустимое ссылочное имя существующего поля типа рабочего элемента.
<ContextField WorkItemTrackingFieldReferenceName="" />
См. также
Задачи
Практическое руководство. Проверка изменений классификации
Основные понятия
Подключаемый модуль шаблона процесса Windows SharePoint Services
Подключаемый модуль шаблона процесса управления версиями
Подключаемые модуль "Отчеты" для шаблона процесса
Подключаемый модуль шаблона процесса "Группы и разрешения"
Файл сопоставления полей Microsoft Project
Другие ресурсы
Подключаемый модуль шаблона процесса отслеживания рабочего элемента