はじめに
エンベッドされたビューエクスペリエンスでは、いくつかのフィルターオプションを使用することができます。以下のグループに分類されます。- セキュリティー保護されたフィルター
- Personalized Data Permission(PDP)
- サーバー側のプログラムによるフィルター
- クライアント側のフィルター
- JS APIフィルター + pフィルターのURLパラメーター
- インターフェースフィルター
- ページフィルター
- カード間のインタラクションフィルター
セキュリティー保護されたフィルター
- Personalized Data Permissions(PDP) ドキュメント: SSOとPDP 定義:従来のSSO統合は、各閲覧ユーザーの個別アカウントのCookieに依存していました。 使用事例:閲覧ユーザーが表示することも編集することもできない、Domoインターフェースで定義された行レベルのセキュリティーの強制。
注記 :この従来の方法をどうしてもパーソナライゼーションに使用する必要がある場合は、エンベッド閲覧ユーザーがiframeを逆にトレースしてインスタンスにたどり着いたり、エンベッドされたコンテンツ以外のカードやページが表示されたりしないように保護してください。これを行うには、外部の使用事例向けに専用のインスタンスを作成し、機能スイッチのWhite Label V1テンプレートを適用し、メインの内部インスタンスの代わりにそこからエンベッドします。
- サーバー側のプログラムによるフィルター ドキュメント: プログラムによるフィルター 定義:すべての閲覧ユーザーに対する単一のサービスアカウントを介したCookieレス認証との新しいSSO統合。 使用事例:閲覧ユーザーが表示することも編集することもできない、サーバー側コードで定義された行レベルのセキュリティーの強制。
注記: 閲覧ユーザーはサービスアカウントのクライアントIDと秘密にアクセスできないため、このアプローチでは専用の外部インスタンスは必要ありません。そのため、iframeをトレースしてDomoインスタンスにアクセスすることはできません。
クライアント側のフィルター
- JS APIフィルター ドキュメント: JSサンプルコードリポジトリ-JS APIフィルター 定義: このクライアント側アプローチは、閲覧ユーザーが表示して編集できることを目的としているため、上記のサーバー側アプローチとは対照的です。このフィルターは、イベントポートとリスナーを介してエンベッドAPIから適用されます。iframeを強制的に更新することなく、エンベッドされたコンテンツの複数の項目に変更が適用されます。双方向のコンテキストの受け渡しもサポートしています(iframe間またはページ間ドリル、リンク、インタラクション用に、エンベッドされたコンテンツ上のクリックイベントをホームページに渡すことも可能)。 使用事例:ホストページから外部フィルターコントロール(iframeの外にあるドロップダウンメニューなど)を適用する新しいアプローチ。
-
pフィルターURLパラメーター
ドキュメンテーション: pフィルターを使用して、URLクエリパラメーターからエンベッドされたダッシュボードにフィルターを適用する
定義:JS APIフィルターのようなクライアント側コードではなく、URLパラメーターでのよりシンプルな設定。ただし、pフィルターではiframeを強制的に更新してフィルターロジックを適用するため、速度が若干遅くなります。これらは、クライアント側のJS APIやサーバー側のプログラムによるフィルターと同じフィルターパターン(列、オペランド、値)を使用します。
使用事例:外部フィルターコントロールを適用するための従来の古いアプローチ。
インターフェースフィルター
- ページフィルター ドキュメンテーション: フィルタービューを使用してページレベルのフィルターを適用する 定義:Domoインスタンス全体で利用可能なものと同様の、エンベッドされたカードとダッシュボードの上部のフィルターバー。 使用事例:閲覧ユーザーが詳しく調べる可能性のあるスライスを作成者がすべて把握しているわけでない場合の、ユーザーによるアドホックなフィルター作成。
注記: 上記のレイヤーシーケンスで強調されているように、これらの優先度の低いフィルターは、PDPまたはプログラムによるフィルターによって利用可能になった行のサブセット内でのみ結果を返すことができます。
-
カード間のインタラクションフィルター
ドキュメンテーション: カード間フィルターを適用する
定義:Domoインスタンス全体で利用できるカード間インタラクションに類似するスライサーカード。
使用事例:これらは閲覧ユーザーにとって最もシンプルなフィルターインタラクションです。コンテンツ作成者が、ユーザーが必要とするフィルターをすでに把握している場合に最適です。
注記: 上記のレイヤーシーケンスで強調されているように、これらの優先度の低いフィルターは、PDPまたはプログラムによるフィルターによって利用可能になった行のサブセット内でのみ結果を返すことができます。