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.

NOTA

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:

    <?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.

    <?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.

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

    $ sudo vi .../vhosts/aem-publish.local.conf
    
    <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.

    $ sudo vi .../conf/dispatcher.any
    
    /rules {
      ...
      /0009 {
        /glob "*.nocache.html*"
        /type "deny"
      }
    }
    
    SUGGERIMENTO

    Uscita dal finale * nel globo *.nocache.html* regola precedente, può causare problemi nelle richieste di risorse secondarie.

    /cache {
        ...
        /enableTTL "1"
    }
    
  7. Riavvia sempre Apache HTTP Web Server dopo aver apportato modifiche ai file di configurazione o dispatcher.any.

    $ sudo apachectl restart
    
NOTA

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

In questa pagina