Zeitweiliger Fehler des benutzerdefinierten PageEvent-Handlers in Massenübersetzungsaufträgen in AEMaaCS

In Adobe Experience Manager as a Cloud Service (AEMaaCS) tritt nach Abschluss von Massenübersetzungsaufträgen kein konsistenter Trigger bei der benutzerdefinierten Nachbearbeitung für übersetzte Seiten auf. Daher werden Alias-Aktualisierungen und die Vorschau-Replikation bei einigen übersetzten Seiten nicht ausgeführt, obwohl die Übersetzung erfolgreich abgeschlossen wurde. Das Problem tritt auf, wenn die benutzerdefinierte Logik abgeschlossene Übersetzungen während der Massenverarbeitung nicht erkennt. Um das Problem zu beheben, erkennen Sie abgeschlossene Übersetzungen mithilfe unterstützter APIs auf Auftragsebene.

Beschreibung description

Umgebung

  • Produkt: Adobe Experience Manager as a Cloud Service (AEMaaCS) - Sites
  • Szenario: Massenübersetzungsaufträge, die mit Übersetzungs-Connectoren von Drittanbietern wie Lionbridge ausgeführt werden
  • Einschränkungen: Problem tritt gelegentlich auf und betrifft nur bestimmte Umgebungen, einschließlich Staging und Produktion

Problem/Symptome

  • Die Alias-Einstellung wird nach Abschluss einer Massenübersetzung nicht auf einige übersetzte Seiten angewendet.
  • Bei bestimmten übersetzten Seiten wird keine Vorschaureplikation ausgelöst.
  • Das Problem tritt gelegentlich auf und betrifft nicht alle Seiten innerhalb eines Massenübersetzungsauftrags.
  • Alle betroffenen Seiten werden vollständig übersetzt angezeigt und zeigen korrekte JCR-Eigenschaften an.
  • Der Ereignis-Handler und die zugehörige Nachbearbeitungs-Pipeline werden für die betroffenen Seiten nicht aufgerufen.

Lösung resolution

Gehen Sie wie folgt vor, um das Problem zu beheben:

  1. Überprüfen Sie die vom benutzerdefinierten PageEvent-Handler verwendete Erkennungslogik und beachten Sie, dass die aktuelle Implementierung fälschlicherweise darauf angewiesen ist, dass PageModification.getUserId() einem bestimmten Service-Benutzer entspricht und dass interne Eigenschaften wie cq:translationStatus in Änderungspfaden erkannt werden.
  2. Beachten Sie, dass PageModification.getUserId() auf AEM as a Cloud Service oak:unknown zurückgeben können, was benutzerbasierte Prüfungen unzuverlässig macht, und dass interne Eigenschaften wie cq:translationStatus aufgrund von Batching und asynchronem Zurückschreiben der Übersetzung nicht immer in allen Änderungsereignissen vorhanden sind.
  3. Aktualisieren Sie den Ansatz zur Erkennung des Übersetzungsabschlusses, indem Sie die Abhängigkeit von internen oder nicht dokumentierten JCR-Eigenschaften oder bestimmten Benutzer-IDs vermeiden, da diese Mechanismen nicht unterstützt werden und sich ändern können. Verwenden Sie stattdessen unterstützte Signale wie Übersetzungsauftragsereignisse zusammen mit der öffentlichen Übersetzungs-REST-API.
  4. Erkennen Sie abgeschlossene Übersetzungen programmgesteuert auf Seitenebene, indem Sie den Übersetzungsauftragsstatus über die unterstützten REST-API-Endpunkte für die Übersetzung abfragen, die von Adobe Experience Manager-APIs dokumentiert werden, und indem Sie den zurückgegebenen Auftragsstatus verwenden, um erforderliche Nachbearbeitungsaktionen wie Alias-Aktualisierungen oder die Vorschaureplikation Trigger.
  5. Beachten Sie, dass, wenn eine interne Java-API gegenüber HTTP-Aufrufen bevorzugt wird, zu diesem Zweck derzeit keine unterstützte interne Java-API vorhanden ist und eine Verbesserungsanfrage beim Adobe Engineering eingereicht wurde, um diese Einschränkung zu beheben.
  6. Vergewissern Sie sich, dass nach der Aktualisierung der Erkennungslogik, sodass sie nur auf unterstützten APIs und Signalen beruht, alle beabsichtigten Nachbearbeitungsaktionen zuverlässig nach Massenübersetzungsaufträgen ausgeführt werden.

Hinweise:

  • Das Verlassen auf interne JCR-Eigenschaftsänderungen oder bestimmte Service-Benutzende für die Ereignisbehandlung wird nicht unterstützt und kann bei Plattformaktualisierungen beschädigt werden.
  • Die öffentliche Übersetzungs-REST-API unterstützt derzeit vordefinierte Übersetzungsprojekte, und die Unterstützung für Connector-Projekte von Drittanbietern kann bis zu zukünftigen Verbesserungen begrenzt bleiben.

Verwandtes Lesen

getTranslationJob

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f