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

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

Руководство по настройке шаблона процесса TFS. Сценарий 2 – Принудительный выбор причины

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

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

Сценарий позволяет пользователю выбрать причину при переходе рабочего элемента Task из состояния «TO DO» в состояние «Done».

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

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

Настройка

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

Мы возьмем шаблон рабочего элемента Task и настроим его. Когда пользователь перемещает рабочий элемент в состояние Done:

  1. Состояние изменяется из To Do в Done
  2. Поле Reason отображает сообщение с запросом значения
  3. Поле проверки будет отображаться на форме, сообщая пользователю о необходимых данных
  4. Во время изменения состояния сообщению проверки присваивается сообщение об ошибке (это также запрещенное значение)
  5. Запрещенное значение в сообщении проверки создаст подсказку в VS в верхней части рабочего элемента
  6. Пользователь может просмотреть сообщение проверки для получения дополнительной информации
  7. После того как пользователь выбирает правильную причину, сообщение проверки получает обновление до допустимого значения; Пользователь теперь может сохранить рабочий элемент

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

Шаги

Шаг Описание Сделано
1 Экспортировать тип рабочего элемента, который вы ходите использовать как базовый для нового типа рабочего элемента [ ]
2 Отредактировать переход из To-Do в Done и установить новый ReasonSelectedValidation [ ]
4 Импортировать новый настроенный шаблон рабочего элемента [ ]
5 Протестировать настроенный тип рабочего элемента с измененными состояниями [ ]

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

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

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

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

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

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

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

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

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


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

3. Добавьте новое поле ReasonSelectedValidation со следующими правилами:

Рисунок 14 – Поле ReasonSelectedValidation

<FIELD nameReasonSelectedValidation» refnameDemo.ReasonSelectedValidation» typeString«>

<PROHIBITEDVALUES>

<LISTITEM valueYou must select a reason to close this task«> </LISTITEM>

</PROHIBITEDVALUES>

<HELPTEXT>You must select a reason when closing a task </HELPTEXT>

</FIELD>

Исходный код 3 – Поле проверки выбранной итерации

4. Создайте новую вкладку Validation Info для отображения проблем проверки внутри рабочего элемента и добавьте новое поле ReasonSelectedValidation на форму типа рабочего элемента.

Рисунок 15 – Поле ReasonSelectedValidation добавленное на форму рабочего элемента

<Tab LabelValidation Info«>

<Group LabelValidation Errors«>

<Column PercentWidth100«>

<Control TypeFieldControl» FieldNameDemo.ReasonSelectedValidation» LabelReason Selected» LabelPositionLeft» ReadOnlyTrue» />

</Column>

</Group>

</Tab>

Исходный код 4 — Поле ReasonSelectedValidation добавленное на форму рабочего элемента

Тут также нужно проверить, что поле System.Reason не настроено как доступное только для чтения (как бывает в случае с некоторыми из встроенных типов рабочих элементов). Ниже приводится то, что вам нужно найти:

Рисунок 16 — System.Reason как поле только для чтения

В этом случае поле помечено как только для чтения, поэтому этот атрибут нужно удалить, и результат будет следующим:

Рисунок 17 — System.Reason доступное для редактирования

5. Модифицируйте переход из состояния To Do в Done, установив поле ReasonSelectedValidation в неправильное значение

Рисунок 18 – Неправильное поле ReasonSelectedValidation при изменении состояния

<FIELDS>

<FIELD refnameDemo.ReasonSelectedValidation«>

<COPY fromvalue» valueYou must select a reason to close this task» />

</FIELD>

</FIELDS>

6. Отредактируйте секцию причин для обновления поля ReasonSelectedValidation значением без ошибки, когда причина установлена

Рисунок 19 – Изменение в переходах между состояниями

<REASONS>

<DEFAULTREASON valueSelect a Reason…» />

<REASON valueWork Finished«>

<FIELDS>

<FIELD refnameDemo.ReasonSelectedValidation«>

<COPY fromvalue» valueNo Errors» />

</FIELD>

</FIELDS>

</REASON>

<REASON valueObsolete«>

<FIELDS>

<FIELD refnameDemo.ReasonSelectedValidation«>

<COPY fromvalue» valueNo Errors» />

</FIELD>

</FIELDS>

</REASON>

<REASON value=»Deferred»>

<FIELDS>

<FIELD refnameDemo.ReasonSelectedValidation«>

<COPY fromvalue» valueNo Errors» />

</FIELD>

</FIELDS>

</REASON>

</REASONS>

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

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

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

8. Протестируйте изменения состояний в настроенном рабочем элементе

Создайте новый рабочий элемент Task, обратите внимание, что появилась новая вкладка Validation Info.

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

Заполните рабочий элемент Task, указав необходимую, информацию и сохраните его. Это установит задачу в состояние To-Do. Ниже приведен пример заполненного рабочего элемента:

Рисунок 21 – новая заполненная задача

Измените состояние на Done, вы заметите, что Validation Info обновится сразу сообщением «You must select a reason to close the task».

Рисунок 22 – Рабочий элемент Task с ошибкой проверки

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

Рисунок 23 — Рабочий элемент Task с исправленной ошибкой проверки

Итог

В этом руководстве мы рассмотрели создание и настройку нового типа рабочего элемента шаблона процесса на основе встроенного типа рабочего элемента Task. Настройки показали, как добавить поле, сделать его видимым в пользовательском интерфейсе рабочего элемента, создать правила, гарантирующие, что требуется причина, если новый рабочий элемент был помечен как «Done».

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

Advertisements

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

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