Adobe Experience Manager (AEM) - och tidigare CQ - har länge använt principen med övertäckningar för att utöka och anpassa konsoler och andra funktioner (till exempel sidredigering).
Övertäckning är en term som används i många sammanhang. I det här sammanhanget (utökning av AEM) innebär en övertäckning att använda de fördefinierade funktionerna och lägga in egna definitioner över dessa (för att anpassa standardfunktionerna).
I en standardinstans finns de fördefinierade funktionerna under /libs
och vi rekommenderar att du definierar övertäckningen (anpassningarna) under /apps
gren. AEM använder en söksökväg för att hitta en resurs och söker först i /apps
förgrening och sedan /libs
förgrening sökvägar kan konfigureras). Den här mekanismen innebär att övertäckningen (och de anpassningar som definieras där) har prioritet.
Sedan AEM 6.0 har ändringar gjorts i hur övertäckningar implementeras och används:
AEM 6.0 och senare - för Granit-relaterade övertäckningar (det vill säga det pekaktiverade användargränssnittet)
Metod
Rekonstruera lämplig /libs
struktur under /apps
.
Detta kräver ingen 1:1-kopia, Samla resurser används för att korsreferera till de ursprungliga definitioner som krävs. Med Sling Resource Merger får du tillgång till och kan sammanfoga resurser med olika mekanismer.
Under /apps
, gör eventuella ändringar.
Fördelar
/libs
.Icke-Granitövertäckningar och övertäckningar före AEM 6.0
Metod
Kopiera innehåll från /libs
till /apps
Kopiera hela undergrenen, inklusive egenskaper.
Under /apps
, gör eventuella ändringar.
Nackdelar
/libs
måste du kanske återskapa vissa ändringar som sker i övertäckningen under /apps
.The Samla resurser och de relaterade metoderna kan bara användas med Granit. Det innebär att det bara är lämpligt att skapa en övertäckning med en skelettstruktur för det pekaktiverade standardgränssnittet.
Övertäckningar för andra områden (inklusive det klassiska användargränssnittet) innebär att rätt nod och hela understruktur kopieras och att nödvändiga ändringar görs.
Övertäckningar rekommenderas för många ändringar, till exempel konfigurera dina konsoler eller skapa din markeringskategori för resursläsaren på sidopanelen (används vid redigering av sidor). De krävs enligt följande:
Gör inte gör ändringar i /libs
bankkontor Alla ändringar du gör kan gå förlorade eftersom den här grenen kan ändras när du:
De koncentrerar dina ändringar på en plats, vilket gör det enklare för dig att spåra, migrera, säkerhetskopiera eller felsöka ändringarna efter behov.
För övertäckningar är den levererade resursen en sammanställning av resurser och egenskaper som har hämtats, beroende på sökvägar som kan definieras:
Resursen Sökväg för lösare enligt definitionen i OSGi-konfiguration för Apache Sling Resource Resolver Factory.
/apps
, /libs
- så att innehållet i /apps
har högre prioritet än /libs
(dvs. övertäckningar den).Två tjänstanvändare behöver JCR:READ-åtkomst till den plats där skripten lagras. Dessa användare är: components-search-service (används av com.day.cq.wcm.coreto-åtkomst/cache-komponenter) och sling-scripting (används av org.apache.sling.servlets.resolver för att hitta servrar).
Följande konfiguration måste även konfigureras efter var du placerade dina skript (i det här exemplet under /etc, /libs eller /apps).
PID = org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl
resource.resolver.searchpath=["/etc","/apps","/libs"]
resource.resolver.vanitypath.whitelist=["/etc/","/apps/","/libs/","/content/"]
Slutligen måste även Serverlösaren konfigureras (i det här exemplet lägger du till /etc)
PID = org.apache.sling.servlets.resolver.SlingServletResolver
servletresolver.paths=["/bin/","/libs/","/apps/","/etc/","/system/","/index.servlet","/login.servlet","/services/"]
Några exempel beskrivs när: