Configurar o cache de formulários adaptáveis

Um cache é um mecanismo para reduzir os tempos de acesso aos dados, reduzir a latência e melhorar as velocidades de entrada/saída (E/S). O cache de formulários adaptáveis armazena somente o conteúdo HTML e a estrutura JSON de um formulário adaptável sem salvar os dados pré-preenchidos. Ajuda a reduzir o tempo necessário para renderizar um formulário adaptável no cliente. Ele foi projetado especificamente para formulários adaptáveis.

Configure o cache de formulários adaptáveis nas instâncias de autor e publicação

  1. Vá para AEM gerenciador de configuração do console da Web em https://[server]:[port]/system/console/configMgr.

  2. Clique em Configuração de Canais Web de Formulário Adaptável e Comunicação Interativa para editar os valores de configuração.

  3. Na caixa de diálogo editar valores de configuração, especifique o número máximo de formulários ou documentos que uma instância do servidor AEM Forms pode armazenar em cache no campo Número de Forms adaptável. O valor padrão é 100.

    OBSERVAÇÃO

    Para desativar o cache, defina o valor no campo Número de adaptáveis Forms como 0. O cache é redefinido e todos os formulários e documentos são removidos do cache quando você desativa ou altera a configuração do cache.

    Caixa de diálogo Configuração para formulários adaptáveis cache HTML

  4. Clique em Salvar para salvar a configuração.

Seu ambiente está configurado para usar formulários adaptáveis ao cache e ativos relacionados.

(Opcional) Configure o cache de formulário adaptável no dispatcher

Você também pode configurar o cache de formulários adaptáveis no dispatcher para aumentar o desempenho.

Pré-requisitos

Considerações para armazenar formulários adaptativos em cache em um dispatcher

  • Ao usar o cache de formulários adaptáveis, use o AEM Dispatcher para armazenar em cache as bibliotecas clientes (CSS e JavaScript) de um formulário adaptável.
  • Ao desenvolver componentes personalizados, no servidor usado para desenvolvimento, mantenha o cache de formulários adaptáveis desativado.
  • URLs sem extensão não são armazenados em cache. Por exemplo, URL com padrão/content/forms/[folder-structure]/[form-name].html são armazenados em cache e o cache ignora URLs com padrão /content/dam/formsanddocument/[folder-name]/<form-name>/jcr:content. Portanto, use URLs com extensões para aproveitar os benefícios do cache.
  • Considerações para formulários adaptativos localizados:
    • Use o formato de URL http://host:port/content/forms/af/<afName>.<locale>.html para solicitar uma versão localizada de um formulário adaptável em vez de http://host:port/content/forms/af/afName.html?afAcceptLang=<locale>
    • Desabilite o uso de localidade do navegador para URLs com formato http://host:port/content/forms/af/<adaptivefName>.html.
    • Quando você usa o Formato de URL http://host:port/content/forms/af/<adaptivefName>.html e Usar Localidade do Navegador no gerenciador de configuração está desativado, a versão não localizada do formulário adaptável é fornecida. O idioma não localizado é o idioma usado ao desenvolver o formulário adaptativo. A localidade configurada para seu navegador (localidade do navegador) não é considerada e uma versão não localizada do formulário adaptativo é fornecida.
    • Quando você usa o Formato de URL http://host:port/content/forms/af/<adaptivefName>.html e Usar Localidade do Navegador no gerenciador de configuração estiver ativado, uma versão localizada do formulário adaptável será fornecida, se disponível. O idioma do formulário adaptativo localizado se baseia na localidade configurada para o seu navegador (localidade do navegador). Pode levar a [armazenar em cache apenas a primeira instância de um formulário adaptável]. Para evitar que o problema ocorra em sua instância, consulte solução de problemas.

Ativar o cache no dispatcher

Execute as etapas listadas abaixo para ativar e configurar o cache de formulários adaptáveis no dispatcher:

  1. Abra o seguinte URL para cada instância de publicação do seu ambiente e configure o agente de replicação:
    http://[server]:[port]]/etc/replication/agents.publish/flush.html

  2. Adicione o seguinte ao arquivo 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"
       }
    

    Ao adicionar o acima:

    • Um formulário adaptável permanece em cache até que uma versão atualizada do formulário não seja publicada.

    • Quando uma versão mais recente do recurso referenciado em um formulário adaptável é publicada, os formulários adaptativos afetados são automaticamente invalidados. Há algumas exceções para a invalidação automática dos recursos referenciados. Para obter uma solução alternativa para exceções, consulte a seção solução de problemas.

  3. Adicione o arquivo de regras dispatcher.any ou de regras personalizadas abaixo. Ela exclui os URLs que não oferecem suporte ao armazenamento em cache. Por exemplo, Comunicação interativa.

       /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. Adicione os seguintes parâmetros à lista ignorar parâmetros de URL:

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

Seu ambiente AEM está configurado para armazenar em cache formulários adaptáveis. Armazena em cache todos os tipos de formulários adaptáveis. Se você tiver um requisito para verificar as permissões de acesso do usuário para uma página antes de entregar a página em cache, consulte armazenar conteúdo protegido em cache.

Resolução de problemas

Alguns formulários adaptáveis contendo imagens ou vídeos não são automaticamente invalidados do cache do dispatcher

Problema

Quando você seleciona e adiciona imagens ou vídeos por meio do navegador de ativos a um formulário adaptável e essas imagens e vídeos são editados no editor de Ativos, os formulários adaptáveis que contêm essas imagens não são invalidados do cache do dispatcher automaticamente.

Solução

Depois de publicar as imagens e o vídeo, cancele a publicação e publique explicitamente os formulários adaptativos que fazem referência a esses ativos.

Alguns formulários adaptáveis contendo fragmentos de conteúdo ou fragmentos de experiência não são automaticamente invalidados do cache do dispatcher

Problema

Quando você adiciona um fragmento de conteúdo ou um fragmento de experiência a um formulário adaptável e esses ativos são editados e publicados independentemente, os formulários adaptáveis contendo esses ativos não são invalidados automaticamente do cache do dispatcher.

Solução

Depois de publicar fragmentos de conteúdo ou fragmentos de experiência atualizados, cancele a publicação e publique explicitamente os formulários adaptativos que usam esses ativos.

Somente a primeira instância de um formulário adaptável é armazenada em cache

Problema

Quando o URL do formulário adaptável não tiver informações de localização e Usar Localidade do Navegador no gerenciador de configuração estiver ativado, uma versão localizada do formulário adaptável será fornecida e somente a primeira instância do formulário adaptativo será armazenada em cache e entregue a cada usuário subsequente.

Solução

Execute as seguintes etapas para resolver o problema:

  1. Abra o arquivo conf.d/httpd-dispatcher.conf ou qualquer outro arquivo de configuração configurado para carregar no tempo de execução.

  2. Adicione o seguinte código ao seu arquivo e salve-o. É um exemplo de código que o modifica de acordo com seu ambiente.

   <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>

Nesta página