アセットを Adobe Experience Manager に移行する際には、いくつかの手順を考慮する必要があります。現在のホームからアセットやメタデータを抽出する方法は、実装環境により方法が大きく異なるのでこのドキュメントでは説明しません。本書では、抽出したアセットを Experience Manager に移行してメタデータを適用し、レンディションを生成してそれらをパブリッシュインスタンスでアクティベートする方法について説明します。
この方法に従って実際に手順を実行する前に、Assets パフォーマンスチューニングに関するヒントのガイダンスを確認して実践してください。ここで紹介する手順の多くは、同時に実行可能なジョブの最大数の設定など、負荷時のサーバーの安定性とパフォーマンスを大幅に改善します。システムにアセットが読み込まれた後だと、その他の手順(ファイルデータストアの設定など)を実行するのがより困難になります。
次のアセット移行ツールは Experience Manager の一部ではないので、Adobe ではサポートしていません。
このソフトウェアはオープンソースで、Apache v2 License が適用されます。質問や問題を報告するには、それぞれ ACS AEM ツールと ACS AEM Commons に関する GitHub の問題を利用してください。
Experience Manager にアセットを移行するにはいくつかの手順を経る必要があるので、フェーズ別に処理することをお勧めします。移行のフェーズは次のとおりです。
移行を開始する前に、DAM アセットの更新ワークフローのランチャーを無効化します。すべてのアセットを取り込んでからワークフローをバッチで実行する方法が最適です。移行が実行されるときに既にライブである場合は、これらのアクティビティを営業時間外に実行するようにスケジュールを設定できます。
画像に適用するタグ分類は既に用意されていることがあります。CSV Asset Importer などのツールや Experience Manager のメタデータプロファイルのサポートにより、タグをアセットに適用する処理は自動化できますが、タグをシステムに読み込む必要があります。ACS AEM ツールの Tag Maker 機能を使用すると、システムに読み込まれた Microsoft Excel のスプレッドシートを使用してタグを入力できます。
アセットをシステムに取り込む際に重要なのは、パフォーマンスと安定性です。システムに大量のデータを読み込むので、特に既に実稼動環境にあるシステムでは、システムがパフォーマンスを可能な限り発揮できるようにする一方で、処理に必要な時間を短縮し、システムのオーバーロードによりシステムがクラッシュしないように注意する必要があります。
システムにアセットを読み込むには、HTTP を使用したプッシュベースのアプローチと JCR の API を使用したプルベースのアプローチがあります。
アドビの Managed Services チームは Glutton というツールを使用してお客様の環境にデータを読み込みます。Glutton は小さな Java アプリケーションであり、Experience Manager のデプロイメントでディレクトリから別のディレクトリにすべてのアセットを読み込みます。Glutton の代わりに、Perl スクリプトなどのツールを使用してアセットをリポジトリに投稿することもできます。
HTTPS を通じたプッシュのアプローチには、主に次の 2 つの欠点があります。
アセットを取り込むもう一方のアプローチでは、ローカルファイルシステムからアセットを引っ張ってきます。ただし、プルベースのアプローチを実行する外部ドライブやネットワーク共有がサーバーにマウントされていない場合は、HTTP を通じたアセットの投稿が最適なオプションです。
ACS AEM ツールの CSV Asset Importer は、アセットをファイルシステムから、アセットメタデータをアセット読み込み用の CSV ファイルから、それぞれ取り込みます。Experience Manager の Asset Manager API を使用して、アセットをシステムに取り込み、設定したメタデータプロパティを適用します。アセットはネットワークファイルマウントまたは外部ドライブを介してサーバーにマウントされているのが理想です。
アセットをネットワーク上で送信する必要がないので、全体的なパフォーマンスが劇的に向上します。このため、一般的にはこの方法がアセットをリポジトリに読み込む最も効率的な方法と見なされています。さらに、ツールがメタデータの取り込みをサポートし、すべてのアセットとメタデータを 1 つの手順で取り込むことができるので、別のツールを使用してメタデータを適用する 2 つ目の手順が不要になります。
アセットをシステムに読み込んだ後、メタデータを抽出してレンディションを生成するには、DAM アセットの更新ワークフローを通じてアセットを処理する必要があります。この手順を実行する前に、DAM アセットの更新ワークフローをニーズに合わせて複製および変更する必要があります。既製のワークフローには、Dynamic Media PTIFF の生成や InDesign Server の統合など、ユーザーによっては必要でない手順が多く含まれています。
ニーズに合わせてワークフローを設定したら、次の 2 つの方法のいずれかで実行できます。
パブリッシュ層のあるデプロイメントでは、アセットをパブリッシュファームにアクティベートする必要があります。アドビは 1 つ以上のパブリッシュインスタンスを実行することを推奨していますが、すべてのアセットを 1 つのパブリッシュインスタンスにレプリケートして、そのインスタンスをクローンする方法が最も効率的です。多数のアセットをアクティベートするときは、ツリーのアクティベートを実行した後に、干渉する必要が生じる場合があります。理由は、アクティベートをトリガーするときに、Sling のジョブやイベントキューに項目が追加されるからです。このキューのサイズがだいたい 40,000 項目を超えると、処理速度が劇的に低下します。このキューのサイズが 100,000 項目を超えると、システムの安定性に影響を及ぼします。
この問題を回避するには、Fast Action Manager を使用してアセットのレプリケートを管理します。これは Sling キューを使用することなく動作し、オーバーヘッドを減らすほか、ワークロードをスロットルしてサーバーのオーバーロードを防ぎます。レプリケーションの管理に FAM を使用する例は、この機能のドキュメントページに記載しています。
アセットをパブリッシュファームに移行するその他のオプションは、vlt-rcp または oak-run を使用する方法です。これらは Jackrabbit の一部のツールとして提供されます。Experience Manager インフラストラクチャにオープンソースツール Grabbit を使用する方法もあります。vlt よりも高いパフォーマンスを発揮すると言われています。
これらのアプローチで注意すべき点は、オーサーインスタンス上でアセットがアクティベートされていると表示されないことです。アセットのアクティベート状態を正しくフラグ設定するには、アセットをアクティベート済みとマークする別のスクリプトも実行する必要があります。
アドビは Grabbit を管理およびサポートしません。
アセットがアクティベートされたら、パブリッシュインスタンスをクローンしてデプロイメントに必要なコピーを必要な分だけ作成できます。サーバーのクローンは比較的簡単ですが、いくつか重要な手順があります。パブリッシュをクローンするには:
crx-quickstart/launchpad/felix
でファイルシステムの検索を実行し、sling.id
を探します。このファイルを削除します。repository-XXX
ファイルを探してすべて削除します。crx-quickstart/install/org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config
と crx-quickstart/launchpad/config/org/apache/jackrabbit/oak/plugins/blob/datastore/FileDataStore.config
を編集し、新しい環境のデータストアの場所を指すようにします。移行が完了したら、レンディションの生成とメタデータの抽出をサポートするために DAM の更新アセットワークフローのランチャーを再度有効化し、稼働中のシステムが日常的に使用できるようにします。
それほど一般的ではないものの、ある Experience Manager デプロイメントから別のデプロイメントに大量のデータを移行する必要があります。例えば、Experience Manager のアップグレードを実行したり、ハードウェアをアップグレードをしたり、新しいデータセンターへの移行(AMS の移行)を実行する場合です。
このケースでは、移行するアセットには既にメタデータが入力されており、レンディションは既に生成されています。インスタンス間の移動に集中することができます。Experience Manager デプロイメント間で移行を行うには、次の手順を実行します。
ワークフローランチャーを無効化する:他のアセットとともに共にレンディションを移行するするため、DAM の更新アセットワークフローのランチャーを無効にする必要があります。
タグを移行する:タグは既にソースの Experience Manager デプロイメントに読み込まれているため、コンテンツパッケージでタグをビルドした後、パッケージ自体をターゲットデプロイメントにインストールできます。
アセット移行する:Experience Managerデプロイメントから別のデプロイメントにアセットを移行する場合に推奨されるツールは次の 2 つです。
アセットを有効にする:アセットの有効化については、Experience Manager に初めて移行する際の手順について記載された説明に従ってください。
パブリッシュをクローン化する:新規の移行の場合と同様に、1 つのパブリッシュインスタンスを読み込んでクローン化する方が、両方のノードでコンテンツを有効にするよりも効率的です。パブリッシュインスタンスのクローンを参照してください。
ワークフローを有効にする:移行が完了したら、DAM の更新アセットワークフローのランチャーを再び有効にして、レンディションの生成とメタデータの抽出をサポートし、日常的なシステムの利用を継続できるようにします。