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.

NOTE
Assurez-vous que la dernière version d’AEM Dispatcher est installée localement.
  1. Téléchargez et installez le Sling Dynamic Include lot.

  2. 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+)
    -->
    
  3. (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+)
    -->
    
  4. 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
    
  5. 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>
    
  6. 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"
    }
    
  7. 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
    
NOTE
Si vous utilisez Sling Dynamic Includes pour la diffusion Edge-Side Includes (ESI), assurez-vous de mettre en cache les en-têtes de réponse pertinents dans le cache du Dispatcher. Les en-têtes possibles sont les suivants :
  • « Cache-Control »
  • « Content-Disposition »
  • « Content-Type »
  • « Date d’expiration »
  • « Last-Modified »
  • « ETag »
  • « X-Content-Type-Options »
  • « Last-Modified »

Documents annexes

recommendation-more-help
c92bdb17-1e49-4e76-bcdd-89e4f85f45e6