5.6.2 スマートナビゲーションメニューおよびシナリオの定義

スマートナビゲーションでは,トリガーイベントを検知したときにスマートナビゲーションメニューを表示します。また,スマートナビゲーションメニューをクリックすると連携先サイトにデータを送信します。連携先サイトにデータを送信する方法をシナリオといいます。スマートナビゲーションメニューとシナリオはWebAPI定義で設定します。

<この項の構成>
(1) スマートナビゲーションメニュー
(2) シナリオ

(1) スマートナビゲーションメニュー

トリガーイベントを検知したときに,トリガーイベント検知範囲内に埋め込まれているデータのデータ型に一致したシナリオのメニューを表示します。データが埋め込まれていない場合およびデータ型が一致するシナリオが存在しない場合,スマートナビゲーションメニューは表示されません。

(a) メニューの表示条件

メニューはトリガーイベント検知範囲内に埋め込まれているデータのデータ型を使用するシナリオに一致した場合に表示します。シナリオで使用するデータ型が複数ある場合は,すべてのデータ型が埋め込まれている場合にメニューに表示されます。

メニューの表示条件の例を次に示します。トリガーイベント検知範囲内あるデータのデータ型を使用するメニュー1~メニュー6は表示されますが,トリガーイベント検知範囲内あるデータのデータ型にないデータ型を使用するメニュー7は表示されません。

図5-29 メニューの表示条件

[図データ]

(b) 範囲選択型メニュー

トリガーイベント検知範囲内のコンテンツを選択状態にし,トリガーイベントを発生させた場合は範囲選択型メニューを表示することができます。連携先サイトにはコンテンツを選択した範囲をデータとして抽出し送信します。コンテンツを選択した範囲がトリガーイベント検知範囲を超えていた場合,選択した範囲すべてがデータとして抽出されます。範囲選択型メニューを使用するにはシナリオでデータ型”hptlselect”を定義します。データ型”hptlselect”は,uCosminexus Portal Frameworkの予約語で,範囲選択型メニューを使用する場合に使用する特殊なデータ型です。

(c) 入力情報設定メニュー

ユーザの入力を必要とするメニューを表示した場合,メニューの最後に入力情報設定メニューが表示されます。入力情報設定メニューを選択することで,パラメタ入力画面が表示されて,ユーザが入力した情報を設定変更することができます。入力情報設定メニューの表示例を次に示します。なお,入力情報設定メニューはログイン前の画面では表示されません。

図5-30 入力情報設定メニューーの表示例

[図データ]

(d) メニューの表示制御

ユーザ編集クラスを作成することで,メニューを特定の条件やユーザごとに表示制御を行うことができます。ユーザ編集クラスの作成方法は「5.6.5 ユーザ編集クラスの作成方法」を参照してください。

(e) メニューアイコン

スマートナビゲーションメニューにはアイコンを指定することができます。アイコンは{PROJECT_HOME}内に格納してください。アイコンを指定しない場合は,デフォルトのアイコンが表示されます。

(2) シナリオ

シナリオは連携先サイトにデータを送信する方法の定義です。WebAPI定義の順にスマートナビゲーションメニューが表示されます。

(a) データ型の指定と変数の定義

シナリオでは次の3種類の変数を使用することができます。変数は変数名の先頭に’$’を付けて記述します。変数名には半角英数字および’_’(アンダーバー)を使用することができます。大文字と小文字は区別されます。

(b) 新ウィンドウ定義

スマートナビゲーションメニューを選択したときに新しいウィンドウを開いて表示するか,ポータル画面に上書きして表示するか指定することができます。新しいウィンドウを開く場合には,ウィンドウ名とウィンドウスタイルを指定することができます。

(c) リクエスト定義

連携先サイトにデータを送信するリクエストを定義します。リクエスト定義では以下の内容を定義します。

(d) リクエストパラメタ定義

リクエストパラメタでは次の内容を定義します。