Una cache è un meccanismo per ridurre i tempi di accesso ai dati, ridurre la latenza e migliorare le velocità di ingresso/uscita (I/O). La cache dei moduli adattivi memorizza solo il contenuto HTML e la struttura JSON di un modulo adattivo senza salvare i dati precompilati. Consente di ridurre il tempo necessario per eseguire il rendering di un modulo adattivo sul client. È progettata specificatamente per i moduli adattivi.
Andate AEM console Web Configuration Manager all'indirizzo https://[server]:[port]/system/console/configMgr
.
Fare clic su Configurazione canale Web per moduli adattivi e comunicazioni interattive per modificarne i valori di configurazione.
Nella finestra di dialogo modifica valori di configurazione, specificare il numero massimo di moduli o documenti per cui un'istanza del server AEM Forms può memorizzare nella cache il campo Numero di Forms adattivo. Il valore predefinito è 100.
Per disattivare la cache, impostate il valore nel campo Numero di Forms adattivo su 0. La cache viene reimpostata e tutti i moduli e i documenti vengono rimossi dalla cache quando si disabilita o si modifica la configurazione della cache.
Fare clic su Salva per salvare la configurazione.
L’ambiente è configurato per l’utilizzo della cache per moduli adattivi e risorse correlate.
È inoltre possibile configurare il caching dei moduli adattivi presso il dispatcher per un ulteriore miglioramento delle prestazioni.
http://[server]:[port]]/etc/replication/agents.publish/flush.html
./content/forms/[folder-structure]/[form-name].html
viene memorizzato nella cache e gli URL con pattern /content/dam/formsanddocument/[folder-name]/<form-name>/jcr:content
vengono ignorati dalla cache. Utilizzate quindi gli URL con estensioni per sfruttare i vantaggi del caching.http://host:port/content/forms/af/<afName>.<locale>.html
per richiedere una versione localizzata di un modulo adattivo invece di 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 Usa lingua browser in Gestione configurazione è disabilitato, viene servita la versione non localizzata del modulo adattivo. La lingua non localizzata è quella utilizzata per lo sviluppo del modulo adattivo. Le impostazioni internazionali configurate per il browser (impostazioni internazionali del browser) non vengono prese in considerazione e viene servita una versione non localizzata del modulo adattivo.http://host:port/content/forms/af/<adaptivefName>.html
e Usa lingua browser in Gestione configurazione è attivato, viene fornita una versione localizzata del modulo adattivo, se disponibile. La lingua del modulo adattivo localizzato si basa sulle impostazioni internazionali configurate per il browser in uso (impostazione internazionale del browser). Può causare la memorizzazione nella cache di una sola prima istanza di un modulo adattivo [. ] Per evitare che il problema si verifichi nell'istanza, vedere risoluzione dei problemi.Per attivare e configurare la memorizzazione nella cache dei moduli adattivi nel dispatcher, effettuare le operazioni riportate di seguito.
Aprite il seguente URL per ogni istanza di pubblicazione dell’ambiente e configurate l’agente di replica:
http://[server]:[port]]/etc/replication/agents.publish/flush.html
Aggiungi quanto segue al file 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"
}
Quando aggiungete quanto sopra:
Un modulo adattivo rimane nella cache finché non viene pubblicata una versione aggiornata del modulo.
Quando viene pubblicata una nuova versione di risorse a cui viene fatto riferimento in un modulo adattivo, i moduli adattivi interessati vengono automaticamente invalidati. Esistono alcune eccezioni all'annullamento automatico della convalida delle risorse di riferimento. Per una soluzione alternativa alle eccezioni, vedere la sezione risoluzione dei problemi.
Aggiungi il dispatcher delle regole riportato di seguito.any o il file delle regole personalizzate. Sono esclusi gli URL che non supportano il caching. Ad esempio, Comunicazione interattiva.
/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"
}
Aggiungete i seguenti parametri all’elenco dei parametri dell’URL di esclusione:
/ignoreUrlParams {
/0001 { /glob "*" /type "deny" }
# added for AEM forms specific use cases.
/0003 { /glob "dataRef" /type "allow" }
}
L'ambiente AEM è configurato per memorizzare nella cache i moduli adattivi. Memorizza nella cache tutti i tipi di moduli adattivi. Se è necessario controllare le autorizzazioni di accesso degli utenti per una pagina prima di distribuire la pagina memorizzata nella cache, vedere caching protected content (Memorizzazione nella cache dei contenuti protetti).
Quando selezionate e aggiungete immagini o video tramite il browser risorse a un modulo adattivo e tali immagini e video vengono modificati nell’editor delle risorse, i moduli adattivi contenenti tali immagini non vengono invalidati automaticamente dalla cache del dispatcher.
Dopo aver pubblicato le immagini e il video, annullate esplicitamente la pubblicazione e pubblicate i moduli adattivi che fanno riferimento a tali risorse.
Quando si aggiunge un frammento di contenuto o un frammento esperienza a un modulo adattivo e queste risorse vengono modificate e pubblicate in modo indipendente, i moduli adattivi contenenti tali risorse non vengono invalidati automaticamente dalla cache del dispatcher.
Dopo aver pubblicato un frammento di contenuto aggiornato o un frammento esperienza, è possibile annullare la pubblicazione in modo esplicito e pubblicare i moduli adattivi che utilizzano tali risorse.
Se l'URL del modulo adattivo non contiene informazioni sulla localizzazione e l'opzione Usa impostazioni internazionali browser in Gestione configurazione è abilitata, viene distribuita una versione localizzata del modulo adattivo e viene memorizzata nella cache solo la prima istanza del modulo adattivo, che viene inviata a ogni utente successivo.
Per risolvere il problema, effettuate le seguenti operazioni:
Aprite il file conf.d/httpd-dispatcher.conf o qualsiasi altro file di configurazione configurato per il caricamento in fase di esecuzione.
Aggiungete il codice seguente al file e salvatelo. Si tratta di un codice di esempio che lo modifica per adattarlo al tuo 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>