AEM Assets:実稼動環境の特定のアセットに対するタイトル同期のワークフローがトリガーされない
この記事では、Adobe Experience Manager Assetsでアセットタイトルを同期するためのカスタムワークフローが、下位環境で作業しているにもかかわらず、実稼動環境の特定のアセットに対してトリガーされない問題を解決します。
説明 description
環境
Adobe Experience Manager(AEM)as a Cloud Service(すべてのバージョン)
問題/症状
アセットのタイトルが更新されたときにjcr:title値をdc:titleに同期するように、AEM Assetsでワークフローが設定されます。 実稼動環境では、一部のアセットはタイトルの編集時にこのワークフローをトリガーしません。また、同じアセットがワークフローと同じパストリガーの下にある下位の環境にコピーされます。
- ワークフローは、Assets UIを介してタイトルの更新にトリガーを合わせることが必要です。
- タイトルを更新した後、影響を受けるアセットの実稼動環境にワークフローインスタンスが表示されません。
- 問題はアセット固有です。特定のアセットのみが影響を受け、同じフォルダーまたはパス内のすべてのアセットが影響を受けるわけではありません。
- UIにはエラーメッセージは表示されませんが、ワークフローインスタンスのログにはこれらのアセットのトリガーは表示されません。
アセットパスの例(実稼動):
/content/dam/xxxx/commercial/xxxx/smith/piece/display/static/smith banner 3.png/content/dam/xxxx/commercial/xxxx/smith/piece/direct mail - direct mail/xxxx 2021 V3.html
複製の手順
- 実稼動環境で、影響を受けるアセットを見つけます。
- Assets UIを使用して、アセットのタイトルを編集します。
- ワークフローインスタンスのログで、アセットに関連するトリガーを確認します。
- タイトルの更新用にワークフローインスタンスが作成されていないことを確認します。
追加情報
- 同じアセットを下位環境にコピーした場合は、想定どおりにワークフローをトリガーします。
- ワークフローランチャーは、通常
jcr:content/metadataにノード変更イベント用に設定されます。
原因
実稼動環境の特定のアセットでは、タイトルの更新によって、ワークフローランチャーが監視するように設定されているjcr:content/metadata ノードが変更されないため、ワークフローがトリガーしません。 これは、ノード構造の違い、メタデータノードの欠落、またはこれらのアセットにのみ適用されるランチャーの条件や除外が原因である可能性があります。
解決策 resolution
問題を解決するには、次の手順に従います。
-
ワークフローランチャー設定の確認
- AEMで、 ツール
>ワークフロー>ランチャーに移動します。 - ワークフローランチャーが、想定されるパス(例:
/content/dam/.../jcr:content/metadata)で正しいイベントタイプ(例:Node Modified)とノードタイプ(例:nt:unstructured)をリッスンするように設定されていることを確認します。
- AEMで、 ツール
-
ノード構造の比較
- 実稼動環境で影響を受けるアセットの場合は、CRXDE Liteまたは同様のツールを使用して、
jcr:contentの下のノード構造を調べます。 metadataノードが存在するか、jcr:titleプロパティがjcr:content/metadataの下で更新されているか、jcr:contentの下でのみ更新されているかを確認します。- ワークフローが正しくトリガーされている下位環境の同じアセットと比較します。
- 実稼動環境で影響を受けるアセットの場合は、CRXDE Liteまたは同様のツールを使用して、
-
ワークフローランチャーの条件を確認してリストを除外
- ワークフローランチャー設定の条件を確認するか、リスト エントリを除外します(例:
event-user-data:changedByWorkflowProcess)。 - 影響を受けるアセットのプロパティデータまたはユーザーデータがランチャーのトリガーをスキップしていないことを確認します。
- ワークフローランチャー設定の条件を確認するか、リスト エントリを除外します(例:
-
DEBUGログを有効にする(さらに調査が必要な場合)- ワークフローおよびランチャー関連のクラスの
DEBUGログを一時的に有効にするには、Cloud Manager>ログレベルの管理を使用します。 - 一時的なトラブルシューティングのために、コードのデプロイメントを介して
DEBUGログを有効にしないでください。 - ログを収集したら、
DEBUGログを取り消して、不要なログ ボリュームを回避します。 - 詳細については、 ログレベルの管理に関するAdobeのドキュメント を参照してください。
- ワークフローおよびランチャー関連のクラスの
-
アセットメタデータの修正(必要な場合)
- 実稼動環境の影響を受けるアセットのノード構造が異なるか、メタデータが欠落している場合は、タイトルの変更によって期待どおりに
metadataノードが更新されるように、アセットを更新します。 - これには、アセットのメタデータを再保存したり、スクリプトを使用してノード構造を作業中のアセットに合わせたりすることが含まれます。
- 実稼動環境の影響を受けるアセットのノード構造が異なるか、メタデータが欠落している場合は、タイトルの変更によって期待どおりに
recommendation-more-help
experience-cloud-kcs-help-kbarticles