カスタム拡張機能の公開

NOTE
この記事は、ソフトウェア開発ツールに精通していることを前提としています。

拡張機能がFusionで実行されるのは、お客様の組織に​ビルドデプロイ承認済み​の後だけです。 このページの手順では、拡張機能を公開する方法と結果を検証する方法について説明します。

この情報は、Adobeの公式ドキュメントに適合しており、Workfront Fusionに特に適用されます。 Adobeの一般的な情報については、Adobe ドキュメントのUI拡張機能の開発フローおよびUI拡張機能の管理を参照してください。

ワークスペース

すべてのApp Builder プロジェクトには、ステージ​と​実稼動 ワークスペースがあります。 それらを環境と考えてください。

  • ステージ​は開発とテスト用です。 イテレーション中にここにデプロイします。 承認は必要なく、結果は以下に説明するステージテストスイッチ(またはローカルプレビュー)を通じてのみ表示されます。
  • 本番​は、全員にリリースするためのものです。 実稼動環境にデプロイした後、承認リクエスト​を送信し、承認されると、拡張機能はAdobe App Registryに登録され、組織全体に表示されます。
NOTE
役割:​を作成およびデプロイするには​ 開発者 ​の役割が必要です。パブリッシュに承認要求を送信するには、システム管理者​の役割が必要です。
詳しくは、以下を参照してください。

デフォルトでは、Fusionには​ 公開済み ​の拡張機能のみが表示されます。 これらは、実稼動 ワークスペースにデプロイしてから、承認​用に送信した拡張機能です。 これは安全なデフォルトであるため、作業中のデプロイが組織全体に誤って表示されることはありません。

ステージ ワークスペースへのデプロイは公開されないので、Fusionに表示されません。 拡張機能を公開する前に、次の2つの方法で試すことができます。

Fusionでのステージビルドのテスト

このフローを使用して、公開する前にFusion内でステージのデプロイを確認します。

手順1:ステージワークスペースの選択

aio console where                  # shows current org / project / workspace
aio console workspace select       # choose Stage

ステップ 2:構築

aio app build

これにより、フロントエンドがコンパイルされ、メタデータフックが実行されます(これによりapp-metadata.jsonが生成されます)。 報告されたエラーを修正してから続行します。

手順3:デプロイ

aio app deploy

deployは次の2つの操作を行います。

  • Adobeのコンテンツ配信ネットワーク上でhttps://<project>-stage.adobeio-static.netのようなURLでUI​をホストします。 この​ 拡張エンドポイント URL ​は、完了時にCLIによって印刷されます。 これは、URL Fusionがiframeに読み込まれます。
  • 拡張機能のエンドポイント​をステージワークスペースの拡張ポイント (fusion/nav-organization/1)に登録します。
TIP
展開が「拡張ポイント 'fusion/nav-organization/1'が存在しません」で失敗した場合(エラー1060): Fusion拡張ポイントは、組織ではまだ有効になっていません。 これはオンボーディングステップであり、コードの間違いではありません。
詳しくは、トラブルシューティング記事の「拡張ポイントが存在しない」を参照してください。

手順4:Fusion プロファイルでステージテストを有効にする

Fusionは、ユーザーごとにオプトインした場合にのみステージング拡張機能を読み込みます。

  1. 展開した​ 同じ組織 ​のアカウントでFusionにログインします。

  2. 上隅のユーザーアバターメニューを開き、製品設定 > Fusion プロファイル > 環境設定​に移動します。

  3. ステージング拡張機能 スイッチをオンにします。

    Fusionでリロードを求めるプロンプトが表示されます。

  4. リロードを確認します。

リロード後、Fusionは公開されたセットではなくステージワークスペースからエクステンションを読み込み、ナビゲーション内の各​ (ステージ) ​にラベルを付けて区別できるようにします。

このスイッチは、組織設定ではなく、ブラウザーに保存されている個人用テスト設定です。 公開した拡張機能に戻るには、これをオフにして再読み込みします。 ローカルに保存されているため、別のブラウザーやコンピューターには移動しません。

手順5:Fusionでの確認

  1. 拡張機能ポイントに一致するセクションを開きます。

    • fusion/nav-organization/1→左ナビゲーションの​ 組織 ​領域に移動します。
    • fusion/nav-team/1チーム​領域に移動します(最初にチームを選択してください)。

    getWidget()で設定したタイトルのボタンが表示され、(ステージ)​とマークされます。

  2. 表示されたボタンをクリックします。

UIが読み込まれ、Fusion コンテキスト ​が受け取られます。

ボタンが表示されない場合、またはパネルにエラーが表示される場合は、​ トラブルシューティング ​を参照してください。

実稼動環境でのリリース

拡張機能がステージで動作し、すべてのユーザーの準備が整ったら:

手順1:実稼動ワークスペースへの切り替え

aio console workspace select       # choose Production

CLIで.env ファイルに関するプロンプトが表示されたら、結合​を選択して、環境変数を保持します。

手順2:ビルドと実稼動環境へのデプロイ

aio app build
aio app deploy

手順3:承認リクエストの送信

公開は、実稼動ワークスペース から送信された​承認要求です。

  1. Adobe Developer Consoleを開き、組織​を選択し、プロジェクト​を開き、実稼動 ワークスペースに切り替えます。
  2. アプリを​ 承認/公開 ​用に送信します(これには​ システム管理者 ​の役割が必要です)。
  3. 承認後、拡張機能が​ Adobe App Registry ​に追加され、Fusionを含むAdobe Experience Cloud全体で使用できるようになります。

詳しい手順については、Adobe Developer ドキュメントのUI Extensions Managementを参照してください。

ステータスと更新

いくつかの行動は知る価値があるので、「何かが間違っている」とは別に「まだ取り組んでいる」と言うことができます。

  • 実稼動環境にデプロイされた​は、表示可能な状態と同じではありません。 実稼動用にaio app deployがアプリをアップロードしますが、拡張機能が表示されません。 承認リクエストが送信され、承認された後にのみ表示されます。 実稼動環境にデプロイしてもFusionに表示されない場合、通常の理由は、まだ承認されていないことです。

  • コードのみの更新には、新しい承認は必要ありません。 拡張機能が既に公開されていて、そのコード(UIまたはランタイムアクション)のみを変更する場合は、次のようにして同じURLに再デプロイします。

    code language-sh
    aio app deploy --force-deploy
    

    次回に拡張機能を開いたときに、新しいバージョンが表示されます。 インストールするものはありません。 新しい拡張ポイントの追加やgetWidget()広告の変更など、登録​自体を変更する場合にのみ、新しい承認リクエストを送信する必要があります。

  • 失効または取り消された拡張機能が表示されなくなります。 拡張機能が失効または取り消された場合、エラーメッセージなしでFusionに表示されなくなります。 以前に動作していた拡張機能が全員に表示されない場合は、コードの問題を検索する前に、それが失効したかどうかを確認します。

拡張機能の削除(取り消し)

公開された拡張機能の削除は、Adobe Exchangeで​ 無効化 ​することによって実行されます。

  1. Adobe Exchange​にログインします。
  2. 管理 > App Builder アプリ​に移動します。
  3. 削除する拡張機能の横にある「失効」を選択し、確認します。

取り消し後、拡張機能はExtension Managerに​失効 ステータスを表示し、Fusionには表示されなくなります。 完全に削除するには、Developer Consoleでプロジェクトを削除します。 プロジェクトは、拡張機能が失効するまで削除できません。

ステージングのみのテストデプロイメントの場合、デプロイメントを削除するには、次の手順を実行します。

aio app undeploy

追加のリソース

Adobeのドキュメントでは、次のリソースを使用できます。

recommendation-more-help
workfront-fusion-help-workfront-fusion