다음을 통해 공유


Unified Service Desk에서 알림 구성

 

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Unified Service Desk에서 알림을 구성하여 일반 정보 또는 에이전트에서 수행할 수 있는 일부 고객 또는 프로세스 관련 정보를 포함하는 고객 서비스 에이전트에 팝업 알림 메시지를 표시할 수 있습니다. 알림 메시지의 레이아웃과 동작은 Unified Service Desk의 양식을 사용하여 XAML 형식으로 정의되며 새 호스팅된 컨트롤 형식인 Popup Notification을 사용하여 부동 팝업 메시지로 표시됩니다.추가 정보:팝업 알림(호스팅된 컨트롤)

알림은 특정 이벤트가 발생할 때 나타나고, 다른 호스팅된 컨트롤과 상호 작용하며, 세션에서 컨텍스트 정보를 표시하는 팝업 메시지를 정의할 수 있는 Unified Service Desk 작업, 이벤트 및 대체 매개 변수를 지원합니다. 동시에 여러 알림을 표시하도록 정의할 수 있습니다. 에이전트 응용 프로그램에 알림이 표시되는 위치를 정의하고, 알림이 자동으로 사라질 시간 정보를 정의할 수 있습니다.

알림은 전역 또는 세션 기반입니다. 전역 알림은 세션 외부에서 표시되며 시간이 지나거나 사용자가 명시적으로 닫을 경우에 숨겨집니다. 세션 기반 알림은 세션 내에서만 나타나고 다른 세션으로 전환하면 알림이 숨겨집니다. 알림을 통해 세션으로 다시 돌아오면 시간이 지나거나 사용자가 명시적으로 닫기 전까지 알림이 다시 표시됩니다.

참고

이 미리 보기 기능은 Unified Service Desk 2.2 릴리스에서 도입되었습니다.

이 항목의 내용

양식을 사용하여 알림의 레이아웃 및 동작 정의

팝업 알림 컨트롤을 사용하여 알림 표시

여러 알림 컨트롤

알림 구성 방법

양식을 사용하여 알림의 레이아웃 및 동작 정의

Unified Service Desk 양식을 사용하여 양식의 레이아웃과 동작을 정의할 수 있습니다. 새 양식 레코드를 정의하는 경우(설정 > Unified Service Desk > 양식 > 새로 만들기) 양식 레코드의 태그 필드에 XAML을 지정하여 레이아웃을 정의합니다.

XAML을 사용하여 양식 만들기

참고

양식의 레이아웃 및 동작을 정의하려면 Windows Presentation Foundation(WPF) 및 XAML 스크립팅에 대한 사전 지식이 있어야 합니다.

알림에서 UII 동작, 작업 호출 및 이벤트를 실행하는 바인딩 명령

알림 컨트롤 내부에 호스팅될 양식 XAML의 단추나 하이퍼링크와 같은 WPF 컨트롤에 연결할 수 있는 Unified Service Desk 사용자 정의 WPF 명령(Microsoft.Crm.UnifiedServiceDesk.Dynamics 어셈블리)을 사용할 수 있습니다. 명령을 ICommandSource 인터페이스를 구현하는 컨트롤과 연결할 수 있습니다.추가 정보:명령 개요.

명령을 사용하여 모든 호스팅된 컨트롤 동작을 실행하거나 양식 XAML을 호스팅하는 알림 컨트롤에서 이벤트를 발생시킬 수 있습니다.

중요

양식 XAML에서 자세히 설명할 아래에 언급된 명령 값은 다음과 같이 XAML의 루트 요소에 정의될 CCA 네임스페이스 별칭을 갖습니다.

xmlns:CCA="clr-namespace:Microsoft.Crm.UnifiedServiceDesk.Dynamics;assembly=Microsoft.Crm.UnifiedServiceDesk.Dynamics"

  • UII 작업: 양식 XAML에서 UII 작업을 실행하기 위해 CommandCommandParameter에 대한 다음 값을 지정합니다.

    • Command
      CCA:ActionCommands.DoActionCommand

    • CommandParameter
      명령 매개 변수는 작업이 실행될 호스팅된 컨트롤의 이름, UII 작업이름, 그리고 선택적으로 작업 데이터를 포함해야 합니다. 이러한 모든 값은 http://uii/[HostedControlName]/[UIIActionName]?*[ActionData]*와 같은 URL 형식으로 지정되어야 합니다.

      표준 지침에 따라 필요한 경우 URL의 각 부분이 인코딩되어야 합니다. 예를 들어, 공백 문자는 "%20" 또는 '+'로 인코딩되어야 합니다.

    • 예제
      CRM 페이지 형식의 Contact라는 이름을 가진 호스팅된 컨트롤이 있으며, 이 컨트롤에서 다음 작업 데이터로 Open_CRM_Page 작업을 실행하는 경우를 가정해봅니다.

      LogicalName=contactid=[[contact.Id]]
      

      그러면 다음 URL을 양식 XAML의 CommandParameter 값으로 전달해야 합니다.

      http://uii/Contact/Open_CRM_Page?LogicalName%3Dcontact%0D%0Aid%3D%5B%5Bcontact.Id%5D%5D
      

      추가로 다음과 같은 양식 XAML의 단추를 클릭하여 명령을 연결할 수 있습니다.

      <Button Command="CCA:ActionCommands.DoActionCommand"
      CommandParameter="http://uii/Contact/Open_CRM_Page?LogicalName%3Dcontact%0D%0Aid%3D%5B%5Bcontact.Id%5D%5D"
      
  • 작업 호출: 작업 데이터를 인코딩하고 XAML에 배치하지 않길 원하는 경우 호스팅된 컨트롤의 UII 작업 실행을 대체합니다. 양식 XAML에서 호출 작업을 실행하려면 CommandCommandParameter에 대한 다음 값을 지정합니다.

    • Command
      CCA:ActionCommands.DoActionCommand

    • CommandParameter
      명령 매개 변수는 실행할 작업 호출 이름을 포함해야 하며 http://actioncall/*[ActionCallName]*과 같은 URL 형식으로 지정되어야 합니다.

      공백이나 특수 문자가 포함된 경우 작업 호출 이름은 URL 인코딩되어야 합니다. 예를 들어, 공백 문자는 "%20" 또는 '+'로 인코딩되어야 합니다.

    • 예제
      Open Contact Page라는 이름의 작업 호출을 실행하는 경우를 가정해 봅시다.

      그러면 다음 URL을 양식 XAML의 CommandParameter 값으로 전달해야 합니다.

      http://actioncall/Open+Contact+Page
      
  • 이벤트: 양식 XAML에서 이벤트를 실행하기 위해 CommandCommandParameter에 대한 다음 값을 지정합니다.

    • Command
      CCA:ActionCommands.UIIEvent

    • CommandParameter
      명령 매개 변수는 이벤트 이름을 포함해야 하며 물음표(?)와 이벤트 매개 변수가 쿼리 문자열 형태로 따라 나올 수 있습니다. 각 매개 변수는 필요한 경우 이름과 값 모두 URL인코딩될 필요가 있을 때 "이름 = 값" 쌍으로 지정됩니다. 또한 매개 변수는"&amp;"를 사용하여 구분되어야 합니다.

      [EventName]?[Name]=[Value]&amp;[Name]=*[Value]*과 같은 명령 매개 변수를 지정합니다.

    • 예제
      다음 매개 변수로 OK이라는 이름의 이벤트를 발생시키는 경우를 가정합니다.

      Name1=Value1Name2=My Value
      

      그 다음, 다음을 양식 XAML의 CommandParameter 값으로 전달해야 합니다.

      OK?Name1=Value1&amp;Name2=My+Value
      

알림에 카운트다운 타이머 표시

TimeoutProperty 매개 변수를 사용하여 알림 메시지가 표시될 때까지의 카운트다운 타이머를 표시할 수 있습니다. 알림 컨트롤에 대한 시간 제한 값은 컨트롤을 표시 는 작업을 구성할 때 정의됩니다.추가 정보:알림 구성 방법

예를 들어, 양식 XAML에 TimeoutProperty 매개 변수에 바인딩된 레이블 요소를 추가하여 알림 메시지 닫은 지 몇 초 이후에 카운트다운을 표시합니다. 예를 들면 다음과 같습니다.

<TextBlock Foreground="White" x:Name="lblElapsedTime" Margin="0,0,9,0" 
           HorizontalAlignment="Right" VerticalAlignment="Center" FontSize="20" 
           Grid.Column="1" Text="{Binding TimeoutProperty}" FontFamily="Calibri" />

알림에 대한 샘플 XAML

다음 샘플 XAML은 인스턴스에 대한 대체 매개 변수에서 구성된 세션 값의 최대 수에 따라 알림을 표시하고 세션 제한에 도달하면 알림을 표시합니다.

<Border xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:CCA="clr-namespace:Microsoft.Crm.UnifiedServiceDesk.Dynamics;assembly=Microsoft.Crm.UnifiedServiceDesk.Dynamics"
BorderBrush="Blue" BorderThickness="1">
        <Grid Background="AliceBlue" Height="100" Width="400">
<Grid.Resources>
 <CCA:CRMImageConverter x:Key="CRMImageLoader" />
<Style x:Key="ImageLogo" TargetType="{x:Type Image}">
<Setter Property="Width" Value="16" /> 
<Setter Property="Height" Value="16" /> 
<!--<Setter Property="Margin" Value="5" /> -->
</Style>
    </Grid.Resources> 
            <Grid.RowDefinitions>
                <RowDefinition Height="75"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
            </Grid.ColumnDefinitions>
            <Grid Grid.Row="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="50"/>
                    <ColumnDefinition Width="350"/>
                </Grid.ColumnDefinitions>
<Image Style="{DynamicResource ImageLogo}" Source="{Binding Source=msdyusd_Email16, Converter={StaticResource CRMImageLoader}}" Grid.Column="0" />
                <TextBlock TextWrapping="Wrap" Grid.Column="1" Text="You can have a maximum of [[$Global.maxNumberOfSessions]+] concurrent sessions open. To open a new session, close at least one of the existing ones."/>
            </Grid>
            <Grid Background="SkyBlue" Grid.Row="1">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="300"/>
                    <ColumnDefinition Width="100"/>
                </Grid.ColumnDefinitions>
                <TextBlock Grid.Column="0">
                    <Run Text="The notification closes in " />
                    <Run Text="{Binding TimeoutProperty}" />
                    <Run Text=" seconds"/>
                </TextBlock>
                <Button Height="20" Width="90" Grid.Column="1" Foreground="Black" Command="CCA:ActionCommands.UIIEvent" CommandParameter="Cancel">Close</Button>
            </Grid>
        </Grid>
    </Border>

팝업 알림 컨트롤을 사용하여 알림 표시

Popup Notification 컨트롤에 대해 미리 정의된 작업을 사용하여 알림 메시지를 표시하고, 숨기고, 닫습니다.

Show 작업을 사용하여 표시할 양식 이름, 화면에서 알림 메시지를 표시하고자 하는 위치, 표시할 알림 기간을 지정할 수 있습니다.추가 정보:미리 정의된 UII 작업.

앞부분에서 설명한 대로 Popup Notification에 대해 미리 정의된 이벤트를 사용하여 알림 메시지에서 수행한 사용자 작업에 응답합니다. 이벤트가 발생할 때 실행할 이벤트에 대한 추가 작업을 추가할 수도 있습니다.추가 정보:미리 정의된 이벤트.

여러 알림 컨트롤

여러 알림 컨트롤을 구성할 수 있으며 서로 독립적으로 작업을 호출할 수 있습니다. 동시에 여러 개의 알림이 표시된 경우 모든 알림이 호출된 순서로 표시됩니다. 두 개의 전역 알림이 동일한 위치에 표시되도록 구성된 경우 최신 알림이 이전 알림 위에 오버레이됩니다. 마찬가지로, 전역 및 세션 기반 알림이나 여러 세션 기반 알림이 세션에서 같은 위치에 표시되도록 구성된 경우 세션에서 최신 알림을 이전 알림을 위에 오버레이합니다.

알림 구성 방법

다음은 알림을 표시하기 위한 광범위한 단계입니다.

  1. 알림 정의(XAML)를 사용하여 양식 레코드를 만듭니다. 예를 들어, 앞부분에 설명된 예제 XAML을 사용하여 MaxSessionNotificationForm 이름의 양식을 만듭니다.

  2. Popup Notification 컨트롤을 만들어 전역으로 설정합니다. 예를 들어, MaxSessionNotificationControl이라는 이름의 컨트롤을 만듭니다.

  3. Show 작업의 데이터 필드의 다른 매개 변수와 함께 표시하기 위해 양식 이름을 지정하여 알림을 표시할 작업 호출을 만듭니다. 예를 들어, Action Call for Max Sessions Notification이라는 이름의 작업 호출을 만듭니다.

    Action Call for displaying notification

  4. 마지막으로 해당 작업을 실행할 이벤트에 대한 작업 호출을 추가합니다. 알림을 표시할 새 세션을 만들 때 최대 세션 수를 관리하기 위해 전역 관리자(호스팅된 컨트롤)SessionNew 이벤트에 작업 호출을 추가합니다.

참고 항목

팝업 알림(호스팅된 컨트롤)
작업 호출을 이벤트에 추가
에이전트 응용 프로그램 구성 시작

Unified Service Desk 2.0

© 2017 Microsoft. All rights reserved. 저작권 정보