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:

  1. Erstellen Sie eine Richtlinie, die sich auf eine bestimmte Komponente in einer bestimmten Seitenvorlage bezieht.

  2. Speichern Sie die Vorlage mit der ausgewählten Richtlinie.

  3. Skript hinzufügen mit:

    code language-none
    resource.resolver.searchpath":
    
            "/apps/projname"...
    
  4. 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.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f