Configuration Sling Dynamic Include
Présentation vidéo de l’installation et de l’utilisation d’Apache Sling Dynamic Include avec AEM Dispatcher s’exécutant sur Apache HTTP Web Server.
-
Téléchargez et installez le Sling Dynamic Include lot.
-
Configurez Sling Dynamic Include via la OSGi Configuration Factory sur http://<host>:<port>/system/console/configMgr/org.apache.sling.dynamicinclude.Configuration.
Ou, pour ajouter à une base de code AEM, créez le nœud approprié sling:OsgiConfig sur :
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+) -->
-
(Facultatif) Répétez la dernière étape pour autoriser les composants sur contenu verrouillé (initial) des modèles modifiables à être diffusés via SDI également. La raison de la configuration supplémentaire est que le contenu verrouillé des modèles modifiables est diffusé à partir de
/conf
au lieu 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+) -->
-
Mettez à jour le fichier
httpd.conf
de Apache HTTPD Web server pour activer le module Include.code language-shell $ sudo vi .../httpd.conf
code language-shell LoadModule include_module libexec/apache2/mod_include.so
-
Mettez à jour le fichier vhost afin de respecter les directives d’inclusion.
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>
-
Mettez à jour le fichier de configuration dispatcher.any pour prendre en charge (1) les sélecteurs
nocache
et (2) activer la prise en charge TTL.code language-shell $ sudo vi .../conf/dispatcher.any
code language-shell /rules { ... /0009 { /glob "*.nocache.html*" /type "deny" } }
note tip TIP Laisser l’élément *
à la fin de la règle*.nocache.html*
glob ci-dessus peut entraîner des problèmes dans les demandes de sous-ressources.code language-shell /cache { ... /enableTTL "1" }
-
Redémarrez toujours Apache HTTP Web Server après avoir apporté des modifications à ses fichiers de configuration ou à
dispatcher.any
.code language-shell $ sudo apachectl restart
- « Cache-Control »
- « Content-Disposition »
- « Content-Type »
- « Date d’expiration »
- « Last-Modified »
- « ETag »
- « X-Content-Type-Options »
- « Last-Modified »