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.

NOTE
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:

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

    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. Actualizar Apache HTTPD Web serverde httpd.conf para activar el Include módulo.

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

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

    code language-shell
    $ sudo vi .../conf/dispatcher.any
    
    code language-shell
    /rules {
      ...
      /0009 {
        /glob "*.nocache.html*"
        /type "deny"
      }
    }
    
    note tip
    TIP
    Dejando el final * en el glob *.nocache.html* la regla anterior, puede dar como resultado problemas en solicitudes de subrecursos.
    code language-shell
    /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.

    code language-shell
    $ sudo apachectl restart
    
NOTE
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

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