注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Slate アプリケーションを Marketplace 製品に追加する

Foundry DevOps を使用して、Slate アプリケーションを Marketplace 製品に含めると、ほかのユーザーがインストールして再利用できます。Marketplace は、データの読み込みを行わない静的アプリケーションを含め、単一ページおよび複数ページの Slate アプリケーションに対応しています。パッケージ化およびインストール時には、すべてのページ、ルート、ページ構造が保持されます。最初の製品を作成する方法をご覧ください。

このページでは、Slate アプリケーションのパッケージ化について説明します。Developer Console アプリケーションについては、Marketplace で Developer Console アプリケーションをインストールするを参照してください。

Slate アプリケーションを製品に追加する

Slate アプリケーションを製品に追加するには、まず製品を作成し、次に出力を追加します。ファイルを追加を選択して、Compass ファイルシステム内の Slate アプリケーションに移動し、製品に追加します。

Marketplace パラメーター変数を使用して Slate アプリケーションをパッケージ化する

ローカル変数を Marketplace パラメーターとして指定すると、ユーザーが製品のインストール時にその値をカスタマイズできます。これは、インストール後に Slate アプリケーションのコードを変更せずに、インストールごとの設定やデフォルト値を設定する場合に便利です。

変数を Marketplace パラメーターとして指定するには、次の手順に従います。

  1. Slate アプリケーションの変数パネルを開きます。
  2. 設定可能にするローカル変数を選択します。
  3. 変数のメニューを選択し、Marketplace パラメーターオプションを有効にして、データ型(文字列またはブール値)を選択します。

Marketplace パラメーターとして指定された変数には、変数パネルに視覚的なインジケーターが表示されます。ユーザーは製品をインストールする際に、インストールプロセス中にこれらのパラメーターのカスタム値を指定できます。

Marketplace パラメーターとして指定できるのは、ホームドキュメントページのローカル変数のみです。共有変数と、複数ページのアプリケーションのほかのページにある変数は、現在 Marketplace パラメーターとして利用できません。

Code Sandbox ウィジェットを使用する Slate アプリケーションをパッケージ化する

Code Sandbox ウィジェット用の外部ライブラリに依存する Slate アプリケーションは、Marketplace でパッケージ化できます。

インストール時にライブラリファイルのコピーを生成する場合は、製品の作成時に、コンテンツタブの下にあるファイルタブにライブラリのファイルを必ず含めてください。ユーザーが製品をインストールすると、そのユーザーのプロジェクトにファイルのコピーが作成されます。Code Sandbox ウィジェットは、そのライブラリファイルのコピーを参照します。

依存関係を持つ Code Sandbox

Slate は、CDN リンク(たとえば https://unpkg.com/browse/chart.js@2.7.1/)によるライブラリの提供にも対応しています。CDN リンクは変更されないため、インストールされた Slate アプリケーションにも同じ CDN リンクが含まれます。そのため、ユーザーは CDN リンクを許可するように CSP を設定しておく必要がある場合があります。

Code Sandbox ウィジェットでのライブラリの使用について詳しくは、Code Sandbox ウィジェットのドキュメントを参照してください。

オントロジー SDK を使用する Slate アプリケーションをパッケージ化する

オントロジー SDK(オントロジー SDK)を使用する Slate アプリケーションは、Marketplace でパッケージ化できます。Foundry DevOps は、パッケージ化時にオントロジー SDK のオントロジー依存関係を自動的に処理するため、依存関係を手動で設定する必要はありません。

DevOps における Slate アプリケーションのオントロジー SDK の依存関係。

オントロジー SDK のパッケージ化の仕組み

オントロジー SDK を使用する Slate アプリケーションを公開すると、事前ビルド済みのオントロジー SDK バンドルが Marketplace パッケージに自動的に含まれます。これにより、インストール時にはバンドルが最初から再生成されるのではなく、直接コピーされるため、インストール時間が大幅に短縮されます。

既存のアプリケーションを再パッケージ化してインストールを高速化する

事前ビルド済みバンドルによる最適化が利用可能になる前にパッケージ化された Slate アプリケーションでは、インストール時に引き続きオントロジー SDK バンドルが再生成されます。インストール時間の短縮を活用するには、既存の Marketplace 製品の新しいバージョンを公開します。新しいバージョンには、事前ビルド済みのオントロジー SDK バンドルが自動的に含まれます。

アプリケーションを再パッケージ化するには、次の手順に従います。

  1. Foundry DevOps で製品を開きます。
  2. 製品の新しいバージョンを作成します。
  3. 新しいバージョンを公開します。

Slate アプリケーション自体を変更する必要はありません。事前ビルド済みバンドルは、公開時に自動的に含まれます。

オントロジー SDK の要件

すべてのオントロジーリソースは、ソースアプリケーションと同じ API名を使用する必要があります。これを実現するには、接頭辞を付けずにインストールするか、API名が一致する既存のオントロジーリソースに入力をマッピングします。

API名が一致しない場合、Slate 関数コードと対象環境のオントロジーリソースとの間に不一致が生じます。不一致は、インストール後に Slate 関数コードを更新して手動で解消できます。

次の場合、インストール時に API名の重複が発生する可能性があります。

  • 対象環境に同一の API名を持つオントロジーリソースがある場合。たとえば、両方の環境に flights という名前のオブジェクトタイプがある場合です。
  • オブジェクトの API名が表示名と一致しない場合。たとえば、表示名が flights のオブジェクトタイプの API名が flightsXYZ である場合、インストール時にはデフォルトの API名である flights が付けられます。この場合、Slate 関数コードは API名と一致しなくなり、API名が flights のオブジェクトタイプがすでに存在すると、名前の重複が発生する可能性があります。

これは、オブジェクトタイプ、リンクタイプ、アクションタイプ、Functions を含む、すべてのオントロジーリソースに適用されます。

API名の重複を防ぐには、次の対策を行います。

  • 生成される API名が既存の名前と重複しにくくなるように、内容がわかる表示名を使用します。
  • 対象環境の既存のオブジェクトタイプを確認します。
  • インストール時に API名が変更された場合に備えて、Slate 関数コードを更新できるようにしておきます。

利用できるのは Function の最新バージョンのみです。Marketplace でオントロジー SDK を使用する場合、バージョンを指定した Functions は利用できません。アプリケーションが Function の古いバージョンを参照している場合は、最新バージョンに更新し、アプリケーションを再パッケージ化してください。

対応していない機能

Marketplace で Slate アプリケーションをパッケージ化する場合、次の機能は利用できません。

  • カスタムデータソース(Postgres クエリを含む)は利用できません。利用可能なデータソースは API Gateway のみです。詳しくは、API Gateway クエリを参照してください。
  • グローバルスタイルシートは利用できません。
  • Foundry Form ウィジェットと時系列ウィジェットは利用できません。