Discourse wird bald unsere Version des Ember Javascript Frameworks von Version 3 auf Version 5 aktualisieren. Die überwiegende Mehrheit der Vorbereitungsarbeiten ist erledigt, und viele Seiten laufen bereits auf Ember 5 (einschließlich Meta!). ![]()
Dieses Upgrade ist ab sofort hinter einem Feature-Flag verfügbar! Dies ist der Standard für selbst gehostete Discourse-Installationen ab dem 10. Januar. Anfangs wird die Ember 3-Unterstützung weiterhin über ein Flag verfügbar sein, aber sie wird im ersten Quartal 2024 entfernt.
Auf unserem verwalteten discourse.org-Hosting werden wir in den nächsten Monaten ein gestaffeltes Rollout des Flags durchführen:
| Upgrade-Datum | |
|---|---|
| Basic | 2023-12-07 |
| Free | 2023-12-12 |
| Pro | 2024-01-15 |
| Business | 2024-01-22 |
| Enterprise | (Einzelfallbasis) |
Was bedeutet das für mich und meine Seite?
Wenn Sie Discourse ohne zusätzliche Themes, Plugins oder Theme-Komponenten betreiben… sind Sie bestens vorbereitet! Sie müssen nichts weiter tun oder sich darum kümmern.
Ebenso, wenn Sie nur offizielle Themes/Plugins verwenden, sind wir für Sie da! Wir werden sicherstellen, dass alle unsere offiziellen Themes, Theme-Komponenten und Plugins für das Upgrade vorbereitet sind.
Für diejenigen, die Drittanbieter-Anpassungen verwenden, sollten deren Entwickler die notwendigen Änderungen vornehmen, damit Sie diese während des Übergangs nahtlos weiter nutzen können.
Wenn Sie jedoch benutzerdefinierte Themes, Theme-Komponenten oder Plugins haben, die Sie für Ihre Websites erstellt oder in Auftrag gegeben haben, dann ist dieser Beitrag für Sie! Wir werden durchgehen, wie Sie Probleme vor dem Upgrade identifizieren und beheben können.
Probleme identifizieren
Alle Ember-5-bezogenen Upgrade-Probleme können vor dem Upgrade identifiziert werden, indem Sie nach der Verwendung veralteter APIs suchen. In neueren Versionen von Discourse (ab Discourse 3.2.0.beta4-dev) lösen diese kritischen Deprecations ein Warnbanner für Administratoren aus:
Weitere Informationen zu ausgelösten Deprecations finden Sie in der Entwicklerkonsole Ihres Browsers. Es ist generell eine gute Praxis, alle angezeigten Deprecations zu beheben. Aber für dieses Ember-Versionsupgrade sind die wichtigsten, die behoben werden müssen:
-
discourse.modal-controllers(siehe dieses Thema für weitere Informationen) -
alle Ember-Deprecations (d.h. diejenigen mit Nicht-
-discourse.-IDs)
Beim Drucken von Deprecations in die Konsole versucht Discourse, das relevante Theme/Plugin zu identifizieren.
Für Entwickler und Hosting-Anbieter haben wir ein paar Tools zur Verfügung gestellt, um Deprecations in großen Mengen zu identifizieren:
-
Bei der Ausführung von QUnit-Tests wird am Ende ein Bericht mit einer Liste aller ungelösten Deprecations ausgegeben. In GitHub Actions wird eine Markdown-Version davon zur Workflow-Zusammenfassungsseite hinzugefügt.
-
Für Hosting-Anbieter haben wir das Plugin discourse-deprecation-collector, das Prometheus-Zähler inkrementiert, wann immer Deprecations in der Produktion auftreten.
Deprecations beheben
Im Allgemeinen enthält die Konsolenmeldung eine Beschreibung des Problems und die Schritte zur Behebung. In einigen Fällen werden Links zu externen Ressourcen wie der Ember Deprecations Website oder Discourse Meta angezeigt.
Wenn etwas unklar ist, können Sie gerne unten oder in einem speziellen #dev-Thema posten, und wir werden unser Bestes tun, um Ihnen zu helfen.
Testen auf Ember 5
Um Dinge auf Ember 5 in einer lokalen Entwicklungsumgebung zu testen, können Sie unseren Ember-CLI-Helfer mit der Umgebungsvariable EMBER_VERSION starten. Zum Beispiel:
EMBER_VERSION=5 bin/ember-cli -u
Um zu bestätigen, dass alles wie erwartet funktioniert, überprüfen Sie die Ember-Version, die Discourse in der Browserkonsole ausgibt.
In der Produktion können Sie dasselbe erreichen, indem Sie EMBER_VERSION: 5 zum env:-Abschnitt Ihrer app.yml-Datei hinzufügen.




