Bedekkingen overlays

Adobe Experience Manager (AEM) - en vóór dat, CQ-heeft lang het beginsel van bekledingen gebruikt om u de consolesen andere functionaliteit (bijvoorbeeld, pagina het auteursrecht) uit te breiden en aan te passen.

Bedekking is een term die in veel contexten wordt gebruikt. In deze context (uitbreiding van AEM), betekent een bekleding om de vooraf bepaalde functionaliteit te nemen en uw eigen definities op te leggen over dat (om de standaardfunctionaliteit aan te passen).

In een standaardinstantie blijft de vooraf gedefinieerde functionaliteit onder /libs en het wordt aanbevolen de overlay (aanpassingen) onder de /apps -vertakking te definiëren. AEM gebruikt een onderzoekspad om een middel te vinden, eerst zoekend /apps tak en toen de /libs tak (de onderzoekspad kan worden gevormd). Dit mechanisme betekent dat uw bedekking (en de aanpassingen die daar worden bepaald) prioriteit heeft.

Sinds AEM 6.0 zijn wijzigingen aangebracht in de manier waarop overlays worden geïmplementeerd en gebruikt:

  • AEM 6.0 en op - voor graniet- verwante overlays (namelijk touch-enabled UI)

    • Methode

      • Reconstrueer de juiste /libs -structuur onder /apps .

        Dit vereist geen 1:1 exemplaar, wordt de Verschuivende Fusie van het Middelgebruikt om de originele definities van verwijzingen te voorzien die worden vereist. De het Verdelen Fusie van het Middel verleent de diensten om tot middelen met (het onderscheiden) mechanismen toegang te hebben en samen te voegen.

      • Breng onder /apps eventuele wijzigingen aan.

    • Voordelen

      • Meer robuust voor wijzigingen onder /libs .
      • Alleen opnieuw definiëren wat vereist is.
  • Niet-graniet-overlays en -overlays voor AEM 6.0

    • Methode

      • De inhoud kopiëren van /libs naar /apps

        Kopieer de volledige subvertakking, inclusief eigenschappen.

      • Breng onder /apps eventuele wijzigingen aan.

    • Nadelen

      • Hoewel de wijzigingen niet verloren gaan wanneer iets onder /libs verandert, moet u wellicht bepaalde wijzigingen die zich in de overlay onder /apps voordoen, opnieuw maken.
CAUTION
De Verschuivende Fusie van het Middelen de verwante methodes kunnen slechts met Granietworden gebruikt. Dit betekent dat het maken van een bedekking met een skeletstructuur alleen geschikt is voor de standaardinterface met aanraakbediening.
Bij overlays voor andere gebieden (inclusief de klassieke UI) worden het juiste knooppunt en de volledige substructuur gekopieerd en worden vervolgens de vereiste wijzigingen aangebracht.

De bekledingen zijn de geadviseerde methode voor vele veranderingen, zoals vormend uw consolesof creërend uw selectiecategorie aan activa browser in het zijpaneel(gebruikt wanneer het ontwerpen van pagina's). Zij zijn vereist als:

  • maak geen veranderingen in de /libs tak ​ Alle wijzigingen die u aanbrengt, kunnen verloren gaan, omdat deze vertakking mogelijk wordt gewijzigd wanneer u:

    • upgrade uitvoeren op uw exemplaar
    • een hotfix toepassen
    • een functiepakket installeren
  • Zij concentreren uw veranderingen in één plaats; makend het voor u gemakkelijker om, uw veranderingen te volgen, te migreren, file, of te zuiveren, zonodig.

De zoekpaden configureren configuring-the-search-paths

Voor bedekkingen is de geleverde bron een aggregaat van de opgehaalde bronnen en eigenschappen, afhankelijk van zoekpaden die kunnen worden gedefinieerd:

  • Het middel Weg van het Onderzoek van de Oplossen zoals die in de configuratie OSGivoor de Apache het Verdelen van de Factory van de Resolver van het Middel wordt bepaald.

    • De top-down orde van onderzoekspaden wijst op hun respectieve prioriteiten.
    • In een standaardinstallatie, zijn de primaire gebreken /apps, /libs - zo heeft de inhoud van /apps een hogere prioriteit dan dat van /libs (namelijk het overlays het).
  • Twee servicegebruikers hebben JCR nodig:ReAD toegang tot de locatie waar de scripts zijn opgeslagen. Deze gebruikers zijn: components-search-service (gebruikt door de componenten com.day.cq.wcm.coreto access/cache) en sling-scripting (gebruikt door org.apache.sling.servlets.resolver om servlets te zoeken).

  • De volgende configuratie moet ook worden gevormd volgens waar u uw manuscripten (in dit voorbeeld onder /etc, /libs of /apps) zet.

    code language-none
    PID = org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl
    resource.resolver.searchpath=["/etc","/apps","/libs"]
    resource.resolver.vanitypath.whitelist=["/etc/","/apps/","/libs/","/content/"]
    
  • Tot slot moet de Resolver van Servlet ook worden gevormd (in dit voorbeeld, om /etc ook toe te voegen)

    code language-none
    PID = org.apache.sling.servlets.resolver.SlingServletResolver
    servletresolver.paths=["/bin/","/libs/","/apps/","/etc/","/system/","/index.servlet","/login.servlet","/services/"]
    

Voorbeeld van gebruik example-of-usage

Enkele voorbeelden worden behandeld wanneer:

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2