アイテムのライフサイクル
Fabric UI でのアイテム作成で推奨されるフローは次のとおりです。
- ユーザーにアイテム名の入力を求めます。
- "空の" アイテムを作成します。
- 新しいアイテムを編集して保存します。
このプロセスは次のフェーズに分けることができます。
ユーザーが任意の種類のアイテムを作成するボタンを選択すると、Fabric FE (ポータル) コードは対応するアイテム エディターを読み込む必要があります。 Fabric FE は Fabric BE に API 呼び出しを行い、ソース URL、Microsoft Entra ID アプリケーションの詳細、ワークロード BE URL など、現在のコンテキストに対応する必要な情報をすべてフェッチします。 この情報が使用可能になると、アイテムが作成されます。 通常、アイテムは HTML、JavaScript、CSS、画像などの静的リソースを CDN から読み込みます。 複数リージョンの CDN デプロイを使用し、ソース URL がブラウザーの現在地に物理的に最も近い CDN サーバーに解決されるように名前解決を構成することをお勧めします。
Note
通常アイテム エディターは、場合によっては編集フェーズ中に、ワークロード BE を呼び出す必要があります。 このためには、現在のコンテキストに基づいてワークロード BE URL を解決する必要があります。 現在、コードでハードコーディングされた BE URL を使用できます。
空のアイテムを作成する
Fabric では、アイテム名を除き、ユーザーによる入力のないアイテムを作成できるようにするのが一般的です。 このようなアイテムは意味のある何かを行うことにはなっていません (それゆえ "空") が、ワークスペースに表示され、基本的なフローと操作に関与できます。 さらに、ワークロードによって設定された適切な既定値に基づいて、機能するようになる場合もあります。
このフローは、まず新しいアイテムの名前を指定するようにユーザーに求めます。 名前を指定すると、iframe がホスト JS API を呼び出してアイテム作成フローを開始して、オプションの JSON オブジェクトを "作成ペイロード" としてパスし、そしてホストが Fabric BE を呼び出します。 認証はホストによって処理されます。 Fabric BE はコンテキストに基づいてワークロード BE URL を解決し、CreateItem
ワークロード API を呼び出して、ifame によって送信された "作成ペイロード" を渡します。 ワークロード BE は、新しいアイテムのメタデータを保存し、場合によってはリソースを割り当て (ただし、この手順は後に延期することもできます)、その他の関連する作業を実行することが期待されます。 ワークロード BE の観点でアイテムの作成が完了したら、アイテム メタデータの変更について Fabric BE に通知する必要があります。 アイテム メタデータの更新でも同じプロセスが行われる必要があるため、サブジェクト トークンを Fabric BE 対象ユーザーと交換する必要があります。
Note
アイテム メタデータの更新を通知するための API は現在使用できません。
アイテムを読み込む
アイテムを編集するには、iframe はそのメタデータを読み込む必要があります。 このプロセスは、"空" アイテムや "初期化済み" アイテムを読み込む場合と同じです。 iframe はホスト JS API を呼び出し、そのホスト JS API が Fabric BE を呼び出し、そしてその Fabric BE が GetItemPayload ワークロード API を呼び出します。 ワークロード BE は JSON オブジェクトを返すことができ、それは iframe に渡されます。 認証はホストによって処理されます。
アイテムを編集する
アイテム メタデータが読み込まれると、編集セッションを開始できます。 最初またはこのセッション中に、iframe がワークロード BE を呼び出す必要がある場合があります (たとえば、構成のフェッチ、UI コントロールの事前設定、検証の実行をする際など)。 このためには、ホスト JS API にトークンを要求する必要があります。