Una procedura video per l’installazione e l’utilizzo di Apache Sling Dynamic Include con Dispatcher AEM in esecuzione Apache HTTP Web Server.
Assicurati che la versione più recente di Dispatcher per l’AEM sia installata localmente.
Scarica e installa Sling Dynamic Include fascio.
Configura Sling Dynamic Include tramite OSGi Configuration Factory a http://<host>:<port>/system/console/configMgr/org.apache.sling.dynamicinclude.Configuration.
Oppure, per aggiungere elementi a una base di codice AEM, crea la sling:OsgiConfig nodo in:
<?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+)
-->
(Facoltativo) Ripeti l’ultimo passaggio per consentire l’utilizzo di componenti contenuto bloccato (iniziale) di modelli modificabili da notificare tramite SDI anche. Il motivo della configurazione aggiuntiva è che il contenuto bloccato dei modelli modificabili viene distribuito da /conf
invece di /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+)
-->
Aggiorna Apache HTTPD Web serverdi httpd.conf
file per attivare Include modulo.
$ sudo vi .../httpd.conf
LoadModule include_module libexec/apache2/mod_include.so
Aggiornare il vhost file da rispettare includi le direttive.
$ 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>
Aggiorna il file di configurazione dispatcher.any per supportare (1) nocache
e (2) abilitano il supporto TTL.
$ sudo vi .../conf/dispatcher.any
/rules {
...
/0009 {
/glob "*.nocache.html*"
/type "deny"
}
}
Uscita dal finale *
nel globo *.nocache.html*
regola precedente, può causare problemi nelle richieste di risorse secondarie.
/cache {
...
/enableTTL "1"
}
Riavvia sempre Apache HTTP Web Server dopo aver apportato modifiche ai file di configurazione o dispatcher.any
.
$ sudo apachectl restart
Se sta usando Sling Dynamic Includes per gestire le inclusioni lato edge (ESI), assicurati di memorizzare nella cache le intestazioni di risposta nella cache del dispatcher. Le intestazioni possibili includono: