Configurar Sling Dynamic Include
- Se aplica a:
- Experience Manager 6.4
- Experience Manager 6.5
- Temas:
- API
Creado para:
- Experimentado
- Desarrollador
Un vídeo explicativo de cómo instalar y usar Apache Sling Dynamic Include con AEM Dispatcher en ejecución en Apache HTTP Web Server.
-
Descargue e instale el Sling Dynamic Include paquete.
-
Configure Sling Dynamic Include mediante OSGi Configuration Factory en 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 nodo sling:OsgiConfig apropiado 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+) -->
-
(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
.<?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+) -->
-
Actualice el archivo
httpd.conf
de Apache HTTPD Web server para habilitar el módulo Include.$ sudo vi .../httpd.conf
LoadModule include_module libexec/apache2/mod_include.so
-
Actualice el archivo 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>
-
Actualice el archivo de configuración dispatcher.any para que admita (1) selectores
nocache
y (2) habilite la compatibilidad con TTL.$ sudo vi .../conf/dispatcher.any
/rules { ... /0009 { /glob "*.nocache.html*" /type "deny" } }
TIP
Si se deja el*
final en la regla glob*.nocache.html*
anterior, pueden producirse problemas en las solicitudes de subrecursos./cache { ... /enableTTL "1" }
-
Reinicie siempre Apache HTTP Web Server después de realizar cambios en sus archivos de configuración o en
dispatcher.any
.$ sudo apachectl restart
- "Cache-Control"
- "Content-Disposition"
- "Content-Type"
- "Caduca"
- "Última modificación"
- "ETag"
- "X-Content-Type-Options"
- "Última modificación"