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 de HTML et la structure JSON d’un formulaire adaptatif sans enregistrer de données préremplies. Cela permet de réduire le temps nécessaire pour effectuer le rendu d’un formulaire adaptatif sur le client. Il est spécialement conçu pour les formulaires adaptatifs.

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

  1. Accédez à la page de configuration de la console web AEM à 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 le modifier les valeurs de configuration ; , spécifiez le nombre maximal de formulaires ou documents, une instance de l’AEM Forms Le serveur peut mettre en cache dans la variable Nombre de Forms adaptatives champ . La valeur par défaut est 100.

    REMARQUE

    Pour désactiver le cache, définissez la valeur du champ Nombre de Forms adaptatives 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 de formulaires adaptatifs et de ressources connexes.

(Facultatif) Configurez le cache de formulaire adaptatif sur Dispatcher

Vous pouvez également configurer la mise en cache de formulaires adaptatifs sur Dispatcher pour une amélioration supplémentaire des performances.

Prérequis

Observations relatives à la mise en cache de formulaires adaptatifs sur un Dispatcher

  • Lorsque vous utilisez le cache de formulaires adaptatifs, utilisez AEM Dispatcher pour mettre en cache les bibliothèques clientes (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, URL avec modèle /content/forms/[folder-structure]/[form-name].html sont mis 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 :
    • Utiliser 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 des paramètres régionaux du navigateur pour 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 que l’option Utiliser les paramètres régionaux du navigateur située dans le gestionnaire de configuration est désactivée, 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 que l’option Utiliser les paramètres régionaux du navigateur dans le gestionnaire de configuration est activée, 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). Cela peut mener à [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 Résolution des problèmes.

Activation de la mise en cache dans Dispatcher

Pour activer et configurer la mise en cache de formulaires adaptatifs sur Dispatcher, procédez comme suit :

  1. Ouvrez l’URL suivante pour chaque instance de publication de votre environnement et Activation de l’agent de vidage pour les instances de publication de votre environnement:
    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 dans le cache jusqu’à ce qu’une version mise à jour du formulaire ne soit pas publiée.

    • Lorsqu’une version plus récente d’une 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. Il 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 avez besoin d’une vérification des autorisations d’accès utilisateur pour une page avant de diffuser la page mise en cache, voir mise en cache de contenu sécurisé.

Résolution des problèmes

Certains formulaires adaptatifs contenant des images ou des vidéos ne sont pas automatiquement invalidés du cache de Dispatcher.

Problème

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

Solution

Après avoir publié les images et les vidéos, dépubliez et publiez explicitement les formulaires adaptatifs qui référencent 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 les paramètres régionaux du navigateur dans configuration manager est activé, une version localisée du formulaire adaptatif est diffusée. Seule la première instance du formulaire adaptatif est mise en cache et diffusée à chaque utilisateur suivant.

Solution

Résolvez le problème en procédant comme suit :

  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