概要
Javascript APIを使用すると、Yellowfinのレポートおよびダッシュボードを、Yellowfinとは別のWebサーバーにホストされている可能性のある外部のWebページに埋め込むことができます。エンドユーザーのブラウザーがYellowfinサーバーにアクセスできることが唯一の要件です。HTMLページには複数のレポートを含めることができますが、個々のレポートを表示できるのは各ページに1つのみです。注意:1ページに複数のダッシュボードを表示することは現在サポートされていません。
ドリルスルー、ドリルダウン、ユーザープロンプトフィルター、シリーズ選択、PDFへのエクスポートといった対話型要素を使用できます。
表示
レポート
埋め込みレポートには、タイトルバーとレポートそのものが含まれます。タイトルバーにはレポートの名前、およびレポートで使用される対話型要素を制御するためのボタンがあります。対話型の機能は以下のとおりです:
| 説明 |
---|---|
基本的なレポート情報(名前、説明、最終変更日、カテゴリー、サブカテゴリー、現在のユーザーなど)を表示します。 | |
レポートの埋め込みに使用するJavascriptを表示します。 | |
テーブル表示とグラフ表示が使用されている場合に、ユーザーがグラフ表示に切り替えられるようにします。 | |
テーブル表示とグラフ表示が使用されている場合に、ユーザーがテーブル表示に切り替えられるようにします。 | |
レポートで有効になっているユーザープロンプトフィルターのパネルを開きます。 | |
「シリーズ選択を表示」オプションが有効な場合に、「シリーズ選択」パネルを開きます。 | |
「単位選択を表示」オプションが有効な場合に、「単位選択」パネルを開きます。 | |
レポートに複数のページが含まれている場合に、ページナビゲーションパネルを開きます。 | |
レポートにセクションが含まれている場合に、セクションナビゲーションパネルを開きます。 | |
マップで「Hoverナビゲーション」が有効な場合に、GISマップナビゲーションパネルを開きます。 | |
「エクスポート」パネルを開きます。このパネルでは、レポートを以下のようなさまざまな書式にエクスポートできます:
|
ダッシュボード
埋め込みダッシュボードには、ダッシュボード全体のタイトルバーと、それぞれのダッシュボードレポートがあり(埋め込みレポートと同じように表示されます)、Yellowfinフロントエンドを通じて表示したときと同様に配置されます。
注意:ダッシュボードフィルターおよびKPIダッシュボードがサポートされます。
| 説明 |
---|---|
基本的なダッシュボード情報(名前、説明、最終変更日、現在のユーザーなど)を表示します。 | |
ダッシュボードの埋め込みに使用するJavascriptを表示します。 | |
ダッシュボードで有効になっているユーザープロンプトフィルターのパネルを開きます。 | |
「エクスポート」パネルを開きます。このパネルでは、ダッシュボードを以下のようなさまざまな書式にエクスポートできます:
|
使用例
レポートの埋め込み
「共有」メニューを使用して、HTMLページ、Wiki、またはブログで使用するためにロードするレポートを指定する埋め込みタグをコピーします。これは以下のような形式をとります:
<script src="http://reporting.example.com/JsAPI?reportUUID=e5e5aaf3-c3b8-4f9b-8280-e21e4d848e63&width=500&height=500" type="text/javascript"></script>
詳細については、基本的な使用を参照してください。
ダッシュボードの埋め込み
「配信」メニューを使用して、HTMLページ、Wiki、またはブログで使用するためにロードするダッシュボードを指定する埋め込みタグをコピーします。これは以下のような形式をとります:
<script type="text/javascript" src="http://reporting.example.com/JsAPI?dashUUID=3b0b6c9a-9dfb-41f0-b85a-eb17bb8aeeb9"></script>
詳細については、基本的な使用を参照してください。
ユーザーアクセス
ユーザーが認証を受けるのは、Javascript APIを介してレポートまたはダッシュボードにアクセスするときです。ユーザーがまだログインしていない場合は、ゲストユーザーとしてコンテンツを表示できる可能性があります。レポートまたはダッシュボードをゲストユーザーとして実行できるかどうか、または承認を受けていないユーザーはログインすることが要求されるかどうかを判断するために数多くの要因が用いられます。認証の詳細は、ダッシュボードまたはレポートがロードされるときにAPIに渡されます。その方法には、ユーザー名およびパスワードを渡す方法、またはWebサービス経由で認証してログイントークンをAPIに渡す方法があります。これにより、コンテンツをロードするために特定のユーザーを使用することができ、ユーザーに詳細を入力させる必要はありません。
詳細については、基本的な使用を参照してください。
Javascript APIを介してレポートまたはダッシュボードがリクエストされると、以下のプロセスでユーザーが認証されます:
- ダッシュボードまたはレポートがロードされるときにユーザー認証の詳細がAPIに渡されると、その情報がユーザーのログインに使用されます。
- ページのJavascript APIでユーザーがすでにログインしている場合、既存のログインセッションが使用されます。
- Javascript APIでユーザーが以前ログインしたことがある場合、同じアカウントを使用して自動的にログインします(後述)。
- マルチキャストライセンスがインストールされていて、ゲストロールが使用可能な場合、ユーザーはゲストとしてログインします。
上記のプロセスが完了したときに、リクエストされたコンテンツがただちにロードされない場合があります:
- 上記の条件のいずれも満たさない場合、ユーザーはログインできず、Yellowfinユーザー名およびパスワードを手動で入力するように要求されます。
- 上記のプロセスの結果、ユーザーがゲストアカウントでログインしたが、要求されたレポートまたはダッシュボードをゲストユーザーが使用できない場合、ユーザーはYellowfinユーザー名およびパスワードを入力するように要求されます。
- 上記のプロセスの結果、ユーザーがゲスト以外のアカウントで認証を受けたが、リクエストされたコンテンツにそのアカウントがアクセスできない場合、適切なエラーメッセージが表示されます。
ユーザーがYellowfinユーザー名およびパスワードを入力してJavascript APIにログインすると、cookieがブラウザーに保存されて、ログインするために使用されたユーザーが記録されます。Javascript APIを使用して埋め込まれたレポートまたはダッシュボードが含まれるページに次回アクセスすると、同じユーザーを使用して再び自動的にログインします。これにより、ユーザーはレポートまたはダッシュボードをリクエストするたびに、自分の詳細を入力する必要がありません。デフォルトでは、cookieはユーザーが最後にログインしてから7日間有効です。この期間は、「管理」>「システム構成」>「電子メール」で「外部API cookieタイムアウト」の値を設定することで変更できます。cookieを無効にするには、値を0に設定します。
注意:ブラウザーに保存されるcookieの値は暗号化されます。cookieはYellowfinを再起動すると無効になります(Yellowfinが再起動すると、すべてのユーザーは再度ログインする必要があります)。
制限
Javascript APIの現在の制限は以下のとおりです:- クライアント組織レベルのレポートはサポートされません。
- 複数のレポートを1つのHTMLページに追加することはできますが、それぞれのレポートは1ページに1つしか含めることができません。
- 1つのHTMLページでサポートされるダッシュボードは1つのみです。
- 日付フィルターでカレンダーセレクターは利用できません。
- ドリルエニウェアは利用できません。
- フィルターセットは利用できません。
- グラフアニメーションは利用できません。
- マルチグラフのキャンバスは利用できません。