現在表示中:

アセットを AEM に移行するとき、いくつかの手順を考慮する必要があります。現在のホームからアセットやメタデータを抽出する方法は、実装によりやり方が異なるのでこのドキュメントでは説明しませんが、抽出したアセットを AEM に移行してメタデータを適用し、レンディションを生成してそれらをパブリッシュインスタンスでアクティベートする方法について説明します。

必要条件

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

注意:

次のアセット移行ツールは AEM の一部ではないので、アドビサポートではサポートしません。

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

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

AEM への移行

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

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

ワークフローの無効化

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

タグの読み込み

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

アセットの取り込み

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

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

HTTP を通じたプッシュ

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

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

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

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

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

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

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

レンディションの処理

アセットをシステムに読み込んだ後、メタデータを抽出してレンディションを生成するには、DAM アセットの更新ワークフローを通じてアセットを処理する必要があります。この手順を実行する前に、DAM アセットの更新ワークフローをニーズに合わせて複製および変更する必要があります。既製のワークフローには、Scene7 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/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. オーサー環境にあるすべてのレプリケーションエージェントが正しいパブリッシュインスタンスを指す、または新しいインスタンスのディスパッチャーのフラッシュエージェントが新しい環境の正しいディスパッチャーを参照するように設定を更新します。

ワークフローの有効化

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

AEM インスタンス間の移行

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

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

  1. ワークフローを無効化する。 

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

  2. タグを移行します。

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

  3. アセットを移行します。

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

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

    AEM への最初の移行については、アセットのアクティベートの手順に従って進めてください。

  5. パブリッシュインスタンスをクローンします。

    新規移行と同様に、コンテンツを両方のノードでアクティベートするよりも、1 つのパブリッシュインスタンスを読み込んでクローンする方法のほうが効率的です。パブリッシュインスタンスのクローンを参照してください。

  6. ワークフローを有効化します。

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

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー