Ny resurslösare, sökvägsåterbrytningsmallprinciper

Om du lägger till en resursmatchande söksökväg /apps/proj1 via skript avbryts alla principer som angetts i /conf/proj1/settings/wcm/policies. Om du däremot tar bort raden /apps/proj1 från skriptet cfg.json återställs profilerna till det tidigare funktionstillståndet. Följ instruktionerna i artikeln för att åtgärda problemet.

Beskrivning description

Miljö

Adobe Experience Manager 6.5

Problem/symtom

Lägg till en resursmatcharsökväg ("/apps/proj1") via skript:

org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl.cfg.json

{

"resource.resolver.searchpath":

"/apps/proj1",

"/apps",

"/libs"

}

Detta bryter alla principer som definierats i /conf/proj1/settings/wcm/policies

Det finns definitioner i policies.xml, men det är omöjligt att relatera dem till redigerbara sidmallar, och alla tidigare principval i mallar är brutna. Det är bara om raden '/apps/proj1' tas bort från skriptet cfg.json som de definierade profilerna återgår till det tidigare arbetstillståndet.

Du kan reproducera detta på följande sätt:

  1. Skapa profiler som är relaterade till en viss komponent på en viss sidmall.

  2. Spara mallen med den valda profilen.

  3. Lägg till skript med:

    code language-none
    resource.resolver.searchpath":
    
            "/apps/projname"...
    
  4. Bekräfta att den definierade principen för mallen och den relaterade komponenten inte längre kan väljas i listrutan i redigeringsmallen.

Upplösning resolution

Som bästa praxis bör du undvika att ändra /apps och /libs. Sling söker efter komponenter först i /apps och sedan /libs.

Sling söker efter resurser genom att gå igenom den här listan i ordning. Det innebär att objekt i /appar (om de inte anges med /libs i början av sökvägen) hittas först. Det är så här övertäckningen fungerar.

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