Configurare la cache dei moduli adattivi

Una cache è un meccanismo per ridurre i tempi di accesso ai dati, ridurre la latenza e migliorare le velocità di input/output (I/O). La cache dei moduli adattivi memorizza solo il contenuto HTML e la struttura JSON di un modulo adattivo senza salvare dati precompilati. Consente di ridurre il tempo necessario per eseguire il rendering di un modulo adattivo sul client. È progettato specificatamente per i moduli adattivi.

Configurare la cache dei moduli adattivi nelle istanze di creazione e pubblicazione

  1. Vai AEM gestione della configurazione della console Web all'indirizzo https://[server]:[port]/system/console/configMgr.

  2. Fai clic su Configurazione del canale web per moduli adattivi e comunicazioni interattive per modificare i valori di configurazione.

  3. In modificare i valori di configurazione specificare il numero massimo di moduli o documenti e un'istanza del AEM Forms il server può memorizzare nella cache Numero di Forms adattivi campo . Il valore predefinito è 100.

    NOTA

    Per disabilitare la cache, imposta 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.

    Finestra di dialogo di configurazione per la cache HTML dei moduli adattivi

  4. Fai clic su Salva per salvare la configurazione.

L’ambiente è configurato per l’utilizzo della cache dei moduli adattivi e delle relative risorse.

(Facoltativo) Configura la cache del modulo adattivo sul dispatcher

Puoi anche configurare il caching dei moduli adattivi al dispatcher per ulteriori miglioramenti delle prestazioni.

Prerequisiti

Considerazioni sulla memorizzazione in cache dei moduli adattivi su un dispatcher

  • Quando utilizzi la cache dei moduli adattivi, utilizza l’AEM Dispatcher per memorizzare nella cache le librerie client (CSS e JavaScript) di un modulo adattivo.
  • Durante lo sviluppo di componenti personalizzati, sul server utilizzato per lo sviluppo, tieni disabilitata la cache dei moduli adattivi.
  • Gli URL senza estensione non vengono memorizzati nella cache. Ad esempio, URL con pattern di pattern/content/forms/[folder-structure]/[form-name].html vengono memorizzati nella cache e la memorizzazione in cache ignora gli URL con pattern /content/dam/formsanddocument/[folder-name]/<form-name>/jcr:content. Utilizza quindi gli URL con estensioni per sfruttare i vantaggi della memorizzazione in cache.
  • Considerazioni sui moduli adattivi localizzati:
    • Usa formato URL http://host:port/content/forms/af/<afName>.<locale>.html per richiedere una versione localizzata di un modulo adattivo anziché http://host:port/content/forms/af/afName.html?afAcceptLang=<locale>
    • Disattiva con le impostazioni internazionali del browser per gli URL con formato http://host:port/content/forms/af/<adaptivefName>.html.
    • Quando si utilizza il formato URL http://host:port/content/forms/af/<adaptivefName>.htmle Usa impostazioni internazionali browser in configuration manager (gestione configurazione) disattivato, viene fornita la versione non localizzata del modulo adattivo. La lingua non localizzata è la lingua utilizzata durante lo sviluppo del modulo adattivo. Le impostazioni internazionali configurate per il browser (impostazioni internazionali del browser) non vengono prese in considerazione e viene fornita una versione non localizzata del modulo adattivo.
    • Quando si utilizza il formato URL http://host:port/content/forms/af/<adaptivefName>.htmle Usa impostazioni internazionali browser in configuration manager (gestione configurazioni) abilitato, 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 (impostazioni internazionali del browser). Può portare a [memorizzazione in cache solo della prima istanza di un modulo adattivo]. Per evitare che il problema si verifichi nell’istanza, vedi risoluzione.

Abilita la memorizzazione in cache al dispatcher

Esegui i passaggi elencati di seguito per abilitare e configurare la memorizzazione in cache dei moduli adattivi sul dispatcher:

  1. Apri il seguente URL per ogni istanza di pubblicazione dell’ambiente e abilita l'agente di scaricamento per pubblicare le istanze dell'ambiente:
    http://[server]:[port]]/etc/replication/agents.publish/flush.html

  2. 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 aggiungi quanto sopra:

    • Un modulo adattivo rimane nella cache fino a quando non viene pubblicata una versione aggiornata del modulo.

    • Quando viene pubblicata una versione più recente della risorsa a cui viene fatto riferimento in un modulo adattivo, i moduli adattivi interessati vengono automaticamente invalidati. Sono presenti alcune eccezioni all’annullamento automatico della validità delle risorse di riferimento. Per la soluzione alle eccezioni, vedi risoluzione sezione .

  3. Aggiungi il seguente file di regole dispatcher.any o il file di regole personalizzate. Sono esclusi gli URL che non supportano la memorizzazione in cache. Ad esempio, la 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"
       }
    
  4. Aggiungi i seguenti parametri all’elenco dei parametri dell’URL di ignoramento:

       /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 in cache tutti i tipi di moduli adattivi. Se hai l’obbligo di controllare le autorizzazioni di accesso utente per una pagina prima di consegnare la pagina in cache, consulta memorizzazione in cache di contenuto protetto.

Risoluzione dei problemi

Alcuni moduli adattivi contenenti immagini o video non vengono invalidati automaticamente dalla cache del dispatcher

Problema

Quando selezioni e aggiungi immagini o video tramite il browser risorse a un modulo adattivo e tali immagini e video vengono modificati nell’editor di Assets, i moduli adattivi contenenti tali immagini non vengono invalidati automaticamente dalla cache del dispatcher.

Soluzione

Dopo aver pubblicato le immagini e il video, annulla esplicitamente la pubblicazione e pubblica i moduli adattivi che fanno riferimento a tali risorse.

Solo la prima istanza di un modulo adattivo è memorizzata nella cache

Problema

Quando l’URL del modulo adattivo non dispone di informazioni sulla localizzazione e Usa impostazioni internazionali browser in configuration manager è abilitato, viene fornita una versione localizzata del modulo adattivo e solo la prima istanza del modulo adattivo viene memorizzata nella cache e distribuita a ogni utente successivo.

Soluzione

Esegui i seguenti passaggi per risolvere il problema:

  1. Apri conf.d/httpd-dispatcher.conf o qualsiasi altro file di configurazione configurato per il caricamento in fase di runtime.

  2. Aggiungi il seguente codice al file e salvalo. Si tratta di un codice di esempio modificarlo in base all’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>

In questa pagina