アセット移行ガイド

アセットを AEM に移行する際には、いくつかの手順を考慮する必要があります。現在のホームからアセットやメタデータを抽出する方法は、実装によって大きく異なるので、このドキュメントの範囲外です。 このドキュメントでは、これらのアセットをAEMに取り込み、メタデータを適用し、レンディションを生成し、アセットをアクティブ化または公開する方法について説明します。

前提条件

以下に示す手順を実行する前に、Assetsパフォーマンスチューニングのヒントのガイダンスを確認し、実装してください。 最大同時ジョブ数の設定など、多くの手順で、負荷時のサーバーの安定性とパフォーマンスが向上します。 ファイルデータストアの設定など、その他の手順は、システムにアセットが読み込まれた後は実行するのが困難です。

メモ

次のアセット移行ツールは、Adobe Experience Managerには含まれていません。 Adobeカスタマーケアは、これらのツールをサポートしていません。

  • ACS AEM ツールの Tag Maker
  • ACS AEM ツールの CSV Asset Importer
  • ACS Commons の Bulk Workflow Manager
  • ACS Commons の Fast Action Manager
  • 合成ワークフロー

このソフトウェアはオープンソースで、Apache v2 License が適用されます。質問や問題を報告するには、それぞれ ACS AEM ツールACS AEM Commons に関する GitHub の問題を利用してください。

AEM への移行

AEM にアセットを移行するにはいくつかの手順を経る必要があるので、フェーズ別に処理することをお勧めします。移行のフェーズは次のとおりです。

  1. ワークフローを無効化する。
  2. タグを読み込む。
  3. アセットを取り込む。
  4. レンディションを処理する。
  5. アセットをアクティベートする。
  6. ワークフローを有効化する。

chlimage_1-223

ワークフローの無効化

移行を開始する前に、DAM Update Assetワークフローのランチャーを無効にします。 すべてのアセットをシステムに取り込んでから、ワークフローをバッチで実行することをお勧めします。 移行がおこなわれている間に既に実行済みの場合は、これらのアクティビティを非稼働時間帯に実行するようにスケジュールできます。

タグの読み込み

画像に適用するタグ分類は既に用意されていることがあります。CSVアセットインポーターやメタデータプロファイル機能などのツールは、アセットへのタグの適用を自動化するのに役立ちます。 その前に、「Experience Manager」にタグを追加します。 ACS AEM ツールの Tag Maker 機能を使用すると、システムに読み込まれた Microsoft Excel のスプレッドシートを使用してタグを入力できます。

アセットの取り込み

アセットをシステムに取り込む際に重要なのは、パフォーマンスと安定性です。多数のデータをExperience Managerに読み込む場合は、システムのパフォーマンスが良好であることを確認します。 これにより、データの追加に要する時間が最小限に抑えられ、システムの過負荷を防ぐのに役立ちます。 これは、特に実稼動中のシステムでのシステムクラッシュを防ぐのに役立ちます。

システムにアセットを読み込むには、HTTP を使用したプッシュベースのアプローチと JCR の API を使用したプルベースのアプローチがあります。

HTTP 経由によるプッシュ

アドビの Managed Services チームは Glutton というツールを使用してお客様の環境にデータを読み込みます。Glutton は小さな Java アプリケーションで、AEM インスタンスのあるディレクトリから別のディレクトリにすべてのアセットを読み込みます。Glutton の代わりに、Perl スクリプトなどのツールを使用してアセットをリポジトリに投稿することもできます。

HTTPS を通じたプッシュのアプローチには、主に次の 2 つの欠点があります。

  1. アセットをHTTP経由でサーバーに送信します。 これには大量のオーバーヘッドが発生し、時間もかかるので、移行に要する時間が長くなります。
  2. アセットに適用する必要があるタグやカスタムメタデータがある場合、このアプローチでは、アセットを取り込んだ後にこのメタデータを適用するという、2 段階のカスタムプロセスを実行する必要がある。

アセットを取り込むもう一方のアプローチでは、ローカルファイルシステムからアセットを引っ張ってきます。ただし、プルベースのアプローチを実行する外部ドライブやネットワーク共有がサーバーにマウントされていない場合は、HTTP を通じたアセットの投稿が最適なオプションです。

ローカルファイルシステムからのプル

ACS AEMツールのCSV Asset Importerは、アセットをファイルシステムから、アセットメタデータをアセット読み込みのCSVファイルから、それぞれ取り込みます。 AEM Asset Manager API はアセットをシステムに取り込み、設定したメタデータプロパティを適用します。アセットはネットワークファイルマウントまたは外部ドライブを介してサーバーにマウントされているのが理想です。

アセットがネットワークを介して送信されない場合、全体的なパフォーマンスが大幅に向上します。 この方法は、通常、リポジトリにアセットを読み込む最も効率的な方法です。 さらに、ツールがメタデータの取り込みをサポートしているので、すべてのアセットとメタデータを1つの手順で読み込むことができます。 別のツールを使用するなど、メタデータを適用するための他の手順は必要ありません。

レンディションの処理

アセットをシステムに読み込んだ後、メタデータを抽出してレンディションを生成するには、DAM アセットの更新ワークフローを通じてアセットを処理する必要があります。この手順を実行する前に、DAM アセットの更新ワークフローをニーズに合わせて複製および変更する必要があります。Dynamic Media Classic PTIFFの生成やInDesignサーバーの統合など、デフォルトワークフローの一部の手順が必要でない場合があります。

必要に応じてワークフローを設定したら、次の2つの方法でワークフローを実行できます。

  1. 最も簡単なアプローチは、ACS Commons の Bulk Workflow Manager です。このツールを使用すると、クエリを実行し、クエリの結果をワークフローを通じて処理します。バッチサイズを設定するオプションも用意されています。
  2. ACS Commons の Fast Action Manager合成ワークフローと組み合わせて使用できます。このアプローチはより複雑ですが、AEM ワークフローエンジンのオーバーヘッドを削除し、サーバーリソースの使用を最適化します。さらに、Fast Action Manager はサーバーリソースを動的に監視し、システムに配置された読み込みをスロットリングすることでパフォーマンスを大幅に向上します。サンプルスクリプトは ACS Commons の機能ページに記載されています。

アセットのアクティベート

パブリッシュ層のあるデプロイメントでは、アセットをパブリッシュファームにアクティベートする必要があります。アドビは 1 つ以上のパブリッシュインスタンスを実行することを推奨していますが、すべてのアセットを 1 つのパブリッシュインスタンスにレプリケートして、そのインスタンスをクローンする方法が最も効率的です。多数のアセットをアクティベートするときは、ツリーのアクティベートを実行した後に、干渉する必要が生じる場合があります。理由は次のとおりです。アクティベーションを実行すると、項目がSlingジョブ/イベントキューに追加されます。 このキューのサイズがだいたい 40,000 項目を超えると、処理速度が劇的に低下します。このキューのサイズが 100,000 項目を超えると、システムの安定性に影響を及ぼします。

この問題を回避するには、Fast Action Manager を使用してアセットのレプリケートを管理します。これは Sling キューを使用することなく動作し、オーバーヘッドを減らすほか、ワークロードをスロットルしてサーバーのオーバーロードを防ぎます。レプリケーションの管理に FAM を使用する例は、この機能のドキュメントページに記載しています。

アセットをパブリッシュファームに移行するその他のオプションは、vlt-rcp または oak-run を使用する方法です。これらは Jackrabbit の一部のツールとして提供されます。AEM インフラストラクチャのオープンソースツール Grabbit を使用する方法もあります。vit よりも高いパフォーマンスを発揮すると言われています。

これらのアプローチで注意すべき点は、オーサーインスタンス上でアセットがアクティベートされていると表示されないことです。アセットのアクティベート状態を正しくフラグ設定するには、アセットをアクティベート済みとマークする別のスクリプトも実行する必要があります。

メモ

アドビは Grabbit を管理およびサポートしません。

公開のクローン

アセットがアクティベートされたら、パブリッシュインスタンスをクローンしてデプロイメントに必要なコピーを必要な分だけ作成できます。サーバーのクローンは比較的簡単ですが、いくつか重要な手順があります。パブリッシュをクローンするには:

  1. ソースインスタンスとデータストアをバックアップします。
  2. インスタンスとデータストアのバックアップを対象の場所に復元します。続く手順はすべてこの新しいインスタンスを参照します。
  3. crx-quickstart/launchpad/felixsling.idのファイルシステム検索を実行します。 このファイルを削除します。
  4. データストアのルートパスで、repository-XXX ファイルを探してすべて削除します。
  5. crx-quickstart/install/org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.configcrx-quickstart/launchpad/config/org/apache/jackrabbit/oak/plugins/blob/datastore/FileDataStore.config を編集し、新しい環境のデータストアの場所を指すようにします。
  6. 環境を開始します。
  7. オーサー環境にあるすべてのレプリケーションエージェントが正しいパブリッシュインスタンスを指す、または新しいインスタンスの Dispatcher のフラッシュエージェントが新しい環境の正しい Dispatcher を参照するように設定を更新します。

ワークフローの有効化

移行が完了したら、レンディションの生成とメタデータの抽出をサポートするように DAM の更新アセットワークフローのランチャーを再度有効化し、稼動中のシステムが日常的に使用できるようにします。

AEMデプロイメント間でのアセットの移行

それほど一般的ではありませんが、ある AEM インスタンスからもう一方のインスタンスに大量のデータを移行する必要があることもあります。例えば、AEM やお使いのハードウェアをアップグレードする場合や、AMS の移行などに伴い新しいデータセンターに移行する場合などです。

このケースでは、移行するアセットには既にメタデータが入力されており、レンディションは既に生成されています。インスタンス間の移動に集中することができます。AEM インスタンス間で移行するには、次の手順を実行します。

  1. ワークフローを無効にする:アセットと共にレンディションを移行するので、DAMアセットの更新のワークフローランチャーを無効にする必要があります。

  2. タグの移行:ソースAEMインスタンスに既にタグが読み込まれているので、それらをコンテンツパッケージにビルドして、ターゲットインスタンスにパッケージをインストールできます。

  3. アセットの移行:アセットをAEMインスタンス間で移動する場合に推奨されるツールは次の2つです。

    • Vaultリモートコピー( vlt rcp)を使用すると、ネットワーク全体でvltを使用できます。移動元と移動先のディレクトリを指定すると、vit がすべてのリポジトリデータを一方のインスタンスからダウンロードし、もう一方に読み込みます。vt rcp については、https://jackrabbit.apache.org/filevault/rcp.html に記載されています。
    • Grabbit。Time Warner Cable が AEM の実装のために開発した、オープンソースのコンテンツ同期ツールです。継続的なデータストリームを使用するので、vlt rcp と比較して待ち時間が少なく、vlt rcp の 2 倍から 10 倍高速であると言われています。また、Grabbit はデルタコンテンツのみの同期をサポートし、最初の移行パスが完了した後に加えられた変更を同期できます。
  4. アセットのアクティベート:AEMへの最初の移行については、アセットのアクティベートの手順に従って進めてください。

  5. 公開のクローン:新しい移行と同様に、1つのパブリッシュインスタンスを読み込み、クローンを作成する方が、両方のノードでコンテンツをアクティブ化するよりも効率的です。 パブリッシュインスタンスのクローンを参照してください。

  6. ワークフローの有効化:移行が完了したら、レンディションの生成とメタデータの抽出をサポートするようにDAMアセットの更新ワークフローのランチャーを再度有効にして、稼動中のシステムが日常的に使用できるようにします。

このページ