概要
JS APIには、ガイド付きNLQを設定するために2つの方法があります。
- 高度なAPI経由
- 組み込みリンク経由
一番柔軟性が高いのは高度なAPIで、表示内容やトリガーイベントから返される詳細情報の使用方法を自由に設定できます。例えば、ユーザーが質問の回答をレポートとして保存した場合、 レポートAPIに関連するすべての機能が、そのレポートで利用可能になります。
一方、組み込みリンクは、NLQを組み込むにはシンプルですが柔軟性は低くなります。組み込みリンクは、URLの一部として渡されたときに表示オプションを提供するパラメータを持つクエリ文字列です。組み込みリンクのツールセットには、イベントベースのオプションはありません。
組み込みリンク経由でガイド付きNLQを設定する
組み込みリンクは、ガイド付きNLQ 高度なAPIを大幅に簡素化したものです。開発者はイベントを使うことができません。URLに追加されたパラメータに基づいて、シンプルにレンダリングされます。
ガイド付きNLQ組み込みリンクの基本構造は以下の通りです。
<script src=”http://localhost:8080/JsAPI/v3?nlq=true”></script>
これにより、NLQコンテナがページに配置されます。(Scriptタグ自体が追加されたのと同じ場所)
組み込みURLに追加できるパラメーターがいくつかあります。それぞれの詳細については、高度なAPIページをご確認ください。これらのオプションはすべて、高度なAPIのパススルー設定となっています。
popup
このパラメーターの文字列は、ガイド付きNLQ UIがライトボックスで表示されるかを決定します。パラメーターがクエリから除外されている場合、デフォルトの動作はFalseとなります。
http://localhost:8080/JsAPI/v3?nlq=true&popup=true
http://localhost:8080/JsAPI/v3?nlq=true&popup=false
viewUUID
viewUUIDパラメーターがクエリ文字列に含まれている場合、ビューを選択するステップが省かれ、すぐに「質問する」となります。パラメーターがクエリから除外されている場合、通常のデータビューを選択するダイアログボックスが表示されます。
http://localhost:8080/JsAPI/v3?nlq=true&viewUUID=8862563a-02a5-4caf-9352-237b9e40c0de
showWelcome
このクエリ文字列のパラメーターは、ガイド付きNLQのウェルカムスプラッシュ画面を表示するかどうかを決定します。
http://localhost:8080/JsAPI/v3?nlq=true&showWelcome=ALWAYS
http://localhost:8080/JsAPI/v3?nlq=true&showWelcome=NEVER
http://localhost:8080/JsAPI/v3?nlq=true&showWelcome=NORMAL
showSave
このクエリ文字列のパラメーターは、ユーザーがコンテンツを保存する権限を持っている場合、NLQ UIの保存ボタンを表示するか隠すかを決定します。ユーザーが保存する権限を持っていない場合、パラメーターが設定されていたとしてもボタンは表示されません。パラメーターがクエリ文字列から除外されている場合、デフォルトの動作はtrueとなります。
http://localhost:8080/JsAPI/v3?nlq=true&showSave=true
これは、高度なAPIで行うのと事実上同じです。
yellowfin.loadNLQ({ contentIntegrationOptions: { controls: [‘SAVE’] } });
Falseが渡された場合、次のようになります。
yellowfin.loadNLQ({ contentIntegrationOptions: { controls: [] } });
showAddTo
このクエリ文字列のパラメータは、ユーザーが権限を持っている場合、ガイド付きNLQ UIに「追加」ボタン(レポートを他のコンテンツに追加)を表示するか隠すかを決定します。ユーザーがレポートを他のコンテンツに追加する権限を持っていない場合、パラメーターが設定されていたとしてもボタンは表示されません。
パラメーターがクエリ文字列から除外されている場合、デフォルトの動作はFalseとなります。パラメーターがTrueに設定されている場合、showSaveパラメータがクエリ文字列から除外されているか、trueに設定されている必要があります。
http://localhost:8080/JsAPI/v3?nlq=true&showSave=true&showAddTo=true
または
http://localhost:8080/JsAPI/v3?nlq=true&showAddTo=true
事実上、これは以下の高度なAPIコールと同じです。
yellowfin.loadNLQ({ contentIntegrationOptions: { controls: [‘SAVE’, ‘ADD_TO’] } });