Элементы WebLayout и Control

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Элемент WebLayout используется для определения макета и элементов управления, отображаемых в формах рабочих элементов, отображаемых на веб-портале. Он поддерживает новый интерфейс рабочего элемента. Он в дополнение к элементу Layout, который определяет элементы формы, которые отображаются при просмотре через Visual Studio и другие не веб-клиенты.

Важно!

Эта статья относится к моделям процессов размещенного XML и локального XML (TFS 2017 и более поздних версий). Сведения о TFS 2015 и более ранних версиях см. в справочнике по XML-элементу Layout.

Модель процесса наследования см. в разделе "Настройка процесса". Общие сведения о моделях процессов см. в статье "Настройка процесса отслеживания работы".

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

Чтобы изменить веб-макет, используйте сведения, приведенные в этом разделе, для изменения XML-файла определения для определенного типа рабочего элемента. Сведения об импорте и экспорте изменений см. в статье "Настройка веб-формы отслеживания работы".

Сведения о настройке макета клиента Windows см. в разделе "Xml-элемент Layout".

Включение новой формы и раздела WebLayout

При включении развертывания новой формы xml-определения для всех типов рабочих элементов (WIT) в коллекции обновляются, чтобы включить раздел WebLayout в раздел FORM .

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

Сводка по элементам и атрибутам

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

Новые элементы Поддерживаемые элементы Устаревшие элементы Нерекомендуемые атрибуты
— ControlContribution
— GroupContribution
— Входные данные
— входные данные
- Страница
— PageContribution
— Раздел
— SystemControls
— WebLayout
- ФОРМА
— Макет
— Группа
— элемент управления
— Столбец
- Разделитель
— Вкладка
— TabGroup
— ControlSpacing
— FixedWidth
— LabelPosition
— LabelSpacing
- Поле
- MinimumSize
— Заполнение
— PercentWidth

Совет

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

Настройка заголовка

В новом макете веб-формы система управляет несколькими элементами заголовка в элементе SystemControls . К ним относятся следующие объекты.

  • Поля: идентификатор рабочего элемента, заголовок, назначенный, состояние, причина, путь к области, путь итерации и теги
  • Страницы: History page icon журнал, Links page icon ссылки и Attachments page icon вложения.

Header element within web form

При экспорте определения WIT вы увидите раздел SystemControls в начале раздела WebLayout , как показано ниже.

<WebLayout ShowEmptyReadOnlyFields="true"> 
    <SystemControls>
      <Control Type="FieldControl" FieldName="System.Title" EmptyText="Enter title" />
      <Control Label="Assi&amp;gned To" Type="FieldControl" FieldName="System.AssignedTo" />
      <Control Label="Stat&amp;e" Type="FieldControl" FieldName="System.State" />
      <Control Label="Reason" Type="FieldControl" FieldName="System.Reason" />
      <Control Label="&amp;Area" Type="WorkItemClassificationControl" FieldName="System.AreaPath" />
      <Control Label="Ite&amp;ration" Type="WorkItemClassificationControl" FieldName="System.IterationPath" />
      <Control Label="History" Type="WorkItemLogControl" FieldName="System.History" />
      <Control Label="Links" Type="LinksControl" Name="Links" />
      <Control Label="Attachments" Type="AttachmentsControl" Name="Attachments" />
    </SystemControls>
...

Примечание

Элемент Link не является допустимым элементом в разделе SystemControls.

Для TFS 2017 локальная модель XML-процессов: вы можете изменить элементы в разделе SystemControls , например изменить значение атрибута EmptyText для поля System.Title . Как правило, мы рекомендуем не настраивать этот раздел гораздо больше, чем это. Например, вы не можете удалить поля из этого раздела или добавить другие поля.

Для TFS 2018 локальный XML и Azure DevOps Services модели процессов размещенного XML: можно указать атрибут ShowEmptyReadOnlyFields или скрыть или заменить поля, определенные в разделе SystemControls.

Например, чтобы скрыть поле Reason, измените элемент Control с помощью атрибута Visible .

<Control Label="Reason" Type="FieldControl" FieldName="System.Reason" Visible="false" />

Чтобы заменить поле Reason другим полем, используйте Replaces атрибут. Кроме того, удалите запись для поля "Причина" из раздела.

<Control Label="Milestone" Type="FieldControl" FieldName="Fabrikam.Milestone" Replaces="System.Reason" />

Можно скрыть или заменить поля "Причина", "Путь к области" и "Путь итерации". Эти поля можно добавить, если вы хотите, на страницу сведений или другую пользовательскую страницу. Вы не можете скрыть или заменить поля "Заголовок", "Кому назначено" или "Состояние".

Пример WebLayout

В следующем примере показана общая структура раздела WebLayout в разделе FORM . WebLayout указывает элемент Control для каждого поля, которое вы хотите отображать в форме.

Элементы группируются в пределах страницы с помощью элементов Section и Group . Элемент Control используется для определения каждого поля или элемента управления, которое вы хотите отображать в форме.

В следующем примере указывается синтаксис страницы сведений, показанной ранее в этом разделе.

<FORM>
. . .
  <WebLayout>
       <SystemControls>
          <Control Type="FieldControl" FieldName="System.Title" EmptyText="Enter title" />
          <Control Label="Assi&amp;gned To" Type="FieldControl" FieldName="System.AssignedTo" />
          <Control Label="Stat&amp;e" Type="FieldControl" FieldName="System.State" />
          <Control Label="Reason" Type="FieldControl" FieldName="System.Reason" />
          <Control Label="&amp;Area" Type="WorkItemClassificationControl" FieldName="System.AreaPath" />
          <Control Label="Ite&amp;ration" Type="WorkItemClassificationControl" FieldName="System.IterationPath" />
          <Control Label="History" Type="WorkItemLogControl" FieldName="System.History" />
          <Control Label="Links" Type="LinksControl" Name="Links" />
          <Control Label="Attachments" Type="AttachmentsControl" Name="Attachments" />
        </SystemControls>
    <Page Label="Details" LayoutMode="FirstColumnWide">
        <Section>
          <Group Label="Description">
             <Control Label="Description" Type="HtmlFieldControl" FieldName="System.Description" />
          </Group>
        </Section>
        <Section>
      <Group Label="Planning">
          <Control Label="Story Points" Type="FieldControl" FieldName="Microsoft.VSTS.Scheduling.StoryPoints" />
          <Control Label="Priority" Type="FieldControl" FieldName="Microsoft.VSTS.Common.Priority" />
        </Group>
        <Group Label="Classification">
          <Control Label="Value area" Type="FieldControl" FieldName="Microsoft.VSTS.Common.ValueArea" />
        </Group>
      </Section>
      <Section>
        <Group Label="Development">
          <Control Type="LinksControl" Name="Development">
            <LinksControlOptions ViewMode="Dynamic" ZeroDataExperience="Development" ShowCallToAction="true">
              <ListViewOptions GroupLinks="false">
              </ListViewOptions>
              <LinkFilters>
                <ExternalLinkFilter Type="Build" />
                <ExternalLinkFilter Type="Pull Request" />
                <ExternalLinkFilter Type="Branch" />
                <ExternalLinkFilter Type="Fixed in Commit" />
                <ExternalLinkFilter Type="Fixed in Changeset" />
                <ExternalLinkFilter Type="Source Code File" />
              </LinkFilters>
            </LinksControlOptions>
          </Control>
        </Group>
       <Group Label="Related Work">
          <Control Type="LinksControl" Name="Related Work">
            <LinksControlOptions>
              <LinkFilters>
                <WorkItemLinkFilter Type="System.LinkTypes.Hierarchy-Reverse" />
                <WorkItemLinkFilter Type="System.LinkTypes.Hierarchy-Forward" />
                <WorkItemLinkFilter Type="System.LinkTypes.Related" />
              </LinkFilters>
              <Columns>
                <Column Name="System.State" />
                <Column Name="System.ChangedDate" />
                <Column Name="System.Links.Comment" />
              </Columns>
            </LinksControlOptions>
          </Control>
        </Group>
      </Section>
    </Page>
  </WebLayout>
</FORM>

Синтаксис элементов WebLayout

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

<WebLayout ShowEmptyReadOnlyFields="true | false">
   ...
</WebLayout>

Атрибуты

Атрибут Описание
ShowEmptyReadOnlyFields Необязательный атрибут элемента WebLayout. Укажите значение true для отображения только для чтения и пустых полей (по умолчанию) и false скрытия этих полей.

Совет

Определение схемы для отслеживания рабочих элементов определяет все дочерние элементы FORM как верблюдю регистр и все остальные элементы как все прописные буквы. Если при проверке файлов определения типов возникнут ошибки, проверьте регистр элементов. Кроме того, структура открывающих и закрывающих тегов должна соответствовать правилам синтаксиса XML. Дополнительные сведения см. в справочнике по элементу Control XML.

Элемент

Описание


Управление

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

<Control FieldName="FieldName" Type="DateTimeControl | ExtensionsControl |  
FieldControl | HtmlFieldControl | LabelControl | WebpageControl"  
Label="LabelText" EmptyText="TextString" 
ReadOnly="True | False" Name="InstanceName" />

См. сведения об атрибутах элемента Control и типе элемента управления для каждого атрибута.

ControlContribution

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

<ControlContribution Id="ContributionId" Label="Name">  
<Inputs>  
<Input Id="FieldName" Value="Value" />  
</Inputs>  
</ControlContribution>  

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

Расширение

Обязательный дочерний элемент для расширений. Используется для указания идентификатора расширения элемента управления рабочими элементами для отображения в форме рабочего элемента. Необходимо указать каждое расширение, используемое в макете для элемента ControlContribution, GroupContribution или PageContribution .

<Extension Id="ExtensionId" />  

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

Расширения

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

<WebLayout >  
<Extensions >  
<Extension Id="ExtensionId" />  
. . .   
</Extensions>   
. . .
</WebLayout>  

ФОРМЫ

Обязательный дочерний элемент WITD , используемый для указания макета и элементов управления для отображения в форме рабочего элемента. Родительский элемент для элементов layout (макета клиентской формы) и WebLayout (макет веб-формы).

<FORM>  
<Layout> . . . </Layout>  
<WebLayout> . . . </WebLayout>  
</FORM>  

Группа

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

<Group Label="LabelText"   
<Control> . . . </Control>  
</Group>  

GroupContribution

Необязательный дочерний элемент раздела< в WebLayout , используемый для указания расширения рабочего элемента на уровне группы для отображения в форме. Расширение будет отображаться как группа в форме.

<GroupContribution Id="ContributionId" Label="Name" />  

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

Входные данные

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

<Input Id="FieldName" Value="Value" />  

Входные данные

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

<Inputs>
<Input Id="FieldName" Value="Value" />  
</Inputs>

Страница

Обязательный дочерний элемент WebLayout. Определяет макет страницы в веб-форме.
Укажите имя страницы и используемый макет.

<Page Label="PageName" LayoutMode="FirstColumnWide | EqualColumns ">  
<Section>    
<Group> . . .   
<Control> . . . </Control>  
<Control> . . . </Control>  
</Group>  
</Section>  
</Page>  

PageContribution

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

<PageContribution Id="ContributionId" Label="Name"  />  

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

Раздел

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

<Page>  
<Section>    
<Group> . . .   
<Control> . . . </Control>  
<Control> . . . </Control>  
</Group>  
</Section>  
</Page>  

SystemControls

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

<SystemControls>    
<Control Type="FieldControl" FieldName="System.Title" EmptyText="Enter title" />   
<Control Label="Assi&gned To" Type="FieldControl" FieldName="System.AssignedTo" />  
<Control Label="Stat&e" Type="FieldControl" FieldName="System.State" />  
<Control Label="Reason" Type="FieldControl" FieldName="System.Reason" />  
<Control Label="&Area" Type="WorkItemClassificationControl" FieldName="System.AreaPath" />  
<Control Label="Ite&ration" Type="WorkItemClassificationControl" FieldName="System.IterationPath" />  
<Control Label="History" Type="WorkItemLogControl" FieldName="System.History" />  
<Control Label="Links" Type="LinksControl" Name="Links" />  
<Control Label="Attachments" Type="AttachmentsControl" Name="Attachments" />  
</SystemControls>  

WebLayout

Обязательный дочерний элемент FORM. Определяет макет формы рабочего элемента, отображаемой на веб-портале. Включает один или несколько элементов Page .

<WebLayout>  
<Page>  
<Section>  
<Group> . . . 
<Control> . . . </Control>  
<Control> . . . </Control>  
</Group>  
</Section>  
</Page>  
. . .
</WebLayout>

Синтаксис элемента control

Элемент Control используется для определения поля рабочего элемента, текста, гиперссылки или другого типа формы для отображения в форме рабочего элемента. Элемент Control , указанный в разделе WebLayout , должен соответствовать следующему синтаксису:

<Control FieldName="FieldRefName" Type="DateTimeControl | FieldControl | 
HtmlFieldControl | LabelControl | WebpageControl Label="LabelText" 
LabelPosition="Top | Bottom | Left | Right" EmptyText="TextString" 
ReadOnly="True | False" Name="InstanceName" [Visible="false" | 
FieldName="ReplacementFieldRefName" Replaces="FieldRefName"] />

Синтаксис атрибута элемента control

Attribute

Описание

Fieldname

Необязательный элемент. Определяет поле рабочего элемента, с которым связывается элемент управления. Укажите имя ссылки поля, которое должно находиться в диапазоне от 1 до 70 символов.

Тип

Обязательный элемент. Определяет тип данных элемента управления. Укажите строку из одного из этих встроенных типов:

  • DateTimeControl: используется для отображения форматированных полей даты с типом поля DateTime.
  • FieldControl: используется для отображения логических значений, обычного текста, числовых полей, полей имени пользователя и списков выбора. Поддерживает поля с типом данных boolean, Double, Identity, Integer, PlainText и String.

Примечание

Доступность компонентов: Поле логического типа данных поддерживается для TFS 2017 и более поздних версий.

  • HtmlFieldControl: используется для отображения многострочного форматированного текста полей с типом ПОЛЯ HTML.
  • LabelControl: используется для отображения текста, не связанного с полем. Текст может быть обычным или в виде гиперссылок. Можно указать дополнительные элементы управления с помощью элементов LabelText, Link и Text .
  • Веб-элементControl: используется для отображения содержимого на основе HTML, определенного универсальным кодом ресурса (URI) или внедренного в тег CDATA. С этим элементом управления не связано никакое поле или тип поля. Вы указываете содержимое и ссылки для отображения с помощью элемента Веб-элементаControlOptions .

EmptyText

Необязательный элемент. Задает текстовую строку длиной от 1 до 255 символов, которая появляется при отсутствии значения в поле.

Label

Необязательный элемент. Задает отображаемый в форме текст, определяющий элемент управления. Введите строку, длина которой не превышает 80 символов. Если оно не указано, используется понятное имя FieldName .

ReadOnly

Необязательный элемент. Указывает, что поле доступно только для чтения:

  • True: поле управления доступно только для чтения.
  • False: поле управления не доступно только для чтения.

имя;

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

Примечание

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

Visible

Необязательный элемент. Укажите Visible="false" , когда нужно скрыть поле, которое обычно включается в область заголовка. Этот атрибут можно указать только в сочетании с полями System.Reason, System.AreaPath или System.IterationPath. Если указать этот атрибут, нельзя указать Replaces этот атрибут.

Заменяет

Необязательный элемент. Укажите FieldName="ReplacementFieldRefName" Replaces="FieldRefName" , когда нужно заменить поле в области заголовка другим полем. Этот атрибут можно указать только в сочетании с полями System.Reason, System.AreaPath или System.IterationPath. Если указать этот атрибут, нельзя указать Visible этот атрибут. Кроме того, необходимо удалить запись для поля, который вы заменяете в разделе.

Синтаксис атрибута control element Type

Тип

Описание

DateTimeControl

Используется для отображения форматированных полей даты с типом DateTimeданных . Используется FieldControl для предоставления текстового поля для ввода или отображения поля DateTime.

<Control FieldName=" MyCompany.Group1.StartDate " Type="FieldControl" 
Label="Start Date" LabelPosition="Left" />

Используется DateTimeControl для предоставления средства выбора календаря для выбора даты для поля, как показано на следующем рисунке.

Date-Time control, Calendar field

<Control Type="DateTimeControl" FieldName="FabrikamFiber.Schedule.SubmittedDate" 
Label="Submitted Date:" LabelPosition="Left"  Format="Short" />

Примечание

Формат даты и времени соответствует профилю пользователя профиля пользователя. Раздел WebLayout не принимает свойство элемента CustomFormatLayout.

FieldControl

Используется для отображения полей с типом логических значений, string, Identity, Integer, Double и PlainText. Пример:

<Control Type="FieldControl" FieldName="FabrikamFiber.Milestone" 
Label="Milestone" Name="Milestone" LabelPosition="Left" />

Доступность компонентов: Логическое поле типа данных поддерживается только для TFS 2017 и более поздних версий. В форме клиентского рабочего элемента, например Visual Studio или Eclipse, отобразится значение True или False.

Логическое поле отображается как флажок в форме веб-рабочего элемента.

Boolean field display in web work item form

HTMLFieldControl

Используется для отображения многострочного форматированного элемента управления. Укажите этот тип элемента управления для полей Type=HTML.
HTML field shown on work item form
Пример:

<Control Type="HtmlFieldControl" FieldName="FabrikamFiber.ReleaseNotes" 
Label="Release Notes" Dock="Fill" />

LabelControl

Используется для отображения текста, не связанного с полем. Текст может быть обычным или в виде гиперссылок. С помощью элементов LabelText, Link и Text можно указать дополнительные элементы управления. См. справочные материалы по элементам LabelText и Text XML , ссылки на элементы Link и Param XML.

WebpageControlOptions

Используется для отображения содержимого на основе HTML, определенного универсальным кодом ресурса (URI) или внедренного в тег CDATA. С этим элементом управления не связано никакое поле или тип поля. Вы указываете содержимое и ссылки для отображения с помощью элемента WebpageControlOptions .

Элемент WebpageControlOptions и его дочерние элементы имеют следующую структуру синтаксиса:

<WebpageControlOptions AllowScript="true | false" ReloadOnParamChange="true | false" >  
<Link UrlRoot="UrlRoot" UrlPath ="UrlPathWithParameters" >  
<Param index="IndexValue" value="ParamValue" type ="Original | Current">  
</Link>  
<Content>  
<![CDATA[Contents of HTML]]/>  
<Content/>  
<WebpageControlOptions/>

Элементы Content, LabelText и Link используются для определения обычного текста или гиперссылок, добавления гиперссылок в поле или отображения содержимого веб-страницы в форме рабочего элемента. Дополнительные сведения о синтаксисе см. в статье "Предоставление текста справки, гиперссылок или веб-содержимого в форме рабочего элемента ".

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

Дополнительные сведения о моделях процессов и поддерживаемых с каждым из них см. в разделе "Настройка процесса отслеживания работы".

Расширения Marketplace

Посетите Azure DevOps Marketplace, чтобы найти расширения, которые можно использовать.

Расширения форм

Элементы ControlContribution, GroupContribution и PageContribution ссылались на Id вклад расширений, установленных для коллекции проектов или учетной записи. Расширение устанавливается из Visual Studio Marketplace. Сведения о создании расширения см. в разделе "Создание первого расширения".

После установки расширений добавьте элемент Contribution в определение XML для типа рабочего элемента. Эти файлы экспортируются путем экспорта процесса или экспорта файла определения WIT.

При экспорте определения XML он будет содержать раздел комментариев, в котором перечислены установленные расширения, их идентификаторы и все необходимые входные данные. Пример:

<!--**********************Work Item Extensions**********************
Extension:
    Name: color-control-dev
    Id: mariamclaughlin.color-control-dev
    Control contribution:
        Id: mariamclaughlin.color-control-dev.color-control-contribution
        Description: 
        Inputs:
            Id: FieldName
            Description: The field associated with the control.
            Type: Field
            IsRequired: true
            Id: Labels
            Description: The list of values to select from.
            Type: String
            IsRequired: false
            Id: Colors
            Description: The field associated with the control.
            Type: String
            IsRequired: false  
Extension:
    Name: vsts-workitem-recentlyviewed
    Id: mmanela.vsts-workitem-recentlyviewed  
    Group contribution:
        Id: mmanela.vsts-workitem-recentlyviewed.recently-viewed-form-group
        Description: Recently viewed work item form group  
Extension:
    Name: vsts-extensions-multi-values-control
    Id: ms-devlabs.vsts-extensions-multi-values-control   
    Control contribution:
        Id: ms-devlabs.vsts-extensions-multi-values-control.multi-values-form-control
        Description: Multi Values Selection Control.
        Inputs:
            Id: FieldName
            Description: The field associated with the control.
            Type: Field
            IsRequired: true
            Id: Values
            Description: The list of values to select from.
            Type: String
            IsRequired: false
Extension:
    Name: vsts-extension-workitem-activities
    Id: ms-devlabs.vsts-extension-workitem-activities   
Extension:
    Name: vsts-uservoice-ui
    Id: ms-devlabs.vsts-uservoice-ui   
    Group contribution:
        Id: ms-devlabs.vsts-uservoice-ui.vsts-uservoice-ui-wi-group
        Description: Shows User Voice details on the work item form
-->

Учитывая приведенный выше пример, можно добавить следующий фрагмент кода в определение типа рабочего элемента, чтобы включить расширение группы vsts-uservoice-ui голосовых данных пользователя, указав идентификатор расширения:

<WebLayout>
... 
 <Extensions>
     <Extension Id="ms-devlabs.vsts-uservoice-ui" />
 </Extensions>
...
</WebLayout> 

После импорта обновленного определения WIT расширение группы автоматически появится в форме рабочего элемента.

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