Configuration Sling Dynamic Include

Présentation vidéo de l'installation et de l'utilisation de Apache Sling Dynamic Include avec AEM Répartiteur exécuté sur Apache HTTP Web Server.

REMARQUE

Assurez-vous que la dernière version du répartiteur AEM est installée localement.

  1. Téléchargez et installez le Sling Dynamic Include lot.

  2. Configurez Sling Dynamic Include via OSGi Configuration Factory à l'adresse http://<hôte>:<port>/system/console/configMgr/org.apache.sling.dynamicinclude.Configuration.

    Ou, pour ajouter à une base de code AEM, créez le noeud sling:OsgiConfig approprié à l’emplacement suivant :

    <?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 également la diffusion des composants sur le contenu verrouillé (initial) des modèles modifiables via SDI. 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+)
    -->
    
  4. Mettez à jour le fichier httpd.conf de Apache HTTPD Web server pour activer le module Include.

    $ sudo vi .../httpd.conf
    
    LoadModule include_module libexec/apache2/mod_include.so
    
  5. Mettez à jour le fichier vhost pour 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>
    
  6. Mettez à jour le fichier de configuration dispatcher.any pour prendre en charge (1) nocache sélecteurs et (2) activer la prise en charge TTL.

    $ sudo vi .../conf/dispatcher.any
    
    /rules {
      ...
      /0009 {
        /glob "*.nocache.html*"
        /type "deny"
      } 
    }
    
    CONSEIL

    Si vous laissez * hors ligne dans la règle *.nocache.html* glob ci-dessus, les demandes de sous-ressources peuvent poser des problèmes.

    /cache {
        ...
        /enableTTL "1"
    }
    
  7. Redémarrez toujours Apache HTTP Web Server après avoir apporté des modifications à ses fichiers de configuration ou à dispatcher.any.

    $ sudo apachectl restart
    
REMARQUE

Si vous utilisez Sling Dynamic Includes pour la diffusion des inclusions côté serveur (ESI), veillez à mettre en cache les en-têtes de réponse appropriés dans le cache du répartiteur. 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 de support

Sur cette page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free