Um cache é um mecanismo para reduzir o tempo de acesso aos dados, reduzir a latência e melhorar as velocidades de entrada/saída (I/O). O cache de formulários adaptáveis armazena somente o conteúdo de HTML e a estrutura JSON de um formulário adaptável sem salvar 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.
Vá para AEM gerenciador de configuração do console da Web em https://[server]:[port]/system/console/configMgr
.
Clique em Configuração do canal Web de comunicação interativa e formulário adaptável para editar seus valores de configuração.
No editar valores de configuração , especifique o número máximo de formulários ou documentos que uma instância do AEM Forms O servidor pode armazenar em cache no Número de Forms adaptáveis campo. O valor padrão é 100.
Para desativar o cache, defina o valor no campo Number of Adaptive 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.
Clique em Salvar para salvar a configuração.
Seu ambiente é configurado para usar formulários adaptáveis ao cache e ativos relacionados.
Você também pode configurar o armazenamento de formulários adaptáveis no dispatcher para aumentar ainda mais o desempenho.
/content/forms/[folder-structure]/[form-name].html
são armazenadas em cache e o armazenamento em 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 armazenamento em cache.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>
http://host:port/content/forms/af/<adaptivefName>.html
.http://host:port/content/forms/af/<adaptivefName>.html
e Usar a localidade do navegador no gerenciador de configuração estiver desativado, a versão não localizada do formulário adaptável será fornecida. O idioma não localizado é o idioma usado durante o desenvolvimento do formulário adaptável. O local configurado para seu navegador (localidade do navegador) não é considerado e uma versão não localizada do formulário adaptável é disponibilizada.http://host:port/content/forms/af/<adaptivefName>.html
e Usar a localidade do navegador no gerenciador de configuração estiver ativado, uma versão localizada do formulário adaptável será disponibilizada, se disponível. O idioma do formulário adaptável localizado é baseado na localidade configurada para seu navegador (localidade do navegador). Pode levar a [armazenamento em cache somente da primeira instância de um formulário adaptável]. Para evitar que o problema ocorra em sua instância, consulte solução de problemas.Execute as etapas listadas abaixo para habilitar e configurar o armazenamento em cache de formulários adaptáveis no dispatcher:
Abra o seguinte URL para cada instância de publicação do seu ambiente e ativar o agente de limpeza para publicar instâncias do seu ambiente:
http://[server]:[port]]/etc/replication/agents.publish/flush.html
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 adaptáveis 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 solução de problemas seção.
Adicione o arquivo de regras abaixo dispatcher.any ou personalizado. 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"
}
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 de AEM é configurado para armazenar formulários adaptáveis em cache. 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 armazenamento em cache de conteúdo protegido.
Ao selecionar e adicionar imagens ou vídeos por meio do navegador de ativos a um formulário adaptável e essas imagens e vídeos forem editados no editor de Ativos, os formulários adaptáveis contendo essas imagens não serão invalidados do cache do dispatcher automaticamente.
Após publicar as imagens e o vídeo, desfaça a publicação e publique explicitamente os formulários adaptáveis que fazem referência a esses ativos.
Quando a URL do formulário adaptável não tiver informações de localização, e Usar a localidade do navegador no gerenciador de configuração estiver ativado, uma versão localizada do formulário adaptável será disponibilizada e somente a primeira instância do formulário adaptável será armazenada em cache e entregue a cada usuário subsequente.
Execute as seguintes etapas para resolver o problema:
Abra o conf.d/httpd-dispatcher.conf ou qualquer outro arquivo de configuração configurado para carregar no tempo de execução.
Adicione o seguinte código ao arquivo e salve-o. É um código de amostra para modificá-lo 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>