Configuración Sling Dynamic Include

Un vídeo paso a paso de la instalación y el uso Apache Sling Dynamic Include con AEM Dispatcher en ejecución Apache HTTP Web Server.

NOTA

Asegúrese de que la versión más reciente de AEM Dispatcher esté instalada localmente.

  1. Descargue e instale el Sling Dynamic Include paquete.

  2. Configurar Sling Dynamic Include a través de la variable OSGi Configuration Factory at http://<host>:<port>/system/console/configMgr/org.apache.sling.dynamicinclude.Configuration.

    O bien, para agregar a una base de código de AEM, cree el sling:OsgiConfig en:

    <?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. (Opcional) Repita el último paso para permitir componentes en contenido bloqueado (inicial) de plantillas editables para que se sirva mediante SDI también. El motivo de la configuración adicional es que el contenido bloqueado de las plantillas editables se suministra desde /conf en lugar de /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. Actualizar Apache HTTPD Web server's httpd.conf para habilitar la variable Include módulo.

    $ sudo vi .../httpd.conf
    
    LoadModule include_module libexec/apache2/mod_include.so
    
  5. Actualice el vhost para respetar las directivas de inclusión.

    $ 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. Actualizar el archivo de configuración dispatcher.any para que sea compatible (1) nocache selectores y (2) habilite la compatibilidad con TTL.

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

    Dejar al final * en el glob *.nocache.html* regla anterior, puede resultar en problemas en las solicitudes de subrecursos.

    /cache {
        ...
        /enableTTL "1"
    }
    
  7. Reiniciar siempre Apache HTTP Web Server después de realizar cambios en sus archivos de configuración o en la dispatcher.any.

    $ sudo apachectl restart
    
NOTA

Si está utilizando Sling Dynamic Includes para servir las inclusiones del lado del perímetro (ESI), asegúrese de almacenar en caché relevantes encabezados de respuesta en la caché de Dispatcher. Los posibles encabezados son los siguientes:

  • "Cache-Control"
  • "Disposición de contenido"
  • "Content-Type"
  • "Caduca"
  • "Última modificación"
  • "ETag"
  • "X-Content-Type-Options"
  • "Última modificación"

Materiales de apoyo

En esta página