Questo progetto è momentaneamente in pausa. Potremmo riprenderlo in futuro e pubblicheremo un aggiornamento qui di conseguenza.
Stiamo introducendo una funzionalità sperimentale per aiutare le comunità con un gran numero di categorie. ![]()
Negli ultimi mesi abbiamo lavorato sodo per migliorare il funzionamento dei siti Discourse per le comunità con molte categorie (e non solo!). Questo consentirà agli amministratori di creare migliaia di categorie mantenendo l’interfaccia utente intuitiva a cui siete abituati.
Si tratta ancora di una funzionalità sperimentale, attivabile modificando l’impostazione del sito lazy_loaded_categories_groups. Al momento è disabilitata per impostazione predefinita.
Come funziona?
Al momento, tutti i dati delle categorie vengono caricati quando si naviga in una comunità Discourse. Questa procedura è detta “caricamento eager” (o anticipato) e non è ideale per i siti con molte categorie, poiché comporta il trasferimento di molte informazioni prima del primo rendering, aumentando così i tempi di caricamento complessivi.
Il nuovo metodo è denominato “caricamento lazy” (o differito) e posticipa il caricamento delle informazioni su una categoria solo quando è strettamente necessario (ad esempio, durante la ricerca di una categoria, la navigazione o il collegamento a una categoria, la lettura di un argomento o di un post che ne menziona una, ecc.). Meno dati trasferiti significano tempi di caricamento più rapidi e utenti più soddisfatti! ![]()
Cosa significa questo per te, come membro di Meta?
Abbiamo testato intensamente questa funzionalità internamente, ma data l’entità del lavoro svolto, esiste una leggera possibilità che vengano introdotti bug. Se noti malfunzionamenti relativi alle categorie, faccelo sapere rispondendo a questo argomento o aprendo un topic nella sezione Contribute > Bug.
Cosa significa questo per te o per la tua comunità?
Che tu sia ospitato da noi o che tu utilizzi un’installazione autonoma (self-hosted), questa funzionalità è disabilitata per impostazione predefinita e non dovrebbero esserci cambiamenti visibili.
Tuttavia, se stai pensando di espandere la tua comunità con molte categorie, ti invitiamo vivamente ad abilitare questa funzionalità.
In futuro, la attiveremo per impostazione predefinita e alla fine dismetteremo e rimuoveremo il codice che esegue il “caricamento eager” delle categorie.
Cosa significa questo per gli sviluppatori di plugin e temi?
In generale, non dovrebbero essere necessari cambiamenti per la maggior parte dei plugin, purché utilizzino i componenti delle categorie forniti dal nucleo (core) o i dati precaricati (ad esempio, effettuando query solo per le categorie già visibili al caricamento della pagina, il che significa che sono state già precaricate).
Possono verificarsi problemi quando si tenta di utilizzare informazioni relative a categorie che non sono ancora state caricate. Il metodo Category.findByIds continuerà a restituire solo le categorie già caricate, mentre Category.asyncFindByIds potrebbe effettuare una ricerca sul server se le informazioni non sono ancora state caricate.

















