Bevorstehendes EOL für das Widget-Rendering-System

Hallo zusammen! Als letzter Schritt unserer Bemühungen, uns vom veralteten „Widget“-Rendering-System zu verabschieden, stellen wir die Verwendung von Widgets in Discourse außer Betrieb und werden es bald vollständig deaktivieren.

Zeitplan

Dies sind Schätzungen und können sich ändern

Juli 2025:

  • :white_check_mark: Hinzufügen von Deprecation-Warnungen im Kern und einer experimentellen Site-Einstellung, um sie zu deaktivieren
  • :white_check_mark: Veröffentlichung der Ankündigung auf Meta

August 2025

  • :white_check_mark: Upgrade der offiziellen Plugins und Theme Components auf die Verwendung von Glimmer Components.
  • :white_check_mark: Betrieb von Meta mit deaktivierten Widgets.
  • :white_check_mark: Aktivierung der Deprecation-Nachrichten mit einem Admin-Warnbanner.

Q3 2025:

  • Plugins und Themes von Drittanbietern müssen aktualisiert werden.

Q4 2025:

  • :white_check_mark: Das Widget-Rendering-System wird standardmäßig mit deactivate_widgets_rendering: true deaktiviert. Es wird einen kurzen Zeitraum geben, in dem es manuell wieder aktiviert werden kann.

  • :white_check_mark: Entfernen des Legacy-Codes und Deaktivieren des Widget-Rendering-Systems

> :police_car_light: Nicht kompatible Plugins und Themes funktionieren danach nicht mehr richtig.

Was bedeutet das für Sie?

Wenn eines Ihrer Plugins oder Themes „Widget“-APIs verwendet, müssen Sie diese vor der Frist in Q4 2025 auf neuere APIs oder Glimmer Components aktualisieren.

Ich habe benutzerdefinierte Plugins oder Themes installiert. Muss ich sie aktualisieren?

Sie müssen Ihre Plugins oder Themes aktualisieren, wenn sie eine der folgenden Komponenten verwenden:

  • createWidget
  • decorateWidget, changeWidgetSetting, reopenWidget oder attachWidgetAction
  • Die Komponente MountWidget

> :bulb: Profi-Tipp: Wenn Sie Erweiterungen haben, die eine dieser Anpassungen verwenden, sehen Sie eine Warnung in der Konsole, die angibt, welches Plugin oder welche Komponente aktualisiert werden muss.

> :warning: Wichtig: Wenn Sie mehr als ein Theme in Ihrer Instanz verwenden, stellen Sie sicher, dass Sie alle überprüfen, da die Warnungen nur für aktive Plugins und aktuell verwendete Themes und Theme Components angezeigt werden.
>
> Die Deprecation-ID lautet: discourse.widgets-end-of-life

Wie hängt das mit der kürzlichen Post-Stream-Modernisierung zusammen?

Der Post-Stream war der letzte große Teil von Discourse, der noch das Widget-Rendering-System verwendete. Mit seiner Modernisierung können wir nun mit der vollständigen Außerbetriebnahme des Widget-Systems fortfahren. Schauen Sie sich den Upgrade-Leitfaden an, um weitere Details zu diesen Änderungen zu erfahren.

Wie führe ich das Upgrade durch?

Wenn Sie ein Plugin oder Theme eines Drittanbieters verwenden: Prüfen Sie, ob der Autor eine aktualisierte Version veröffentlicht hat, die mit dem neuen System kompatibel ist.

Wenn Sie ein Plugin-/Theme-Autor sind:

  • Ersetzen Sie Ihre benutzerdefinierten Widgets durch Glimmer Components
  • Verwenden Sie Plugin-Outlet-Connectors, um sie in die Benutzeroberfläche einzufügen

Sehen Sie sich unsere Entwickler-Anleitungen für weitere Informationen zu diesen Aktualisierungen an.

8 „Gefällt mir“

Wenn Sie Ihre Discourse-Installation das nächste Mal aktualisieren, wird das Widget-Rendering-System deaktiviert und alle widgetbasierten Anpassungen werden nicht mehr gerendert.

Vorerst kann der Administrator auf inkompatiblen Websites das alte Verhalten wieder aktivieren, indem er die Werte der folgenden Einstellung ändert:

  • deactivate_widgets_rendering

Dies ist die letzte Phase vor der Entfernung des alten Codes aus der Discourse-Codebasis, die voraussichtlich in etwa einem Monat erfolgen wird. Anschließend ist es nicht mehr möglich, Widgets wieder zu aktivieren.

6 „Gefällt mir“

Der PR, der das Widget-System aus Discourse entfernt, wurde gestern zusammengeführt.

2 „Gefällt mir“