Configurar Sling Dynamic Include

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

NOTE
AEM Asegúrese de que la versión más reciente de Dispatcher esté instalada localmente.
  1. Descargue e instale el Sling Dynamic Include paquete.

  2. Configure Sling Dynamic Include mediante OSGi Configuration Factory en http://<host>:<port>/system/console/configMgr/org.apache.sling.dynamicinclude.Configuration.

    AEM O bien, para agregarlo a una base de código de, cree el nodo sling:OsgiConfig apropiado 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 que los componentes del contenido bloqueado (inicial) de las plantillas editables se proporcionen también a través de SDI. El motivo de la configuración adicional es que el contenido bloqueado de las plantillas editables se proporciona desde /conf en lugar de desde /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. Actualice el archivo httpd.conf de Apache HTTPD Web server para habilitar el módulo Include.

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

    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 admita (1) selectores nocache y (2) habilite 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
    Si se deja el * final en la regla glob *.nocache.html* anterior, pueden producirse problemas en las solicitudes de subrecursos.
    code language-shell
    /cache {
        ...
        /enableTTL "1"
    }
    
  7. Reinicie siempre Apache HTTP Web Server después de realizar cambios en sus archivos de configuración o en dispatcher.any.

    code language-shell
    $ sudo apachectl restart
    
NOTE
Si usa Sling Dynamic Includes para servir inclusiones del lado del perímetro (ESI), asegúrese de almacenar en caché los encabezados de respuesta relevantes 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