Dieses Projekt wurde vorerst auf Eis gelegt. Wir werden es möglicherweise zu einem späteren Zeitpunkt wieder aufgreifen und Sie hier informieren, falls dies geschieht.
Wir führen eine experimentelle Funktion ein, um Communities mit einer großen Anzahl von Kategorien zu unterstützen. ![]()
In den letzten Monaten haben wir intensiv daran gearbeitet, Discourse-Seiten für Communities mit vielen Kategorien (und nicht nur!) besser funktionieren zu lassen. Dies wird Administratoren ermöglichen, Tausende von Kategorien zu erstellen und dabei die vertraute benutzerfreundliche Erfahrung beizubehalten.
Dies ist immer noch eine experimentelle Funktion und kann durch Ändern der Site-Einstellung lazy_loaded_categories_groups aktiviert werden. Standardmäßig ist sie derzeit deaktiviert.
Wie funktioniert das?
Im Moment werden alle Kategoriendaten geladen, wenn Sie eine Discourse-Community aufrufen. Dies wird als „Eager Loading“ (vorzeitiges Laden) bezeichnet und ist für Websites mit vielen Kategorien nicht ideal, da dadurch viele Informationen übertragen werden, bevor das erste Rendern erfolgt, was die Gesamtladezeit erhöht.
Die neue Methode wird „Lazy Loading“ (verzögertes Laden) genannt und verzögert das Laden von Informationen über eine Kategorie, bis sie wirklich benötigt werden (zum Beispiel beim Suchen nach einer Kategorie, beim Navigieren oder Verlinken einer Kategorie, beim Lesen eines Themas oder Beitrags, der darauf verweist, usw.). Weniger übertragene Daten bedeuten schnellere Ladezeiten und glücklichere Benutzer! ![]()
Was bedeutet das für Sie als Mitglied von Meta?
Wir haben diese Funktion intern intensiv getestet, aber angesichts des Umfangs der geleisteten Arbeit besteht eine geringe Wahrscheinlichkeit, dass Fehler auftreten. Wenn Ihnen etwas auffällt, das in Bezug auf Kategorien fehlerhaft funktioniert, teilen Sie uns dies bitte in einer Antwort auf dieses Thema mit oder erstellen Sie ein #bug-Thema.
Was bedeutet das für Sie oder Ihre Community?
Unabhängig davon, ob Sie bei uns gehostet werden oder selbst hosten, ist diese Funktion standardmäßig deaktiviert und es sollten keine sichtbaren Änderungen vorgenommen werden.
Wenn Sie jedoch planen, Ihre Community um viele Kategorien zu erweitern, empfehlen wir Ihnen dringend, diese Funktion zu aktivieren.
In Zukunft werden wir sie standardmäßig aktivieren und schließlich den Code, der Kategorien „eager loaded“, veraltet machen und entfernen.
Was bedeutet das für Plugin- und Theme-Entwickler?
Im Allgemeinen sollten für die meisten Plugins nur geringfügige oder gar keine Änderungen erforderlich sein, solange sie die Kategoriekomponenten aus dem Core oder vorab geladene Daten verwenden (zum Beispiel nur nach Kategorien abfragen, die bereits sichtbar sind, wenn die Seite geladen wird, da dies bedeutet, dass sie bereits vorab geladen wurden).
Einige Probleme können auftreten, wenn versucht wird, Informationen für Kategorien zu verwenden, die noch nicht geladen wurden. Die Methode Category.findByIds gibt weiterhin nur bereits geladene Kategorien zurück, während Category.asyncFindByIds eine Abfrage auf dem Server durchführen kann, falls die Informationen noch nicht geladen wurden.

















