Configurazione Sling Dynamic Include

Una procedura video per l’installazione e l’utilizzo di Apache Sling Dynamic Include con Dispatcher AEM in esecuzione Apache HTTP Web Server.

NOTE
Assicurati che la versione più recente di Dispatcher per l’AEM sia installata localmente.
  1. Scarica e installa Sling Dynamic Include fascio.

  2. Configura Sling Dynamic Include tramite OSGi Configuration Factory a http://<host>:<port>/system/console/configMgr/org.apache.sling.dynamicinclude.Configuration.

    Oppure, per aggiungere elementi a una base di codice AEM, crea la sling:OsgiConfig nodo in:

    code language-xml
    <?xml version="1.0" encoding="UTF-8"?>
    <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0"
        xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
        jcr:primaryType="sling:OsgiConfig"
        include-filter.config.enabled="{Boolean}true"
        include-filter.config.path="/content"
        include-filter.config.resource-types="[my-app/components/content/highly-dynamic]"
        include-filter.config.include-type="SSI"
        include-filter.config.add_comment="{Boolean}false"
        include-filter.config.selector="nocache"
        include-filter.config.ttl=""
        include-filter.config.required_header="Server-Agent=Communique-Dispatcher"
        include-filter.config.ignoreUrlParams="[]"
        include-filter.config.rewrite="{Boolean}true"
        />
    <!--
    * include-filter.config.include-type="SSI | ESI | JSI"
    * include-filter.config.ttl is # of seconds (requires AEM Dispatcher 4.1.11+)
    -->
    
  3. (Facoltativo) Ripeti l’ultimo passaggio per consentire l’utilizzo di componenti contenuto bloccato (iniziale) di modelli modificabili da notificare tramite SDI anche. Il motivo della configurazione aggiuntiva è che il contenuto bloccato dei modelli modificabili viene distribuito da /conf invece di /content.

    code language-xml
    <?xml version="1.0" encoding="UTF-8"?>
    <jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0"
        xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
        jcr:primaryType="sling:OsgiConfig"
        include-filter.config.enabled="{Boolean}true"
        include-filter.config.path="/conf"
        include-filter.config.resource-types="[my-app/components/content/highly-dynamic]"
        include-filter.config.include-type="SSI"
        include-filter.config.add_comment="{Boolean}false"
        include-filter.config.selector="nocache"
        include-filter.config.ttl=""
        include-filter.config.required_header="Server-Agent=Communique-Dispatcher"
        include-filter.config.ignoreUrlParams="[]"
        include-filter.config.rewrite="{Boolean}true"
        />
    <!--
    * include-filter.config.include-type="SSI | ESI | JSI"
    * include-filter.config.ttl is # of seconds (requires AEM Dispatcher 4.1.11+)
    -->
    
  4. Aggiorna Apache HTTPD Web serverdi httpd.conf file per attivare Include modulo.

    code language-shell
    $ sudo vi .../httpd.conf
    
    code language-shell
    LoadModule include_module libexec/apache2/mod_include.so
    
  5. Aggiornare il vhost file da rispettare includi le direttive.

    code language-shell
    $ sudo vi .../vhosts/aem-publish.local.conf
    
    code language-shell
    <VirtualHost *:80>
    ...
       <Directory /Library/WebServer/docroot/publish>
          ...
          # Add Includes to enable SSI Includes used by Sling Dynamic Include
          Options FollowSymLinks Includes
    
          # Required to have dispatcher-handler process includes
          ModMimeUsePathInfo On
    
          # Set includes to process .html files
          AddOutputFilter INCLUDES .html
          ...
       </Directory>
    ...
    </VirtualHost>
    
  6. Aggiorna il file di configurazione dispatcher.any per supportare (1) nocache e (2) abilitano il supporto TTL.

    code language-shell
    $ sudo vi .../conf/dispatcher.any
    
    code language-shell
    /rules {
      ...
      /0009 {
        /glob "*.nocache.html*"
        /type "deny"
      }
    }
    
    note tip
    TIP
    Uscita dal finale * nel globo *.nocache.html* regola precedente, può causare problemi nelle richieste di risorse secondarie.
    code language-shell
    /cache {
        ...
        /enableTTL "1"
    }
    
  7. Riavvia sempre Apache HTTP Web Server dopo aver apportato modifiche ai file di configurazione o dispatcher.any.

    code language-shell
    $ sudo apachectl restart
    
NOTE
Se sta usando Sling Dynamic Includes per gestire le inclusioni lato edge (ESI), assicurati di memorizzare nella cache le intestazioni di risposta nella cache del dispatcher. Le intestazioni possibili includono:
  • "Cache-Control"
  • "Content-Disposition"
  • "Content-Type"
  • "Scade"
  • "Ultima modifica"
  • "ETag"
  • "X-Content-Type-Options"
  • "Ultima modifica"

Materiali di supporto

recommendation-more-help
c92bdb17-1e49-4e76-bcdd-89e4f85f45e6