“Мои инциденты”– показывать инциденты, назначенные группы, в которые я вхожу

По умолчанию, представление “Мои инциденты” показывает список инцидентов, назначенных на текущую учетную запись. Такое поведение возможно благодаря использованию токена [me] в условии отбора. Представления поддерживают еще один токен – [mygroups], который позволяет фильтровать по вхождению в группу текущего пользователя.

Просто заменить токен нельзя – в этом случае мы потеряем инциденты, назначенные на пользователя, а не на группу. Для того, чтобы получить оба критерия в одном представлении, придется редактировать пакет управления (МП) вручную. Для этого необходимо:

  1. Экспортировать МП “Библиотека настройки управления инцидентами Service Manager”(ServiceManager.IncidentManagement.Configuration) в любую папку.
  2. Открыть полученный файл ServiceManager.IncidentManagement.Configuration.xml с помощью любого редактора.
  3. Найти в тексте представление “Мои инциденты”, оно начинается со строк:
    <View ID="System.WorkItem.Incident.AssignedToMe.View" Accessibility="Public" Enabled="true" Target="CoreIncident!System.WorkItem.Incident" TypeID="SMConsole!GridViewType" Visible="true">
      <Category>NotUsed</Category>
       <Data>
         <Adapters>
    		....
    
  4. Отредактировать секцию FreeFormCriteria, заменив значение:
    <Freeform>
    <Criteria xmlns="http://Microsoft.EnterpriseManagement.Core.Criteria/">
      <Expression>
    	<SimpleExpression>
    	  <ValueExpressionLeft>
    		<GenericProperty Path="$Context/Path[Relationship='WorkItem!System.WorkItemAssignedToUser' SeedRole='Source']$">Id</GenericProperty>
    	  </ValueExpressionLeft>
    	  <Operator>Equal</Operator>
    	  <ValueExpressionRight>
    		<Token>[me]</Token>
    	  </ValueExpressionRight>
    	</SimpleExpression>
      </Expression>
    </Criteria>
    </Freeform>
    

    на значение:

    <Freeform>
    <Criteria xmlns="http://Microsoft.EnterpriseManagement.Core.Criteria/">
      <Expression>
    	<In>
    	   <GenericProperty Path="$Context/Path[Relationship='WorkItem!System.WorkItemAssignedToUser' SeedRole='Source']$">Id</GenericProperty>
    	   <Values>
    		 <Token>[me]</Token>
    		 <Token>[mygroups]</Token>
    	  </Values>
    	</In>
      </Expression>
    </Criteria>
    </Freeform>
    
  5. Сохранить пакет управления, и импортировать его в SCSM.

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

Если вы захотите добавить столбец “Кому Назначено” в это представление, необходимо дополнительно отредактировать файл, добавив:

  1. В секцию <Columns> (в этой секции столбцы идут в том порядке, в котором они отображаются в консоли):
    <mux:Column Name="assignedDisplayName" DisplayMemberBinding="{Binding Path=AssignedUser.DisplayName, Mode=OneWay}" Width="150" DisplayName="Header_Assigned_To" Property="AssignedUser.DisplayName" DataType="s:String" />
    
  2. В секцию <ViewStrings>:
    <ViewString ID="Header_Assigned_To">$MPElement[Name="System.WorkItem.Incident.Active.View.Header_Assigned_To"]$</ViewString>
    
  3. Итог работы:

    qnswks1n

    Три замечания:

  1. Не стоит после этого редактировать представление из консоли, т.к. вы потеряете изменение критерия отбора.
  2. У меня представление обновилось после небольшой задержки, так что обновите представление через несколько минут
  3. По предварительным данным Microsoft, с выходом SP1 токен [me] будет включать в себя действие токена [mygroups].
Реклама

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

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

Логотип WordPress.com

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

Фотография Twitter

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

Фотография Facebook

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

Google+ photo

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

Connecting to %s

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