Configurer le cache de formulaires adaptatifs

Un cache est un mécanisme qui permet de raccourcir les temps d’accès aux données, réduire le temps de réponse et améliorer les vitesses d’entrée/sortie (E/S). Le cache de formulaires adaptatifs stocke uniquement le contenu HTML et la structure JSON d’un formulaire adaptatif sans enregistrer les données pré-renseignées. Cela permet de réduire le temps nécessaire pour générer un formulaire adaptatif sur le client. Il est spécialement conçu pour les formulaires adaptatifs.

Configurer le cache de formulaires adaptatifs aux instances d’auteur et de publication

  1. Accédez à AEM gestionnaire de configuration de la console Web à l’adresse https://[server]:[port]/system/console/configMgr.

  2. Cliquez sur la configuration de canal web de communication interactive de formulaire adaptatif pour éditer ses valeurs de configuration.

  3. Dans la boîte de dialogue modifier les valeurs de configuration, spécifiez le nombre maximal de formulaires ou de documents qu'une instance du serveur Forms peut mettre en cache dans le champ Nombre de Forms adaptatif. La valeur par défaut est 100.

    REMARQUE

    Pour désactiver le cache, définissez la valeur du champ Nombre de formulaires adaptatifs sur 0. Le cache est réinitialisé, et tous les formulaires et documents sont supprimés du cache lorsque vous désactivez ou modifiez la configuration du cache.

    Boîte de dialogue de configuration du cache HTML de formulaires adaptatifs

  4. Cliquez sur Enregistrer pour enregistrer la configuration

Votre environnement est configuré pour utiliser le cache des formulaires adaptatifs et des ressources connexes.

(Facultatif) Configurez le cache de formulaire adaptatif à l’adresse dispatcher

Vous pouvez également configurer la mise en cache des formulaires adaptatifs sur le répartiteur pour améliorer les performances.

Conditions préalables

Considérations relatives à la mise en cache de formulaires adaptatifs sur un répartiteur

  • Lors de l’utilisation du cache de formulaires adaptatifs, utilisez l’AEM Dispatcher pour mettre en cache les bibliothèques client (CSS et JavaScript) d’un formulaire adaptatif.
  • Lors du développement des composants personnalisés, sur le serveur utilisé pour le développement, gardez le cache de formulaires adaptatifs désactivé.
  • Les URL sans extension ne sont pas mises en cache. Par exemple, les URL avec modèle/content/forms/[folder-structure]/[form-name].html sont mises en cache et la mise en cache ignore les URL avec modèle /content/dam/formsanddocument/[folder-name]/<form-name>/jcr:content. Par conséquent, utilisez des URL avec des extensions pour tirer parti des avantages de la mise en cache.
  • Considérations relatives aux formulaires adaptatifs localisés :
    • Utilisez le format d’URL http://host:port/content/forms/af/<afName>.<locale>.html pour demander une version localisée d’un formulaire adaptatif au lieu de http://host:port/content/forms/af/afName.html?afAcceptLang=<locale>
    • Désactivez l’utilisation de localepour les URL au format http://host:port/content/forms/af/<adaptivefName>.html.
    • Lorsque vous utilisez le format d’URL http://host:port/content/forms/af/<adaptivefName>.html et Utiliser la langue du navigateur dans le gestionnaire de configuration est désactivé, la version non localisée du formulaire adaptatif est diffusée. La langue non localisée est la langue utilisée lors du développement du formulaire adaptatif. Les paramètres régionaux configurés pour votre navigateur (paramètres régionaux du navigateur) ne sont pas pris en compte et une version non localisée du formulaire adaptatif est diffusée.
    • Lorsque vous utilisez le format d’URL http://host:port/content/forms/af/<adaptivefName>.html et Utiliser les paramètres régionaux du navigateur dans le gestionnaire de configuration est activé, une version localisée du formulaire adaptatif est diffusée, le cas échéant. La langue du formulaire adaptatif localisé est basée sur les paramètres régionaux configurés pour votre navigateur (paramètres régionaux du navigateur). Il peut conduire à [la mise en cache de la première instance d’un formulaire adaptatif]. Pour éviter que le problème ne se produise sur votre instance, voir dépannage.

Activation de la mise en cache sur le répartiteur

Suivez les étapes ci-dessous pour activer et configurer la mise en cache des formulaires adaptatifs sur le répartiteur :

  1. Ouvrez l’URL suivante pour chaque instance de publication de votre environnement et configurez l’agent de réplication :
    http://[server]:[port]]/etc/replication/agents.publish/flush.html

  2. Ajoutez les éléments suivants à votre fichier dispatcher.any :

       /invalidate
       {
       /0000
       {
       /glob "*"
       /type "deny"
       }
       /0001
       {
       # Consider all HTML files stale after an activation.
       /glob "*.html"
       /type "allow"
       }
       /0002
       {
       # Exclude htmls present in AF directories
       /glob "/content/forms/**/*.html"
       /type "deny"
       }
    

    Lorsque vous ajoutez ce qui suit :

    • Un formulaire adaptatif reste en cache jusqu’à ce qu’une version mise à jour du formulaire ne soit pas publiée.

    • Lorsqu’une nouvelle version de la ressource référencée dans un formulaire adaptatif est publiée, les formulaires adaptatifs concernés sont automatiquement invalidés. Il existe certaines exceptions à l’invalidation automatique des ressources référencées. Pour contourner les exceptions, voir la section dépannage.

  3. Ajoutez le fichier dispatcher.any des règles ci-dessous ou le fichier de règles personnalisées. Elle exclut les URL qui ne prennent pas en charge la mise en cache. Par exemple, Communication interactive.

       /0000 {
             /glob "*"
             /type "allow"
       }
       ## Don't cache csrf login tokens
       /0001 {
             /glob "/libs/granite/csrf/token.json"
             /type "deny"
       }
       ## Don't cache IC - print channel
       /0002 {
             /glob "/content/forms/**/channels/print.html"
             /type "deny"
       }
       ## Don't cache IC - web channel
       /0003 {
             /glob "/content/forms/**/channels/web.html"
             /type "deny"
       }
    
  4. Ajoutez les paramètres suivants à la liste des paramètres d’URL ignorés :

       /ignoreUrlParams {
       /0001 { /glob "*" /type "deny" }
       # added for AEM forms specific use cases.
       /0003 { /glob "dataRef" /type "allow" }
       }
    

Votre environnement AEM est configuré pour mettre en cache les formulaires adaptatifs. Il met en cache tous les types de formulaires adaptatifs. Si vous devez vérifier les autorisations d’accès utilisateur pour une page avant de diffuser la page mise en cache, voir mise en cache du contenu sécurisé.

Résolution des incidents

Certains formulaires adaptatifs contenant des images ou des vidéos ne sont pas automatiquement invalidés à partir du cache de répartiteur

Problème

Lorsque vous sélectionnez et ajoutez des images ou des vidéos via l’explorateur de ressources à un formulaire adaptatif et que ces images et vidéos sont modifiées dans l’éditeur Ressources, les formulaires adaptatifs contenant de telles images ne sont pas automatiquement invalidés à partir du cache du répartiteur.

Solution

Après avoir publié les images et la vidéo, annulez et publiez explicitement les formulaires adaptatifs qui référencent ces ressources.

Certains formulaires adaptatifs contenant des fragments de contenu ou d’expérience ne sont pas automatiquement invalidés à partir du cache de répartiteur

Problème

Lorsque vous ajoutez un fragment de contenu ou un fragment d’expérience à un formulaire adaptatif et que ces ressources sont modifiées et publiées de manière indépendante, les formulaires adaptatifs contenant ces ressources ne sont pas automatiquement invalidés à partir du cache du répartiteur.

Solution

Après avoir publié un fragment de contenu ou un fragment d’expérience mis à jour, annulez explicitement la publication et publiez les formulaires adaptatifs qui utilisent ces ressources.

Seule la première instance d’un formulaire adaptatif est mise en cache

Problème

Lorsque l’URL du formulaire adaptatif ne contient aucune information de localisation et Utiliser la langue du navigateur dans le gestionnaire de configuration est activée, une version localisée du formulaire adaptatif est diffusée et seule la première instance du formulaire adaptatif est mise en cache et remise à chaque utilisateur suivant.

Solution

Exécutez les étapes suivantes afin de résoudre ce problème :

  1. Ouvrez le fichier conf.d/httpd-dispatcher.conf ou tout autre fichier de configuration configuré pour se charger au moment de l’exécution.

  2. Ajoutez le code suivant dans votre fichier et enregistrez-le. Il s’agit d’un exemple de code que vous pouvez modifier en fonction de votre environnement.

   <VirtualHost *:80>
        # Set log level high during development / debugging and then turn it down to whatever is appropriate
    LogLevel rewrite:trace6
        # Start Rewrite Engine
    RewriteEngine On
        # Handle actual URL convention (just pass through)
        RewriteRule "^/content/forms/af/(.*)[.](.*).html$" "/content/forms/af/$1.$2.html" [PT]
 
        # Handle selector based redirection basded on browser language
        # The Rewrite Cond(ition) is looking for the Accept-Lanague header and if found takes the first two character which most likely will be the desired language selector.
        RewriteCond %{HTTP:Accept-Language} ^(..).*$ [NC]
        RewriteRule "^/content/forms/af/(.*).html$" "/content/forms/af/$1.%1.html" [R]
   </VirtualHost>

Sur cette page