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