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 を指定します。
注意
フォームのレイアウトと動作を定義するには、Windows Presentation Foundation (WPF) および XAML スクリプトの事前の知識が必要です。
通知からの UII アクション、アクションの呼び出し、およびイベントを実行するコマンド バインド
Unified Service Desk (Microsoft.Crm.UnifiedServiceDesk.Dynamics アセンブリ) には、通知コントロール内でホストされるフォーム XAML のボタンおよびハイパーリンクなどの WPF コントロールに関連付けられるカスタム WPF コマンドがあります。 コマンドは、[ICommandSource] インターフェイスを実装するコントロールに関連付けることができます。詳細:コマンドの概要。
コマンドは、フォーム XAML をホストする通知コントロールからホストされたコントロールまたは発生したイベントでアクションを実行して使用できます。
重要
コマンドは、フォーム XAML で指定される下記のコマンド値には、XAML のルート要素で次のように定義される CCA、名前空間エイリアスがあります:
xmlns:CCA="clr-namespace:Microsoft.Crm.UnifiedServiceDesk.Dynamics;assembly=Microsoft.Crm.UnifiedServiceDesk.Dynamics"
UII アクション: フォーム XAML から UII アクションを実行するには、Command および CommandParameter に次の値を指定します。
Command
CCA:ActionCommands.DoActionCommandCommandParameter
コマンド パラメータは、アクションが実行されるホストされたコントロールの名前、UII アクションの名前、および任意のアクション データを含める必要があります。 これらの値はすべて次の URL 形式で指定する必要があります: http://uii/[HostedControlName]/[UIIActionName]?[ActionData]*。URLの別の部分は、標準のガイドラインどおりに必要に応じてエンコードする必要があることに注意してください。 たとえば、スペース文字は、「%20」または「+」としてエンコードする必要があります。
例
CRM ページ の種類の Contact と名付けられホストされたコントロールがあり、このコントロールで次のアクションデータを使用して [*Open_CRM_Page] アクションを実行するとします。LogicalName=contactid=[[contact.Id]]
次に、フォーム XAML の CommandParameter の値として次の URL を渡す必要があります:
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 からアクション コールを実行するには、Command および CommandParameter に次の値を指定します。
Command
CCA:ActionCommands.DoActionCommandCommandParameter
コマンド パラメーターは、実行するアクション コールの名前が含まれている必要があり、次のURLの形式で指定する必要があります: http://actioncall/[ActionCallName]*.スペースまたは特殊文字が含まれている場合は、アクション コール名は URL エンコードする必要があることに注意してください。 たとえば、スペース文字は、「%20」または「+」としてエンコードする必要があります。
例
Open Contact Page という名前のアクションを実行するとします。次に、フォーム XAML の CommandParameter の値として次の URL を渡す必要があります:
http://actioncall/Open+Contact+Page
イベント: フォーム XAMLからイベントを実行するには、Command および CommandParameter に次の値を指定します。
Command
CCA:ActionCommands.UIIEventCommandParameter
コマンド パラメーターは、オプションで疑問符 (?) をつけたイベント名およびクエリ文字列のフォームのイベント パラメーターを含んでいる必要があります。 各パラメーターは、必要に応じて名前と値の両方を URL エンコードする必要がある「名前 = 値」のペアとして指定します。 さらに、パラメーターは、「&」を使用して区切る必要があります。次の形式でコマンド パラメーターを指定します: [EventName]?[Name]=[Value]&[Name]=[Value]
例
OKと名付けられたイベントを次のイベントで起動するとします。Name1=Value1Name2=My Value
次に、フォーム XAML の CommandParameter として次の URL を渡す必要があります:
OK?Name1=Value1&Name2=My+Value
通知のカウントダウン タイマーを表示する
TimeoutProperty パラメーターを使用して、メッセージを表示されるまでの通知メッセージのカウントダウン タイマーを表示できます。 通知コントロールのタイムアウト値は、コントロールを表示するようにアクションを構成するときに定義されます。詳細:通知を構成するには?
たとえば、TimeoutProperty パラメーターにバインドされたフォーム XAML でラベル要素を追加すると、通知メッセージが閉じられるまでを秒単位でカウントダウン表示できます。 たとえば、次のようになります。
<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 コントロールの事前定義されたイベントを使用して、前に説明したように通知メッセージで実行されるユーザー アクションに応答します。 イベントが発生したときに実行されるイベントに対して追加のアクションを追加することもできます。詳細:定義済みのイベント。
複数の通知コントロール
複数の通知コントロールを構成し、互いに独立してアクションを呼び出すことができます。 複数の通知が同時に表示される場合、すべての通知は呼び出された順に表示されます。 2 つのグローバル通知が同じ位置に表示されるように構成されている場合は、最新の通知が以前の通知の上にオーバーレイされます。 同様に、グローバルおよびセッション ベースの通知または複数のセッション ベースの通知がセッションで同じ位置に表示されるために構成される場合、最新のものがセッションで以前の通知の上にオーバーレイされます。
通知を構成するには?
これらは通知を表示するための広範なステップです:
通知定義 (XAML) で [*フォーム] レコードを作成します。 たとえば、以前に XAML の例で示された、MaxSessionNotificationForm という名前でフォームを作成します。
Popup Notificationコントロールを作成し、グローバルに保ちます。 たとえば、MaxSessionNotificationControlという名前でコントロールを作成します。
Show アクションの [*データ] フィールドで他のパラメーターと共に表示されるフォームの名前で指定される通知を表示するアクション コールを作成します。 たとえば、Action Call for Max Sessions Notification という名前で呼ばれるアクション コールを作成します。
最後に、アクションを実行するためにイベントにアクション コールを追加します。 通知を表示する新しいセッションの作成で最大セッション数を確認する際、グローバル マネージャー (ホストされたコントロール) の SessionNew イベントにアクション コールを追加します。
関連項目
ポップアップ通告 (ホストされたコントロール)
イベントへのアクション コールの追加
エージェント アプリケーションの構成に関する入門情報
Unified Service Desk 2.0
© 2017 Microsoft. All rights reserved. 著作権