AEM Sites: Veraltete org.apache.sling.commons.json.JSONObject-Warnung bei Verwendung von PageInfoProvider für benutzerdefinierte Spalten
In diesem Artikel werden die Ursache und die aktuelle Auswirkung von veralteten API-Warnungen im Zusammenhang mit org.apache.sling.commons.json.JSONObject bei der Anpassung der Listenansichtsspalten von AEM Sites mithilfe von PageInfoProvider erläutert.
Beschreibung description
Umgebung
Adobe Experience Manager (AEM) as a Cloud Service (alle Versionen)
Problem/Symptome
Bei der Implementierung benutzerdefinierter Spalten in der Listenansicht der AEM Sites-Konsole mithilfe der PageInfoProvider wird in den Protokollen die folgende Warnung angezeigt:
2023-02-23 18:47:55.095 [ region-deprecated-api] com.xx.aem:xx-unified-site.core:0.0.2-SNAPSHOT: Usage of deprecated package found : org.apache.sling.commons.json : Usage of this deprecated API is not supported in AEM as a Cloud Service. Deprecated since 2022-12-31 For removal : 2027-12-31 (com.xx.aem:xx-unified-site.all:0.0.2-SNAPSHOT)
- Die Warnung wird ausgelöst, da der
PageInfoProvider-API-Vertrag die Rückgabe einesorg.apache.sling.commons.json.JSONObjecterfordert. - Das
org.apache.sling.commons.jsonPaket ist veraltet und soll nach dem 31.12.2027 entfernt werden. - Diese Warnhinweise dienen nur zu Informationszwecken und blockieren derzeit keine Cloud Manager-Pipelines, wenn die Verwendung auf
PageInfoProviderImplementierungen beschränkt ist.
Ursache
Die PageInfoProvider-Schnittstelle erfordert derzeit die Rückgabe eines org.apache.sling.commons.json.JSONObject, wodurch die Verwendung eines veralteten Pakets erzwungen wird. Dies gilt als technische Schuld und wird in einem zukünftigen AEM Sites-API-Update behoben.
Lösung resolution
Gehen Sie wie folgt vor, um das Problem zu beheben:
-
Überprüfen Sie die Protokollwarnungen, um sicherzustellen, dass sie mit der Verwendung von
PageInfoProviderund derorg.apache.sling.commons.json.JSONObject-Abhängigkeit zusammenhängen. -
Verstehen Sie, dass diese Warnhinweise derzeit nur zur Information sind und Bereitstellungen nicht blockieren oder die Funktionalität von benutzerdefinierten Spalten in der Sites-Konsole beeinträchtigen.
-
Überwachen Sie die Versionshinweise und Dokumentation zu Adobe Experience Manager auf Updates zur Einstellung und geplanten Entfernung von
org.apache.sling.commons.json. -
Planen Sie die zukünftige Refaktorierung von Implementierungen benutzerdefinierter Spalten:
- Adobe Engineering arbeitet daran, die aktuelle
PageInfoProviderzu verwerfen. - Eine neue Benutzeroberfläche, für die keine
org.apache.sling.commons.jsonerforderlich sind, wird in einer zukünftigen Version eingeführt und dokumentiert.
- Adobe Engineering arbeitet daran, die aktuelle
-
Es ist keine sofortige Aktion erforderlich, es sei denn, die veraltete API wird außerhalb des
PageInfoProviderverwendet oder zukünftige Versionen führen umfassende Änderungen ein.