Verlust benutzerdefinierter JCR-Eigenschaften bei Authoring-Änderung und Replikation in AEMaaCS

Dieser Artikel bietet eine Lösung für das Problem, dass benutzerdefinierte JCR-Eigenschaften verloren gehen, wenn Authoring-Änderungen vorgenommen werden und Inhalte in Adobe Experience Manager as a Cloud Service (AEMaaCS) repliziert werden. Es erklärt, warum das Problem auftritt, und bietet eine schrittweise Anleitung, um die Persistenz dieser Eigenschaften sicherzustellen.

Beschreibung description

Umgebung

Adobe Experience Manager as a Cloud Service (AEMaaCS)

Problem

Wenn eine benutzerdefinierte JCR-Eigenschaft direkt zu einem Knoten hinzugefügt wird, der mit einer Komponente mit mehreren Feldern in einem Experience Fragment verknüpft ist, bleibt sie nach Authoring-Änderungen oder der Replikation möglicherweise nicht erhalten. Die folgenden Symptome werden beobachtet:

  • Benutzerdefinierte Eigenschaften gehen nach dem Speichern von Authoring-Änderungen verloren.
  • Replikationsprozesse überschreiben oder löschen diese Eigenschaften.

Dieses Verhalten tritt auf, weil Komponenten mit mehreren Feldern ihre Eigenschaften dynamisch auf der Grundlage von Dialogfeldkonfigurationen verwalten, die bestimmen, was gespeichert und repliziert werden soll.

Lösung resolution

  • Aktualisieren der Dialogfeldkonfiguration:

    • Stellen Sie sicher, dass alle benutzerdefinierten Eigenschaften explizit in der XML-Dialogfeldkonfiguration der Komponente definiert sind.
    • Fügen Sie der Dialogfeldstruktur entsprechende Felder für die benutzerdefinierten Eigenschaften hinzu, um sicherzustellen, dass sie erkannt und gespeichert werden.
  • Behandlung von Komponenten mit mehreren Feldern:

    • Komponenten mit mehreren Feldern speichern ihre Einträge als separate untergeordnete Knoten unter einem übergeordneten Knoten im JCR.
    • Definieren Sie die erforderlichen Eigenschaften im Dialogfeld oder in den Konfigurationsdateien der Komponente, um Überschreibungen während der Verarbeitung zu verhindern.
  • Erweitern der Komponente

    • Erweitern Sie Ihre vorhandene Komponente, indem Sie Felder für jede benutzerdefinierte Eigenschaft hinzufügen, die Sie benötigen. Fügen Sie beispielsweise ein tariffItem Feld in Ihr Setup für erweiterte Komponenten ein, wenn Sie es verwenden.
  • Verwenden Sie Konfigurationen für ausgeblendete Felder und schreiben Sie den Schritt direkt. Für Eigenschaften, die nicht in der Benutzeroberfläche angezeigt werden sollen, aber programmgesteuert beibehalten werden müssen, konfigurieren Sie ausgeblendete Felder mit den folgenden Einstellungen:

Name: granite:hidden  

Type: Boolean  

Value: true

  • Testen und Validieren

    • Testen Sie die aktualisierten Konfigurationen in einer lokalen Umgebung, bevor Sie sie in der Produktion bereitstellen.
    • Verwenden Sie standardmäßige AEM-Projekte (z. B.: WKND) für erste Tests, um Änderungen ohne Beeinträchtigung durch zusätzliche Anpassungsebenen zu validieren.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f