AEM:エンコードされたパーソナライゼーション区切り文字が原因のAdobe Campaign Classicでの配信エラー

この記事では、AEMで作成されたメールテンプレートに、アップグレード後に誤ってエンコードされたパーソナライゼーション出力ブロックが含まれている場合に、Adobe Campaign Classicで配信エラーが発生する問題について説明します。 特にカスタムリッチテキストエディターコンポーネントを使用する場合は、問題を特定および解決するための手順が提供されます。

説明 description

環境

  • Adobe Experience Manager(AEM) 6.5 LTS (Service Pack 2以降)
  • Adobe Campaign Classic リリース 8.9.3

症状

パーソナライゼーション出力ブロック(<%= recipient.firstName %>など)を含むAEMで作成したメールテンプレートをAdobe Campaign Classicに同期する場合、アップグレード後にカスタムリッチテキストエディター(RTE)コンポーネントを使用してテンプレートを作成または編集した場合、配信の準備が失敗します。 パーソナライゼーションオープナーの等号の署名はHTMLでエンコードされ(&#61;)、書き出されたコンテンツに&lt;%&#61; recipient.firstName %&gt;が含まれます。 Adobe Campaignでは、出力ブロックを認識するために<%の後にリテラルの等号が必要です。エンコードされたエンティティが認識されないため、コンパイルが失敗します。 Campaignのエラーメッセージには、次のものが含まれます。

  • JST-310054警告:スクリプト 'content htmlContent’をコンパイルできませんでした
  • SCR-160032 JavaScript: スクリプト 'content htmlContent’のコンパイル中にエラーが発生しました
  • JST-310007 スクリプトをコンパイルできません(content htmlContent)

この問題は、新しく同期されたテンプレートと、更新または再同期された既存のテンプレートに影響します。 アップグレード前に同期され、再同期されていないテンプレートは影響を受けません。 この問題は、カスタム RTE コンポーネントを使用して作成または編集されたテンプレートに固有です。Adobeの公式の修正プログラムによってパッチが適用された標準コンポーネントは影響を受けません。

原因

AEM 6.5 LTS (サービスパック 2以降)のリグレッションにより、リッチテキストエディターでのXSS/シリアル化処理が厳しくなり、パーソナライゼーション区切り文字(<%=)のイコール署名がカスタムコンポーネントでHTML エンコードされるようになりました。 Adobeの公式修正プログラムは、標準のパーソナライゼーションコンポーネントにのみパッチを適用します。カスタムコンポーネントには、ターゲット設定の更新が必要です。

解決策 resolution

問題を解決するには、次の手順に従います。

  1. AEM インスタンスで、パーソナライゼーションブロックを含むメールテンプレートのオーサリングにカスタムリッチテキストエディター(RTE)コンポーネントを使用するかどうかを確認します。
  2. 書き出されたコンテンツに、影響を受けるテンプレートの.campaign.content.json出力に<%=ではなく&lt;%&#61;が含まれていることを確認します。
  3. 標準のパーソナライゼーションコンポーネントのAdobeの公式な修正プログラムがインストールされているかどうか、およびどのコンポーネントをカバーしているかを確認します。 カスタムコンポーネントがカバーされていない場合は、次の手順に進みます。
  4. カスタム RTE コンポーネントの設定を更新して、<%= %>区切り文字を保持し、等号のHTML エンコーディングを防ぎます。 正式な修正と同じ技術的アプローチを使用しますが、カスタムコンポーネントに適用します。
  5. 更新されたコンポーネントをステージング環境にデプロイします。
  6. パーソナライゼーションブロックを使用してテストメールテンプレートを作成し、それをAdobe Campaignに同期して、配信を試みます。
  7. パーソナライゼーションが正しくレンダリングされ、Campaignでコンパイルエラーが発生しないことを確認します。
  8. 検証が完了したら、内部リリースプロセスに従って、本番環境に修正をデプロイします。
  9. HTML以外の構文やテンプレートスタイルの構文を出力する可能性がある環境内の他のカスタム RTE コンポーネントも確認してください。
recommendation-more-help
experience-cloud-kcs-help-kbarticles