Заметки консультанта

Шамрай Александр Владимирович

Archive for 16.02.2015

Руководство по настройке шаблона процесса TFS. Сценарий 3 – Проверка уровня вложения пути области

Posted by Шамрай Александр на Февраль 16, 2015

Краткий обзор бизнес-проблемы

Этот сценарий как заставить пользователя выбрать путь области, который является по крайней мере «X» уровня вложения. Мы изменим существующий Product Backlog Item из шаблона MSF Scrum, чтобы включить необходимую проверку допустимости.

Что в этом руководстве?

  • Настройка определения типа рабочего элемента для задачи
  • Принудительный выбор уровня вложения «Х» для пути области
  • Реализация и развертывание

Настройка

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

Мы возьмем шаблон рабочего элемента Product Backlog Item и настроим его. Эта настройка проверяет, что выбран правильный путь области:

  1. На форму будут выведены вкладка проверки допустимости или поле, сообщающие пользователю необходимые данные
  2. Запрещенное значение в сообщении проверки создаст подсказку в VS в верхней части рабочего элемента
  3. Пользователь может проверить сообщение для получения дополнительной информации
  4. После того, как пользователь выбирает допустимый Area Path, сообщение проверки обновляется допустимым значением; пользователь может теперь сохранить рабочий элемент

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

Рисунок 24 – Пример сообщения об ошибке для области

Для целей этого руководства мы выполним следующую настройку Area Path.

Рисунок 25 – Пример настройки для пути области

Настройка позволит запретить пользователям выбирать корневой узел (FabrikamFiber), а также два узла второго уровня (Client и Web).

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

 

Шаги

Шаг Описание Сделано
1 Экспортировать тип рабочего элемента, который вы ходите модифицировать [ ]
2 Открыть файл типа рабочего элемента для настройки [ ]
3 Определить идентификаторы запрещенных путей области [ ]
4 Создать новое поле AreaPathValidation со специальным правилом [ ]
5 Создать вкладку Validation Info, чтобы отображать проблему проверки в рабочем элементе, и добавить созданное поле AreaPathValidation на новую вкладку Validation Info [ ]
6 Импортировать настроенный шаблон рабочего элемента [ ]
7 Протестировать настроенный рабочий элемент [ ]

Таблица 4 – Шаги решения

Реализация и развертывание

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

1. Первым шагом является экспорт типа рабочего элемента, который вы хотите изменить из конкретного командного проекта.

Чтобы выполнить это, мы можем использовать программу witadmin:

Перейдите в Пуск-> Microsoft Visual Studio 2012-> Visual Studio Tools и откройте Developer Command Prompt

Выполните следующую команду для экспорта типа в файл xml:

witadmin exportwitd /collection:http://tfsserver:8080/tfs/CollectionName /p:TeamProjectName /f:WorkItemTypePathName.xml /n:Task

2. Откройте файл типа рабочего элемента для настройки, например:


Рисунок 26 – Первоначальный тип рабочего элемента Product BackLog Item

3. Определите идентификатор области для ограничиваемой области

Для определения идентификаторов области различных путей области, которые мы хотим сделать неактивными, мы создадим дополнительный отчет, который включает информацию, необходимую для определения необходимой информации. Для создания нового запроса, нажмите ссылку Новый запрос в разделе запросы Team Explorer.

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

select tbl_nodes.path, treenodes.id from treenodes inner join tbl_nodes on convert(varchar(36), tbl_nodes.id) = treenodes.CSSNodeId order by tbl_nodes.path

Рисунок 27 – Запросы в Team Explorer

Это запустит редактор запросов

Рисунок 28 – Редактор запросов

Нажмите кнопку Параметры столбца на панели инструментов конструктора запросов. Это отобразит окно Параметры столбцов, которое позволит вам обновлять столбцы, которые будут включены в результат запроса, при его выполнении. Измените столбцы для включения AreaID и Area Path (я включил также IterationID и Iteration Path). Нажмите кнопку ОК.

Рисунок 29 – Настройка столбцов в редакторе запросов

Далее нажмите кнопку Выполнить на панели инструментов редактора запросов. Результирующий запрос предоставит вам список путей области и идентификаторы области. Посмотрите в результирующих элементах пути области, которые вы хотите запретить.

Рисунок 30 – Запрос путей и идентификаторов области

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

Путь итерации Идентификатор итерации
FabrikamFiber 19
FabrikamFiber\Client 32
FabrikamFiber\Web 33

Таблица 5 – Идентифицированные пути области для запрета

В этом случае AreaID – 19,32 и 33. Значения и количество AreaID будет варьироваться в зависимости от вашей конкретной конфигурации Team Foundation Server

4. Создайте новое поле AreaPathValidation с определенным правилом.

Рисунок 31 – Поле AreaPathValidation

<FIELD name=»Area Path Validation» refname=»Demo.AreaPathValidation» type=»String»>

<COPY fromvalue» valueNo Errors» />

<PROHIBITEDVALUES>

<LISTITEM valueArea path has to be at least 3 levels deep» />

</PROHIBITEDVALUES>

<WHEN fieldSystem.AreaID» value19«>

<COPY fromvalue» valueArea path has to be at least 3 levels deep» />

</WHEN>

<WHEN fieldSystem.AreaID» value=»32″>

<COPY fromvalue» valueArea path has to be at least 3 levels deep» />

</WHEN>

<WHEN fieldSystem.AreaID» value33«>

<COPY fromvalue» valueArea path has to be at least 3 levels deep» />

</WHEN>

</FIELD>

Исходный код 7 – Поле AreaPathValidation

5. Создайте Вкладку Validation Info для отображения проблем проверки в рабочем элементе и добавьте на нее созданное поле AreaPathValidation.

Рисунок 32 – AreaPathValidation добавленное на форму

<Tab LabelValidation Info«>

<Group LabelValidation Errors«>

<Column PercentWidth100«>

<Control TypeFieldControl« FieldNameDemo.AreaPathValidation«
LabelArea path validation: » LabelPositionLeft» ReadOnlyTrue» />

</Column>

</Group>

</Tab>

Исходный код 8 — AreaPathValidation добавленное на форму

6. Импортируйте новый настроенный шаблон рабочего элемента

Выполните следующую команду импорта:

witadmin importwitd /collection:http://tfsserver:8080/tfs/CollectionName /f:WorkItemTypePathName.xml /p:TeamProjectName

7. Протестируйте настроенный рабочий элемент

Создайте новый рабочий элемент Product Backlog Item, обратите внимание, что появилась новая вкладка Validation Info. Вы также заметите, что присутствует индикатор ошибки проверки. Это, потому что область в настоящее время присвоена FabrikamFiber (корневой узел иерархии пути области).

Рисунок 33 – Вкладка Validation Info

При нажатии на вкладку Validation Info вы можете оценить сообщение.

Рисунок 34 – Начальная ошибка проверки при создании нового Product Backlog Item

Заполните рабочий элемент, введя необходимые данные и убедитесь, что путь области неправильный, при этом появится сообщение об ошибке. Наконец при выборе пути области, которая считается действительной, как показано в ниже, исчезнет сообщение проверки.

Рисунок 35 – Заполненный новый Product Backlog Item с правильным Area Path

 

Итог

В этом пошаговом руководстве мы рассмотрели настройку шаблона процесса для типа рабочего элемента. Было показано как добавить поле, сделать его видимым на форме рабочего элемента, создать правило, которое обеспечит действительный Area Path, и определить AreaID и Area Path.

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

Реклама

Posted in Microsoft, Team Foundation Server, TFS Process Template Customization Guide, Visual Studio | Отмечено: , | Leave a Comment »

 
%d такие блоггеры, как: