Определение элементов управления связей для ограничения ссылочных отношений
Управлять тем, какие рабочие элементы связываются друг с другом, можно путем настройки формы рабочего элемента. В частности, можно управлять типами связей и рабочих элементов, которые пользователи могут просматривать и добавлять в элементе управления связями. Например, можно добавить в форму вкладку для управления зависимыми функциями. На этой вкладке можно добавить элемент управления связями и ограничить ссылочные отношения, которые члены команды смогут просматривать и создавать из этого элемента управления, только связями с другими функциями.
Предоставить пользователям возможность создавать ссылочные отношения между рабочими элементами и другими объектами в базе данных Team Foundation можно с помощью атрибута LinksControl элемента ControlType. Затем можно с помощью дочерних элементов LinksControlOptions определить параметры управления тем, какие связи члены команды могут добавлять в рабочий элемент, и на какие типы рабочих элементов или объекты могут указывать эти связи. Также можно определить столбцы, которые должны отображаться по умолчанию в списке связей в этом элементе управления.
Сводную информацию об ограничениях связей, определенных для шаблонов процессов TFS, см. в разделе Справочник по элементам управления, ограничениям и полям связей. Дополнительные сведения о типах связей см. в разделе Справочник по элементам типов связей.
В этом разделе
Задание элемента управления связями
Управление ссылочными отношениями
Ограничение ссылочных отношений рабочими элементами
Ограничение ссылочных отношений наборами изменений, гиперссылками и прочими элементами, не являющимися рабочими элементами
Ограничение ссылочных отношений определенными типами рабочих элементов
Задание столбцов для отображения по умолчанию
Задание элемента управления связями
Для предоставления пользователям возможности добавлять и просматривать ссылочные отношения в форме рабочего элемента, а также управлять этими отношениями, используется атрибут LinksControl. С помощью этого элемента управления пользователи могут открывать, редактировать, добавлять и удалять связи.
Можно настроить форму таким образом, чтобы на одной вкладке отображались только связи "родитель-потомок", а на другой вкладке — все остальные типы связей. В следующем примере создается вкладка с названием "All Links", которую члены команды могут использовать для добавления связей всех типов. Также по умолчанию на вкладке отображаются столбцы "Идентификатор", "Тип рабочего элемента", "Название", "Кому назначено", "Состояние" и "Комментарий связи".
Элемент управления связями
<Tab Label="All Links">
<Control Type="LinksControl" Name="All" >
<LinksControlOptions>
<LinkColumns>
<LinkColumn RefName="System.ID" />
<LinkColumn RefName="System.WorkItemType" />
<LinkColumn RefName="System.Title" />
<LinkColumn RefName="System.AssignedTo" />
<LinkColumn RefName="System.State" />
<LinkColumn LinkAttribute="System.Links.Comment" />
</LinkColumns>
</LinksControlOptions>
</Control>
</Tab>
К началу
Управление ссылочными отношениями
При добавлении элемента управления связями в форму рабочего элемента можно задать фильтры, чтобы ограничить типы связей и рабочих элементов, которые члены команды смогут добавлять при работе с этим элементом управления. В следующей таблице описаны необязательные дочерние элементы, используемые для управления ссылочными отношениями.
Элемент |
Описание |
---|---|
WorkItemLinkFilters |
Ограничивает типы связей, которые могут использоваться для связывания рабочих элементов. |
ExternalLinkFilters |
Ограничивает типы связей, которые могут использоваться для связывания с объектом, не являющимся рабочим элементом, таким как набор изменений, гиперссылка или элемент системы управления версиями. |
WorkItemTypeFilters |
Ограничивает типы рабочих элементов, связи с которыми может создавать пользователь, и командные проекты, в которых определены эти рабочие элементы. |
Filter |
Задает включаемые или исключаемые типы связей или типы рабочих элементов. |
К началу
Ограничение ссылочных отношений рабочими элементами
Для определения типов связей, включаемых в элемент управления связями или исключаемых из него, используются дочерние элементы WorkItemLinkFilters и Filter. Эти элементы позволяют ограничить типы связей, которые элемент управления связями может выбирать для формирования отношений с рабочими элементами, определенными в том же проекте. Для этих элементов используется следующий синтаксис.
<WorkItemLinkFilters FilterType="include | exclude | includeAll | excludeAll">
<Filter LinkType="linkTypeRefName" FilterOn="reversename | forwardname" />
</WorkItemLinkFilters>
Атрибут |
Описание |
---|---|
FilterType |
Обязательный атрибут элемента WorkItemLinkFilters. Определяет метод, используемый для фильтрации набора типов связей, предоставленного в наборе элементов Filter. Можно использовать следующие допустимые значения.
|
LinkType |
Обязательный атрибут элемента Filter. Задает ссылочное имя типа связи. Для получения дополнительной информации см. Справочник по элементам типов связей. |
FilterOn |
Необязательный атрибут элемента Filter. Задает тип фильтра, применяемого к типу связи. Можно использовать следующие допустимые значения.
Если этот атрибут не задан, для фильтрации типа связи используются имена как прямой, так и обратной связи. Если топология типа связи — сеть, имена прямой и обратной связи совпадают. Для получения дополнительной информации см. Справочник по элементам типов связей. |
Пример: исключение двух типов связей рабочих элементов
С помощью следующего примера кода можно определить элемент управления связями, допускающий все ссылочные отношения для всех типов связей, за исключением настраиваемого типа связи "требование" и системного типа связи "иерархия".
<Control Type="LinksControl" Name="UniqueName">
<LinksControlOptions>
<WorkItemLinkFilters FilterType="exclude">
<Filter LinkType="MyLinks.LinkTypes.Requirement" />
<Filter LinkType="System.LinkTypes.Hierarchy" />
</WorkItemLinkFilters>
<ExternalLinkFilters FilterType="excludeAll" />
</LinksControlOptions>
. . .
</Control>
К началу
Ограничение ссылочных отношений наборами изменений, гиперссылками и прочими элементами, не являющимися рабочими элементами
Для определения включаемых в элемент управления связями или исключаемых из него типов связей с элементами, внешними по отношению к командному проекту, используются дочерние элементы ExternalLinkFilters и Filter. Для этих элементов используется следующий синтаксис.
<ExternalLinkFilters FilterType="include | exclude | includeAll | excludeAll">
<Filter LinkType="externalLinkName" />
</ExternalLinkFilters>
Атрибут |
Описание |
---|---|
FilterType |
Необязательный атрибут элемента ExternalLinkFilters. Определяет метод, используемый для фильтрации набора типов связей, предоставленного в наборе элементов Filter. Можно использовать следующие допустимые значения.
Если этот атрибут не задан, исключаются все связи с внешними рабочими элементами. |
LinkType |
Обязательный атрибут элемента Filter. Задает ссылочное имя включаемого или исключаемого типа связи. Можно указать следующие типы связей:
|
Пример: исключение всех связей с элементами, не являющимися рабочими элементами
В следующем примере определен элемент управления связями, включающий все типы связей с рабочими элементами, такие как "связанный" и "родитель-потомок", однако исключающий типы связей с элементами, не являющимися рабочими элементами, такими как наборы изменений, гиперссылки и результаты тестов.
<Control Type="LinksControl" Name="UniqueName">
<LinksControlOptions>
<WorkItemLinkFilters FilterType="includeAll" />
<ExternalLinkFilters FilterType="excludeAll" />
</LinksControlOptions>
</Control>
В следующем примере определен элемент управления связями, позволяющий пользователям указывать только тип связи "набор изменений" и создавать связи только с наборами изменений.
<Control Type="LinksControl" Name="UniqueName">
<LinksControlOptions>
<WorkItemLinkFilters FilterType="excludeAll"/>
<ExternalLinkFilters FilterType="include" />
<Filter LinkType="Fixed in Changeset" />
</ExternalLinkFilters>
</LinksControlOptions>
. . .
</Control>
К началу
Ограничение ссылочных отношений определенными типами рабочих элементов
Для ограничения типов рабочих элементов, связи с которыми допускает элемент управления связями, используются дочерние элементы WorkItemTypeFilters и Filter. Можно ограничить ссылочные отношения командным проектом или по типу рабочего элемента. Для этих элементов используется следующий синтаксис.
<WorkItemTypeFilters Scope=" project | all" FilterType=" include | exclude | includeAll" >
<Filter WorkItemType="workItemTypeReferenceName" />
</WorkItemTypeFilters>
Атрибут |
Описание |
---|---|
Scope |
Необязательный атрибут элемента WorkItemTypeFilters. Определяет область действия фильтра, применяемого к набору типов рабочих элементов, предоставленному в наборе элементов Filter. Можно использовать следующие допустимые значения.
Если этот атрибут не задан, разрешены связи со всеми типами рабочих элементов. |
FilterType |
Обязательный атрибут элемента WorkItemTypeFilters. Определяет метод, используемый для фильтрации набора типов связей, предоставленного в наборе элементов Filter. Можно использовать следующие допустимые значения.
|
WorkItemType |
Обязательный атрибут элемента Filter. Задает ссылочное имя типа рабочего элемента. |
Пример: ограничение ссылочных отношений рабочими элементами типа "задача"
В следующем примере определен элемент управления связями, допускающий формирование только иерархических отношений с задачами, определенными в командном проекте.
<Control Type="LinksControl" Name="UniqueName">
<LinksControlOptions>
<WorkItemLinkFilters FilterType="include">
<Filter LinkType="System.LinkTypes.Hierarchy" />
</WorkItemLinkFilters>
<ExternalLinkFilters FilterType="excludeAll"/>
<WorkItemTypeFilters Scope ="project" FilterType="include" />
<Filter WorkItemType="Task" />
</WorkItemTypeFilters>
</LinksControlOptions>
. . .
</Control>
К началу
Задание столбцов для отображения по умолчанию
Для задания столбцов, по умолчанию отображаемых в элементе управления связями, используются дочерние элементы LinkColumns и LinkColumn. Можно указать либо ссылочное имя поля рабочего элемента, либо атрибут связи. Для этих элементов используется следующий синтаксис.
<LinkColumns>
<LinkColumn RefName="reference name" | LinkAttribute=" link attribute name" />
</LinkColumns>
Порядок перечисления элементов определяет порядок отображения полей столбцов в форме рабочего элемента. Перечень ссылочных имен и атрибутов связей см. в разделе Справочник по полям рабочих элементов для Visual Studio ALM. Следующий синтаксис определяет отображение четырех столбцов: "Идентификатор", "Состояние", "Название" и атрибута связи "Комментарий".
<Control Type="LinksControl">
. . .
<LinksControlOptions>
<LinkColumns>
<LinkColumn RefName="System.ID" />
<LinkColumn RefName="System.State" />
<LinkColumn RefName="System.Title" />
<LinkColumn LinkAttribute="System.Links.Comment" />
</LinkColumns>
</LinksControlOptions>
</Control>
К началу
См. также
Ссылки
Основные понятия
Справочник по элементам управления, ограничениям и полям связей