Configuración de Sling Dynamic Include

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

NOTA

AEM Asegúrese de que la última versión de Dispatcher esté instalada localmente.

  1. Descargue e instale Sling Dynamic Include paquete.

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

    AEM O bien, para agregar a un código basado en un código de, cree el sling:OsgiConfig nodo 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 los componentes en contenido bloqueado (inicial) de plantillas editables para servir mediante SDI y también. El motivo de la configuración adicional es que el contenido bloqueado de las plantillas editables se proporciona 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 serverde httpd.conf para activar el Include módulo.

    $ sudo vi .../httpd.conf
    
    LoadModule include_module libexec/apache2/mod_include.so
    
  5. Actualice el vhost archivo para respetar directivas include.

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

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

    Dejando el final * en el glob *.nocache.html* la regla anterior, puede dar como resultado problemas en 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 el dispatcher.any.

    $ sudo apachectl restart
    
NOTA

Si está utilizando Sling Dynamic Includes para servir inclusiones del lado del borde (ESI), asegúrese de almacenar en caché los datos relevantes encabezados de respuesta en la caché de dispatcher. Entre los posibles encabezados se incluyen los siguientes:

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

Materiales de apoyo

En esta página