Neuer Suchpfad für Ressourcenauflöser unterbricht die Vorlagenrichtlinien
Durch das Hinzufügen eines Suchpfads im Ressourcen-Resolver /apps/proj1 über ein Skript werden alle in /conf/proj1/settings/wcm/policies festgelegten Richtlinien unterbrochen. Umgekehrt werden die Richtlinien durch /apps/proj1 der Zeile aus dem cfg.json-Skript in ihren vorherigen funktionalen Status zurückgesetzt. Befolgen Sie die Anweisungen im Artikel, um dieses Problem zu beheben.
Beschreibung description
Umgebung
Adobe Experience Manager 6.5
Problem/Symptome
Fügen Sie einen Suchpfad für den Ressourcenauflöser hinzu, der durch ein Skript ("/apps/proj1") wird:
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 definierten Richtlinien ungültig
Definitionen in policies.xml sind zwar vorhanden, sie können jedoch nicht mit bearbeitbaren Seitenvorlagen verknüpft werden, und alle vorherigen Richtlinienauswahlen in Vorlagen sind fehlerhaft. Nur wenn Sie die '/apps/proj1' aus dem cfg.json entfernen, werden die definierten Richtlinien auf den vorherigen Arbeitsstatus zurückgesetzt.
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"... -
Bestätigen Sie, dass die definierte Richtlinie für die Vorlage und die zugehörige Komponente im Dropdown-Menü unter Vorlage bearbeiten nicht mehr ausgewählt werden kann.
Auflösung resolution
Als Best Practice gilt, /apps und /libs nicht zu ändern. Sling würde zuerst in /apps, dann /libs nach Komponenten suchen.
Sling sucht Ressourcen, indem er diese Liste in der richtigen Reihenfolge durchsucht. Dies bedeutet, dass Elemente in /apps (sofern nicht mit /libs Anfang des Pfads angegeben) zuerst gefunden werden. So funktioniert die Überlagerung.