Cache Blocchi/Viste ed internazionalizzazione qualcosa non funziona che fare?

5 contenuti / 0 new
Ultimo contenuto
Cache Blocchi/Viste ed internazionalizzazione qualcosa non funziona che fare?

Salve a tutti.
Ho un sito in Drupal che, tra le altre cose, ha questo funzionamento:
-Navigazione del vocabolario di tassonomia attraverso una vista.
-5 blocchi in pagina principale (), blocchi generati da apposite viste.
-Il sito è in tre lingue e quindi ha installati i moduli di internazionalizzazione.

Per problemi di prestazioni ho abilitato la Cache, ma:

1) nella pagina delle prestazioni (/admin/settings/performance)
a) mi trovo un messaggio che mi avvisa del possibile non funzionamento della cache aggressiva del modulo l18n
b) il riquadro "Cache per Blocchi" risulta non attivo.
Non è possibile agire sul radio button e compare una scritta "Nota che la cache per i blocchi è inattiva quando i moduli che che creano restrizioni di accesso ai contenuti sono abilitati."

2) ho abitato il modulo "Views Content Cache"
sulla vista delle tassonomie, ho abilitato la cache su contenuto, per farla aggiornare all'aggiornamento di determinati tipi di contenuto.
Query results - Minimum lifetime : 30 min
Query results - Maximum lifetime : nessuno
Rendered output - Minimum lifetime : 30 min
Rendered output - Maximum lifetime : 6 ore

ma non capisco esattamente se funzioni o meno, in ogni modo se funzioni correttamente.
Stamani ho inserito la traduzione di un articolo e quasi subito mi sono visto aggiornare le pagine create dalla vista di tassonomia.
Poco dopo ho effettuato una modifica ad un articolo ed inserita una nuova traduzione ma dalle 13:00 ad ora le pagine delle viste non sono state ancora aggiornate.

in ogni caso i blocchi in prima pagina non vengono mai aggiornati.
se pulisco la cache manualmente tutto viene ricreato correttamente.

I blocchi usati in home non si aggiornano perché non funziona la cache di blocco con il modulo di internazionalizzazione?
ho impostato male i parametri di cache?
non dovevo usare view content cache?

PS
la vista che genera il blocco per la home ha gli stessi parametri di cache impostati per la pagina di tassonomia.

Ogni suggerimento o consiglio è benvenuto.

La cache aggressiva è raramente usabile: molti moduli non la supportano

la cache dei blocchi è disattivata perchè hai almeno un modulo che implementa restrizioni di accesso (TAC, content_access, ecc): anche questo è "normale"

Quote:
Query results - Maximum lifetime : nessuno

nota: in questo modo la query non viene mai rigenerata

assicurati di settare bene le impostazioni di visibilità di ogni blocco, altrimenti vengono sempre caricati tutti, che siano visibili o meno.

@bohz

okej adesso la cosa della disabilitazione della cache dei blocchi mi è più chiara.
Effettivamente c'è il modulo Taxonomy Access Controll (anche se potrei pensare di disabilitarlo) in più c'è un processo di moderazione dei contenuti gestito dal workflow (non so se questo possa essere individuato come modulo che implementa restrizioni)

vorrei chiederti una cosa, forse sciocca, ma se la cache dei blocchi è disabilitata, i blocchi dovrebbero venir ricaricati ogni volta senza attingere dalla cache no? perché quindi non li vedo aggiornati? Perché il blocco ha una cache della vista?

Quote:
nota: in questo modo la query non viene mai rigenerata

come va usato quel parametro?

io avevo capito che il funzionamento fosse il seguente, ma è una interpretazione che avevo dato io, mi puoi confermare se ho capito correttamente o qual è il corretto funzionamento?

io avevo intesto che, essendo impostata la cache su Content e non Time, la cache della vista fosse rinfrescata all'inserimento/modifica di uno dei tipi contenuto flaggati.
con... un un tempo di vita minimo di mezzora (quindi se la query/cache è stata appena aggiornata se inserisco un nuovo contenuto questo viene aggiornato comunque tra mezzora)
con un tempo massimo infinito, ovvero credevo che, in mancanza di un inserimento/modifica del tipo contenuto flaggato, la query/cache rimanesse in vita. Mettendo un tempo massimo ad esempio 6 ore, ogni sei ore mi aspettavo che la query/cache venisse aggiornata comunque anche se non ci fossero contenuti cambiati.
E' così? Da come di dici tu no, visto che mi dici che così come ho impostato la cosa la query non viene mai rigenerata.

un grazie in anticipo per il tuo aiuto

guarda, onestamente devo dirti che non ho capito benissimo neanche io come vengono gestiti i blocchi. Quello che posso dirti è che ho un setup simile al tuo e i blocchi non vengono TUTTI ricreati ad ogni page view. Tuttavia ho notato un certo miglioramento impostando la visibilità dei blocchi solo nelle pagine dove mi serve. Inoltre, a complicare le cose, uso anche context che DOVREBBE caricare solo i blocchi associati al context in essere. ma neanche di questo sono sicurissimo (lol)
Bisognerebbe leggersi migliaia di pagine e non sempre si ha tempo...

Per quanto riguarda views_content_cache se imposti un limite infinito come tempo MASSIMO di caching, significa che l'informazione cachata non sarà mai rigenerata. il setup più conservativo è quello consigliato dal modulo stesso: nessun limite minimo e un limite massimo decente (io uso 6 ore, ma il sito lo vedono in pochi), sia per la query che per l'output.
A me sembra che in questo modo funzioni bene. ad es ho una user directory con 100+ profili elencati che vengono modificati raramente: con views content cache il tempo di generazione della pagina è sceso del 30% circa

mah, io mi ero dimenticato di dirti, che i blocchi da me creati sono 6.
ma 5 compaiono solo in <front> mentre uno compare sempre in sidebar destra.

aprire la home e lanciare 6 viste ogni volta non mi sembra il massimo della performance per questo l'idea di tenere il tutto in cache mi sembrava buona.

non so che frequenza di aggiornamento si avrà a regime, ma adesso è piuttosto frequente, quindi la mia idea era quella di far rigenerare la cache almeno ogni mezz'ora in modo da avere un compromesso tra prestazioni e pubblicazione immediata.
Per far così quindi mi suggeriresti di lasciare il valore minimo non impostato e quello massimo impostato a 30 min?