Configuration Sling Dynamic Include

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.

REMARQUE

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. 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+)
    -->
    
  3. (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+)
    -->
    
  4. 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
    
  5. 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>
    
  6. 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"
      }
    }
    
    CONSEIL

    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"
    }
    
  7. 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
    
REMARQUE

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 :

  • "Cache-Control"
  • "Content-Disposition"
  • "Content-Type"
  • "Date d’expiration"
  • "Last-Modified"
  • "ETag"
  • "X-Content-Type-Options"
  • "Last-Modified"

Documents annexes

Sur cette page