Auswirkungen der AEM Forms-Abwärtskompatibilität und der SDK-Aktualisierung auf adaptive Forms-Proxy-Komponenten
In Adobe Experience Manager (AEM) Forms passen Unternehmen adaptive Forms häufig mithilfe projekteigener Proxy-Komponenten an. Es können Fragen auftauchen, wie sich SDK-Aktualisierungen auf diese Anpassungen auswirken und wie die Abwärtskompatibilitätsrichtlinie von Adobe auf Komponentenversionen von adaptiven Forms angewendet wird. Um dieses Problem zu beheben, befolgen Sie die unterstützten Anpassungspraktiken und validieren Sie alle Proxy-Komponenten, bevor Sie Updates für die Produktion hochstufen.
Beschreibung description
Umgebung
Adobe Experience Manager (AEM) as a Cloud Service (alle Versionen)
Problem/Symptome
- Bedenken bei kleineren SDK-Aktualisierungen, die benutzerdefinierte Proxy-Komponenten oder Client-Bibliotheken betreffen.
- Nach SDK-Updates beobachtete Probleme, die sich auf benutzerdefinierten Code auswirkten.
- Es muss Klarheit über die Kompatibilitätsgarantien von Adobe für adaptive Forms-Komponentenversionen geschaffen werden.
Ursache
Geringfügige oder abwärtskompatible Änderungen an Komponentenversionen von Adaptive Forms können sich auf benutzerdefinierte Proxy-Komponenten auswirken, wenn diese Anpassungen auf interne oder nicht dokumentierte Implementierungsdetails angewiesen sind. Die Kompatibilitätsgarantien von Adobe gelten nur für dokumentierte Erweiterungspunkte und unterstütztes Standardverhalten, nicht für interne Strukturen oder überlagerte Ressourcen.
Lösung resolution
Gehen Sie wie folgt vor, um das Problem zu beheben:
- Konfigurieren von projekteigenen Proxy-Komponenten: Verwenden Sie projekteigene Proxy-Komponenten mit
sling:resourceSuperType, die auf die erforderliche Komponentenversion von Adobe Adaptive Forms verweisen. - Benutzerdefinierte Komponentenänderungen begrenzen: Minimieren Sie benutzerdefinierte HTL- und Dialogfeldänderungen. Verwenden Sie nur dokumentierte APIs, Ereignisse, Selektoren und Erweiterungspunkte.
- Erstellen von projekteigenen Client-Bibliotheken: Erstellen Sie separate projekteigene Client-Bibliotheken mit eindeutigen Kategorienamen.
- Schützen Sie Adobe-eigene Client-Bibliotheken: Sie es ab, Adobe-eigene freigegebene Laufzeitbibliotheken oder abhängige Client-Bibliotheken zu überlagern oder zu ändern.
- Anpassungen validieren: Validieren Sie alle Anpassungen in einer niedrigeren Umgebung, bevor Sie Updates für die Produktion hochstufen. Testen Sie nach jeder SDK- oder Forms-Komponentenaktualisierung bei einer Regression alle Proxy-Komponenten und -Anpassungen für das Rendering, die Bearbeitung, die Validierung, die Regeln, das Vorbefüllen, die Übermittlung, die Barrierefreiheit, das Laden der Client-Bibliothek und das benutzerdefinierte Verhalten von JavaScript.
- Validieren und Weiterleiten von SDK-Aktualisierungen: Wenn das Projekt die Kernkomponentenversion von Adaptive Forms als Abhängigkeit verwaltet, aktualisieren Sie sie und stellen Sie sie zuerst in einer niedrigeren Umgebung bereit. Vergewissern Sie sich, dass alle benutzerdefinierten Proxy-Komponenten und Client-Bibliotheken erwartungsgemäß funktionieren, und leiten Sie dann die Aktualisierung über Ihren standardmäßigen Bereitstellungsprozess an höhere Umgebungen weiter.
Anmerkungen
- Die Abwärtskompatibilität gilt für unterstütztes vorkonfiguriertes Verhalten, dokumentierte APIs und dokumentierte Erweiterungspunkte für adaptive Forms-Komponenten.
- Fehlerbehebungen und abwärtskompatible Verbesserungen können innerhalb einer vorhandenen Komponentenversion bereitgestellt werden, solange der unterstützte Vertrag beibehalten wird.
- Eine neue Komponentenversion wird nur für abwärtsinkompatible Änderungen am unterstützten Verhalten oder an dokumentierten Erweiterungspunkten eingeführt.
- Implementierungsdetails wie HTL-Rendering, HTML- und DOM-Struktur, CSS-Klassen, JavaScript-Verhalten, Client-seitige APIs, Validierung, Regelausführung, Dialogfeld- und Konfigurationsstruktur und Client-Bibliotheken können sich innerhalb derselben Komponentenversion ändern, sofern der unterstützte Vertrag beibehalten wird.
- Anpassungen, die von internen Implementierungsdetails abhängen, z. B. kopierte HTL, private DOM-Strukturen, nicht dokumentierte Selektoren oder überlagerte Adobe-Client-Bibliotheken, bleiben von kleineren Aktualisierungen nicht garantiert unbeeinflusst.
- Adobe-verwaltete Umgebungen bieten keinen separaten, nur für die Entwicklung bestimmten, automatischen Upgrade-Schalter.