Neuer Suchpfad des Ressourcen-Resolvers bricht Vorlagenrichtlinien ab
Beschreibung description
Umgebung
Adobe Experience Manager 6.5
Problem/Symptome
Hinzufügen eines Suchpfads für den Ressourcen-Resolver ("/apps/proj1")
durch Skript:
org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl.cfg.json
{
"resource.resolver.searchpath":
"/apps/proj1",
"/apps",
"/libs"
}
Dadurch werden alle in /conf/proj1/settings/wcm/policies
Definitionen in policies.xml
existieren, es ist jedoch nicht möglich, sie mit bearbeitbaren Seitenvorlagen zu verknüpfen, und alle vorherigen Richtlinienauswahlen in Vorlagen sind fehlerhaft. Nur das Entfernen der Zeile '/apps/proj1'
aus dem cfg.json
-Skript die definierten Richtlinien zurück in den vorherigen Arbeitsstatus.
Dies kann mithilfe der folgenden Schritte reproduziert werden:
-
Erstellen Sie eine Richtlinie, die sich auf eine bestimmte Komponente in einer bestimmten Seitenvorlage bezieht.
-
Speichern Sie die Vorlage mit der ausgewählten Richtlinie.
-
Skript hinzufügen mit:
code language-none resource.resolver.searchpath": "/apps/projname"...
-
Vergewissern Sie sich, dass die definierte Richtlinie für die Vorlage und die zugehörige Komponente nicht mehr im Dropdown-Menü in der Bearbeitungsvorlage ausgewählt werden kann.
Auflösung resolution
Als Best Practice sollten Sie /apps
und /libs
. Sling sucht nach Komponenten "Erste in /apps
, dann /libs
".
Sling wird diese Liste heruntergehen und nach Ressourcen suchen, indem er diese Liste in der richtigen Reihenfolge durchführt. So können Sie /apps
(sofern nicht mit /libs
am Anfang des Pfads) zuerst gefunden werden und deshalb funktioniert diese Überlagerung.