Dieses Projekt wurde vorerst ausgesetzt. Wir können uns in der Zukunft erneut damit befassen und werden hier ein Update posten, falls dem so ist.
Wir führen eine experimentelle Funktion ein, um Communities mit einer großen Anzahl an Kategorien zu unterstützen. ![]()
In den letzten Monaten haben wir hart daran gearbeitet, Discourse-Sites für Communities mit vielen Kategorien (und nicht nur diese!) besser funktionieren zu lassen. Dies wird Administratoren ermöglichen, Tausende von Kategorien zu erstellen, während Sie die vertraute, benutzerfreundliche UX beibehalten.
Dies ist weiterhin eine experimentelle Funktion und kann aktiviert werden, indem die Site-Einstellung lazy_loaded_categories_groups angepasst wird. Sie ist standardmäßig deaktiviert.
Wie funktioniert das?
Im Moment werden alle Kategoriedaten geladen, wenn Sie zu einer Discourse-Community navigieren. Dies wird als „Eager Loading“ (vorzeitiges Laden) bezeichnet und ist für Sites mit vielen Kategorien nicht ideal, da dies bedeutet, dass vor dem ersten Rendern viele Informationen übertragen werden, was die gesamte Ladezeit erhöht.
Die neue Methode wird als „Lazy Loading“ (verzögertes Laden) bezeichnet und verschiebt das Laden von Informationen über eine Kategorie, bis es wirklich notwendig ist (z. B. bei der Suche nach einer Kategorie, beim Navigieren oder Verlinken einer Kategorie, beim Lesen eines Themas oder Beitrags, der eine Kategorie erwähnt, usw.). Weniger übertragene Daten bedeuten eine schnellere Ladezeit und zufriedene Benutzer! ![]()
Was bedeutet das für Sie als Mitglied von Meta?
Wir haben diese Funktion intensiv intern getestet, aber angesichts des Umfangs der durchgeführten Arbeit besteht eine geringe Chance, dass Bugs eingeführt werden. Wenn Sie etwas feststellen, das im Zusammenhang mit Kategorien nicht ordnungsgemäß funktioniert, lassen Sie es uns als Antwort auf dieses Thema wissen oder eröffnen Sie ein Thema mit dem Tag Contribute > Bug.
Was bedeutet das für Sie oder Ihre Community?
Egal, ob Sie bei uns gehostet sind oder Ihre eigene Installation betreiben, diese Funktion ist standardmäßig deaktiviert, und es sollte keine sichtbaren Änderungen geben.
Wenn Sie jedoch planen, Ihre Community auf viele Kategorien auszuweiten, empfehlen wir Ihnen dringend, diese Funktion zu aktivieren.
In der Zukunft werden wir sie standardmäßig aktivieren und den Code, der Kategorien „eager loads“ (vorzeitig lädt), schrittweise veralten lassen und schließlich entfernen.
Was bedeutet das für Plugin- und Theme-Entwickler?
Im Allgemeinen sollten für die meisten Plugins kaum bis keine Änderungen notwendig sein, solange sie die Kategorien-Komponenten aus dem Core oder vorgeladene Daten verwenden (z. B. nur nach Kategorien abfragen, die beim Laden der Seite bereits sichtbar sind, da dies bedeutet, dass sie bereits vorgeladen wurden).
Probleme können auftreten, wenn versucht wird, Informationen für Kategorien zu verwenden, die noch nicht geladen wurden. Die Methode Category.findByIds wird weiterhin nur Kategorien zurückgeben, die bereits geladen wurden, während Category.asyncFindByIds eine Suche auf dem Server durchführen kann, wenn die Informationen noch nicht geladen wurden.

















