AEM: Versandfehler in Adobe Campaign Classic aufgrund von kodierten Personalisierungstrennzeichen
In diesem Artikel wird ein Problem beschrieben, bei dem es in Adobe Campaign Classic zu Versandfehlern kommt, wenn von AEM erstellte E-Mail-Vorlagen Gestaltungsausgabeblöcke enthalten, die nach einem Upgrade falsch codiert wurden. Es werden Schritte bereitgestellt, um das Problem zu identifizieren und zu beheben, insbesondere wenn benutzerdefinierte Rich-Text-Editor-Komponenten verwendet werden.
Beschreibung description
Umgebung
- Adobe Experience Manager (AEM) 6.5 LTS (mit Service Pack 2 oder höher)
- Adobe Campaign Classic Version 8.9.3
Symptome
Bei der Synchronisierung von von AEM erstellten E-Mail-Vorlagen, die Gestaltungsausgabeblöcke enthalten (z. B. <%= recipient.firstName %>), mit Adobe Campaign Classic schlägt die Versandvorbereitung fehl, wenn die Vorlage nach dem Upgrade mithilfe einer benutzerdefinierten Rich-Text-Editor-Komponente (RTE) erstellt oder bearbeitet wurde. Das Gleichheitszeichen im Personalisierungsöffner ist HTML-kodiert (=), was zu einer <%= recipient.firstName %> der exportierten Inhalte führt. Adobe Campaign erfordert zum Erkennen eines Ausgabeblocks ein literales Gleichheitszeichen nach <%. Die codierte Entität wird nicht erkannt, wodurch die Kompilierung fehlschlägt. Fehlermeldungen in Campaign können Folgendes umfassen:
- JST-310054 Warnung: Skript „content htmlContent“ konnte nicht kompiliert werden
- SCR-160032 JavaScript: Fehler bei der Kompilierung des Scripts ‘content htmlContent’
- JST-310007 Skript kann nicht kompiliert werden (content htmlContent)
Dieses Problem betrifft neu synchronisierte Vorlagen sowie vorhandene Vorlagen, die aktualisiert oder neu synchronisiert werden. Vorlagen, die vor dem Upgrade synchronisiert und nicht neu synchronisiert wurden, sind davon nicht betroffen. Das Problem betrifft nur Vorlagen, die mit benutzerdefinierten RTE-Komponenten erstellt oder bearbeitet wurden. Standardkomponenten, die mit der offiziellen Fehlerbehebung von Adobe gepatcht wurden, sind davon nicht betroffen.
Ursache
Durch eine Regression in AEM 6.5 LTS (nach Service Pack 2) wurde eine strengere XSS-/Serialisierungsverarbeitung im Rich-Text-Editor eingeführt, wodurch die Personalisierungstrennzeichen für Gleichheitszeichen (<%=) in benutzerdefinierten Komponenten HTML-kodiert werden. Mit der offiziellen Fehlerbehebung von Adobe wird nur die standardmäßige Personalisierungskomponente gepatcht. Für benutzerdefinierte Komponenten ist eine zielgerichtete Konfigurationsaktualisierung erforderlich.
Lösung resolution
Gehen Sie wie folgt vor, um das Problem zu beheben.
- Ermitteln Sie, ob Ihre AEM-Instanz benutzerdefinierte Rich-Text-Editor (RTE)-Komponenten zum Erstellen von E-Mail-Vorlagen mit Personalisierungsblöcken verwendet.
- Vergewissern Sie sich, dass der exportierte Inhalt in der
.campaign.content.jsonfür betroffene Vorlagen<%=statt<%=enthält. - Überprüfen Sie, ob die offizielle Adobe-Fehlerbehebung für die standardmäßige Personalisierungskomponente installiert ist und welche Komponenten sie abdeckt. Wenn Ihre benutzerdefinierte Komponente nicht abgedeckt wird, fahren Sie mit dem nächsten Schritt fort.
- Aktualisieren Sie die Konfiguration Ihrer benutzerdefinierten RTE-Komponente, um das
<%= %>Trennzeichen beizubehalten und die HTML-Codierung des Gleichheitszeichens zu verhindern. Verwenden Sie denselben technischen Ansatz wie bei der offiziellen Fehlerbehebung, wenden Sie ihn jedoch auf Ihre benutzerdefinierte Komponente an. - Stellen Sie die aktualisierte Komponente in einer Staging-Umgebung bereit.
- Erstellen Sie eine Test-E-Mail-Vorlage mit einem Personalisierungsblock, synchronisieren Sie sie mit Adobe Campaign und versuchen Sie einen Versand.
- Vergewissern Sie sich, dass die Personalisierung korrekt dargestellt wird und in Campaign keine Kompilierungsfehler auftreten.
- Stellen Sie nach der Validierung die Fehlerbehebung in Ihrer Produktionsumgebung bereit, nachdem Sie den internen Veröffentlichungsprozess abgeschlossen haben.
- Überprüfen Sie andere benutzerdefinierte RTE-Komponenten in Ihrer Umgebung, die ggf. eine nicht HTML- oder Vorlagensyntax ausgeben, da diese ebenfalls betroffen sein können.