...
JS APIは数多くの部分で構成されています。JS APIを語る上で、オブジェクトが分類されるAPIのタイプが大きく分けて2つあり、それはロード APIとコンテンツ APIです。
ロード API
これらのAPIを使用することで、レポート、ダッシュボード、ストーリーなどのコンテンツをロードできます。これは、要求したオブジェクトのコンテンツ APIをロードする以外には、あまり多くの機能を提供しません。
...
これにより、ローダーが追加されないようにしたり、検出された際に異なる要素に添付したりすることができます。例えば、多数のレポートを含むキャンバスがある場合、キャンバス上の各レポートにローダーを添付する代わりに、キャンバスオブジェクト全体にローダーを添付し、すべてのレポートのレンダリングが終了した際にローダーを削除することができます。
...
内部JS APIおよび外部JS API
これは何を意味するのか?
「内部JS API」という用語を使用する場合、これは以下により使用されるツールを指します。
- Web アプリケーション機能を構築するYellowfin 開発チーム
- Yellowfin コードモードまたはカスタムヘッダーを使用する外部の開発者
「外部JS API」は、開発者が外部ページにYellowfin コンテンツを埋め込むために使用するツールを指します。
このように、Yellowfin JS APIは事実上2つあります。
外部JS APIは、Yellowfinのコンテンツを外部ページに埋め込む開発者向けに提供されています。外部JS APIについての詳細は、外部wikiにて提供しています。
内部JS APIは、Yellowfin 開発チームによって使用されています。外部の開発者は、Yellowfin コードモードまたはカスタムヘッダーを介してコードにアクセスするときに、知らないうちにこのバージョンのJS APIを使用しています。
各JS APIの詳細については、以下に示します。
外部JS API
JS APIを外部で使用する場合、Yellowfin ロード APIとコンテンツ APIのすべてにアクセスできます。つまり、コンテンツのUUIDを提供すれば、任意のコンテンツをロードできます。
ほとんどの場合、レポートまたはダッシュボードのリストサービスは、Yellowfin web サービスを使用してYellowfin コンテンツオブジェクトを取得し、それらのオブジェクトから提供されるUUIDを使用してJS APIにオブジェクトをロードすることで作成できます。これにより、Yellowfin レポート、ダッシュボードおよびストーリーを使用しながら、完全にカスタマイズされたUIを構築できるため、コンテンツ構築は開発者以外でも実現できます。
考慮点
Yellowfin サーバーは、サードパーティ製アプリケーションとして扱われるため、認証に問題が生じることがあります。そのため、サイト上のサードパーティ製Cookieを拒否するブラウザ (IncognitoモードのSafariおよびChrome) は、Yellowfin JS APIを拒否します。さらに、「Same Site」フラグに関するセキュリティの変更により、必要なすべてのCookieを受け入れるようにwebサーバーを構成することが困難になりました。
もうひとつの問題は、機能の動作方法の違いです。以下の表は、動作が異なる機能、または外部JS APIでまだ有効になっていない機能の一覧を示します。
...
シグナルウィジェットを埋め込むことはできますが、含まれるリンクは機能しません。
...
API
...
現在Yellowfin JS APIは、外部JS API内に存在するロード APIにアクセスすることはできません。つまり、コンテンツをロードするには、Yellowfin アクションを使用する必要があります。これは外部の開発者は、レポートやその他のコンテンツの表示方法をあまり制御できないということです。まずは、Yellowfinによりロードし、(そして、ほとんどの場合) レンダリングをしなくてはいけません。
すべてのYellowfin コンテンツとその個々の機能は、コンテンツ APIと内部でレンダリングされるコンテンツで使用できます。そのため、Yellowfinでは一般的に、まず内部で機能を構築してから、外部で動作させるようにしています。
考慮点
コンテンツ APIは、コードモードを介してのみ使用することができます。これらにロード APIはありません。
...