アセットを一括で移行する方法

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

前提条件

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

メモ

次のアセット移行ツールは、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 の問題を利用してください。

Experience Managerに移行

Experience Managerへのアセットの移行にはいくつかの手順が必要で、段階的なプロセスと見なす必要があります。 移行のフェーズは次のとおりです。

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

chlimage_1-223

ワークフローの無効化

移行を開始する前に、DAMアセットの更新ワークフローのランチャーを無効にします。 すべてのアセットを取り込んでからワークフローをバッチで実行する方法が最適です。移行が実行されるときに既にライブである場合は、これらのアクティビティを営業時間外に実行するようにスケジュールを設定できます。

タグの読み込み

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

アセットの取り込み

アセットをシステムに取り込む際に重要なのは、パフォーマンスと安定性です。システムに大量のデータを読み込むので、特に既に実稼動環境にあるシステムでは、システムがパフォーマンスを可能な限り発揮できるようにする一方で、処理に必要な時間を短縮し、システムのオーバーロードによりシステムがクラッシュしないように注意する必要があります。

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

HTTP経由で送信

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

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

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

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

ローカルファイルシステムから取得

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

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

レンディションの処理

アセットをシステムに読み込んだ後、DAMアセットの更新ワークフローを通じてアセットを処理し、メタデータを抽出してレンディションを生成する必要があります。 この手順を実行する前に、必要に応じてDAMアセットの更新ワークフローを複製および変更する必要があります。 標準のワークフローには、Dynamic Media PTIFFの生成やInDesign Server統合など、ユーザーにとって不要な手順が多数含まれています。

ニーズに合わせてワークフローを設定したら、次の 2 つの方法のいずれかで実行できます。

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

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

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

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

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

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

メモ

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

公開のクローン

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

  1. ソースインスタンスとデータストアをバックアップします。
  2. インスタンスとデータストアのバックアップを対象の場所に復元します。続く手順はすべてこの新しいインスタンスを参照します。
  3. crx-quickstart/launchpad/felix でファイルシステムの検索を実行し、sling.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アセットの更新ワークフローのランチャーを再度有効にする必要があります。

Experience Managerデプロイメント間の移行

ごく一般的ではありませんが、場合によっては、Experience Managerデプロイメント間で大量のデータを移行する必要があります。例えば、Experience Managerアップグレードを実行する場合、ハードウェアをアップグレードする場合、またはAMS移行を使用する場合など、新しいデータセンターに移行する場合などです。

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

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

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

  3. アセットの移行:あるExperience Managerデプロイメントから別のデプロイメントにアセットを移動する場合に推奨されるツールは2つあります。

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

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

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

このページ