Nicht in der Lage, von Plugins vorgenommene Kategorieneinstellungen zu speichern

Fortsetzung der Diskussion aus Custom Wizard Plugin :mage::

Ich habe das gleiche Problem, und es tritt bei weiteren Plugins auf, wie z. B. bei Locations und Private Topics. Die Meldung „Sie haben ungespeicherte Änderungen“ mit der Option zum Speichern erscheint einfach nicht. Selbst wenn ich etwas anderes ändere, werden die Einstellungen nicht gespeichert.

Vielleicht gehört dies in Development, da die offiziellen Plugins davon nicht betroffen zu sein scheinen, aber andererseits trat dieser Fehler nach einem Discourse-Update auf. Dies betrifft auch zwei offizielle Plugins (calendar und restricted replies).

5 „Gefällt mir“

Ja, dies ist ein spezifisches Problem mit FormKit, wenn enable_simplified_category_creation aktiviert ist. Plugins müssen migriert werden, um FormKit und die neue Datenstruktur zu verwenden.

Ein funktionierendes Beispiel hierfür finden Sie in einem unserer Kern-Plugins, das hier migriert wurde:

Sie können sehen, wie die Formularstruktur mit {{#if this.siteSettings.enable_simplified_category_creation}} verzweigt und wie das Formular mit FormKit und Daten aus @outletArgs.form aufgebaut ist. Die alte Formularstruktur befindet sich nach {{else}} weiterhin für die Unterstützung älterer Versionen.

2 „Gefällt mir“

Danke für die Erklärung, Kris.

Normalerweise bin ich ziemlich entspannt, wenn es darum geht, Plugins aufgrund von Änderungen im Kern zu aktualisieren, und ich bin zufrieden mit der Art und Weise, wie Entwickler angeleitet werden. Ich finde jedoch, dass das Discourse-Team hier wirklich versagt hat.

  • Es gab keine Ankündigung (zumindest habe ich keine finden können, und @moin hat mich darauf noch nicht hingewiesen :wink: )
  • Es wurde kein Versuch unternommen, dies durch einen allgemeinen Code im Kern abzumildern
  • Es gibt nicht einmal eine Warnung in der Browser-Entwicklerkonsole

Die Dinge haben einfach aufgehört zu funktionieren.

Ein kurzer Überblick, wahrscheinlich noch nicht vollständig, zeigt, dass mindestens folgende Plugins betroffen sind:

  • Discourse
    • calendar :white_check_mark: <– offizielles Discourse-Plugin
    • restricted replies :white_check_mark: <– offizielles Discourse-Plugin
  • (Mitglieder von) Pavilion
    • category lockdown
    • custom wizard
    • locations
    • chatbot
  • Communiteq
    • private replies
    • private topics
    • category restrictor
    • always anonymous
    • mindestens 10 private Plugins
5 „Gefällt mir“

Richtig! Wir hätten vor dieser Änderung warnen sollen, während sie durch unsere Funktion „Anstehende Änderungen

4 „Gefällt mir“

Wir hatten sowohl Simplified category setup als auch die bevorstehende Änderung in der Admin-Oberfläche (und wahrscheinlich auch einen Eintrag in „Was gibt’s Neues"):

Sie sollten Benachrichtigungen über diese Änderung erhalten haben, sowohl als sie auf Ihrer Seite erschien, als auch als sie automatisch aktiviert wurde – was wahrscheinlich erst diese Woche geschah, als die Änderung in den stabilen Status überführt wurde.

Wie Kris bereits sagte, ist die Milderung die bevorstehende Änderung im Kern, die Ihnen Zeit zur Migration gibt:

Was hätte Ihnen in diesem Fall noch helfen können? Wir könnten im verlinkten Thema zur bevorstehenden Änderung zusätzliche Details hinzufügen, die erklären, was Entwickler tun müssen, um sich vorzubereiten.

Was Entwickler-Warnungen betrifft, kann ich mich mit dem #dev-xp-Team abstimmen, um zu sehen, ob wir beim nächsten Mal etwas Besseres tun können.


Wir werden diese heute beheben. Offenbar hatten wir hier keine ausreichende Testabdeckung, denn nichts von diesen Plugins fiel bei meinem DEV: Move enable_simplified_category_creation to stable by martin-brennan · Pull Request #39212 · discourse/discourse · GitHub fehl, wohl aber andere Plugins:

2 „Gefällt mir“

Beide sind jetzt von @awesomerobot mit zusätzlicher Spezifikationsabdeckung zusammengeführt worden:

4 „Gefällt mir“

Ja, das habe ich am 3. Februar.

Aber zu diesem Zeitpunkt war die Änderung mit dem schwebenden Speichern-Button noch nicht umgesetzt (das war Ende Februar, glaube ich). Es gab in diesem Thema oder anderswo kein zusätzliches Update, das diese Änderungen widerspiegelte.

Eines davon:

  • eine rechtzeitige technische Ankündigung, die speziell an Plugin-Entwickler gerichtet ist
  • ein vorübergehender automatischer Fallback auf die alte Logik (wie es bei der Themenliste geschehen ist: Immer wenn es Legacy-Plugin-Code gab, wurde automatisch darauf zurückgegriffen).
  • vorübergehender Fallback-Code, der die Legacy-Funktionalität funktionsfähig hält (erkennt Eingaben außerhalb von Formularen und fügt sie in die Einstellungen ein, die gespeichert werden müssen). Das hätte euch auch die Mühe mit all diesen {{#if this.siteSettings.enable_simplified_category_creation}}-Zweigen erspart.
  • Warnungen in der Browser-Entwicklungskonsolen, wenn Legacy-Code erkannt wird
  • ein statischer Scan bekannter Plugins, wie ich es gestern gemacht habe (hatte mich 10 Minuten gekostet und ich habe sogar einige offizielle Plugins gefunden, die übersehen wurden :wink: )

Das wäre sehr zu begrüßen!

4 „Gefällt mir“