Présentation vidéo de l’installation et de l’utilisation Apache Sling Dynamic Include avec AEM Dispatcher en cours d’exécution Apache HTTP Web Server.
Assurez-vous que la dernière version d’AEM Dispatcher est installée localement.
Téléchargez et installez le Sling Dynamic Include lot.
Configurer Sling Dynamic Include via le OSGi Configuration Factory at http://<host>:<port>/system/console/configMgr/org.apache.sling.dynamicinclude.Configuration.
Ou, pour ajouter à une base de code AEM, créez la sling:OsgiConfig noeud à l’adresse :
<?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 à diffuser via SDI ainsi que . 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.
<?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+)
-->
Mettre à jour Apache HTTPD Web server's httpd.conf pour activer le fichier Include module .
$ sudo vi .../httpd.conf
LoadModule include_module libexec/apache2/mod_include.so
Mettez à jour le vhost afin de respecter les directives d’inclusion.
$ 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>
Mettez à jour le fichier de configuration dispatcher.any pour la prise en charge (1) nocache et (2) activez la prise en charge TTL.
$ sudo vi .../conf/dispatcher.any
/rules {
...
/0009 {
/glob "*.nocache.html*"
/type "deny"
}
}
Quitter la fin * off dans glob *.nocache.html* règle ci-dessus, peut entraîner problèmes dans les demandes de sous-ressources.
/cache {
...
/enableTTL "1"
}
Toujours redémarrer Apache HTTP Web Server après avoir apporté des modifications à ses fichiers de configuration ou à l’événement dispatcher.any.
$ sudo apachectl restart
Si vous utilisez Sling Dynamic Includes pour la diffusion des inclusions côté serveur (ESI), assurez-vous de mettre en cache les éléments pertinents en-têtes de réponse dans le cache du Dispatcher. Les en-têtes possibles sont les suivants :