Möglicherweise wurde dies durch das kürzliche Discourse-Update (derzeit Version 2.5.0.beta2) beeinflusst.
Ich habe ein Multiselect-Dropdown-Feld, das zuvor eingerichtet und funktionsfähig war und nach der Registrierung usw. als bearbeitbar festgelegt wurde.
Bei bestehenden Nutzern werden zwar die Inhalte dieses Felds auf ihrer Benutzerprofilseite angezeigt, aber das Feld wird nicht zusammen mit den anderen bearbeitbaren benutzerdefinierten Benutzerfeldern auf ihrer Benutzerpräferenzseite aufgeführt.
Mit anderen Worten: Es gibt keine Möglichkeit mehr, dass ein Nutzer oder Administrator Änderungen vornimmt.
Außerdem sind bei neuen Nutzern, die sich registrieren, obwohl das Multiselect-Feld sichtbar ist, keine der Dropdown-Optionen verfügbar/angezeigt (man sieht nur ein schmales, leeres blaues Rechteck). Da dieses Feld als Pflichtfeld festgelegt ist, kann die Registrierung nicht fortgesetzt werden.
Ist dies ein bekanntes Problem? Und wurde bestätigt, dass ein Discourse-Update die Ursache ist? Ist bekannt, welche Discourse-Version am neuesten kompatibel ist – und gibt es eine sinnvolle Möglichkeit, darauf zurückzukehren?
Ich habe einen Bericht auf GitHub veröffentlicht, sehe aber, dass das Plugin seit einigen Jahren keine Entwicklungsaktivität mehr verzeichnet, sodass ich nicht optimistisch bin, dass von dort eine Lösung kommen wird. Gibt es andere (funktionierende) Möglichkeiten, ein Multiselect-Dropdown für Benutzerfelder in Discourse zu realisieren?
Zur Info: In den letzten Monaten gab es ein großes Upgrade des Select Kit im Core auf Version 2. Dies hat eine Reihe von Plugins und speziell diese Art von Steuerelementen betroffen. Wenn dieses Plugin seitdem nicht mehr gewartet wurde, funktioniert es möglicherweise tatsächlich nicht.
Ich schlage vor, dass du den Entwickler hier anschreibst oder im zugehörigen Meta-Thema postest, falls es eines gibt? Falls sie nicht antworten und es dir wichtig genug ist, poste im Marketplace, damit ein Freelancer es übernehmen kann?
Danke – ich habe die einzige Person hier, die einen ähnlichen Benutzernamen wie auf GitHub hat, bereits angeschrieben – ich hoffe, es ist dieselbe Person!
Ist es wahrscheinlich, dass diese Änderungen am Kern eine erhebliche Überarbeitung von Plugins wie diesem erforderlich machen?
Ich frage mich, warum die Mehrfachauswahl nicht bereits Teil der Kernfunktionalität ist.
Danke, Robert. Sehr zum Glück hat @j.jaffeux gerade angekündigt, dass er bereit ist, das Plugin zu reparieren – was für eine fantastische Community das ist!
Hallo, vielen Dank an euch beide für die großartige Resonanz!
Ich habe sowohl das Plugin als auch Discourse auf die neuesten Änderungen aktualisiert, aber das Problem, dass das Dropdown-Feld auf der Benutzerprofilseite fehlt, besteht für mich weiterhin.
Ein möglicherweise verwandtes Problem ist, dass ich in allen Fällen zweimal auf den Link „Benutzerprofil
Im Video hebe ich das Mehrfachauswahl-Feld hervor, wie es auf der Benutzerpräferenzen-Seite angezeigt wird. Wie Sie jedoch sehen können, erscheint dieses Feld nicht, obwohl ich zweimal auf ‘Profil’ geklickt habe, sodass es weiterhin nicht bearbeitbar ist.
Ein weiteres Problem, das Ihnen möglicherweise auf der Benutzerpräferenzen-Seite auffällt, ist, dass bei mehreren für den Benutzer geltenden Optionen keine Kommas zwischen den Mehrfachauswahl-Elementen angezeigt werden.
Das Konsolenfenster zeigt beim ersten Klicken auf ‘Profil’ die folgende Meldung:
VM173:1 Uncaught SyntaxError: Unexpected token N in JSON at position 0
at JSON.parse (<anonymous>)
at t.init_values (_discourse-multiselect-user-field-307aa8bb3934aada9a7d682455decf422704c235754739f0d5e4b19e3e909690.js:63)
at D (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25381)
at p (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:41427)
at Function.e.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:42006)
at e.t.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:11490)
at t.n.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:18623)
at Object.evaluate (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60870)
at e.t.evaluate (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:59374)
at e.t.evaluateSyscall (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62789)
init_values @ _discourse-multiselect-user-field-307aa8bb3934aada9a7d682455decf422704c235754739f0d5e4b19e3e909690.js:63
D @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25381
p @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:41427
e.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:42006
t.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:11490
n.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:18623
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60870
t.evaluate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:59374
t.evaluateSyscall @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62789
t.evaluateInner @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62735
t.evaluateOuter @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62727
e.next @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:64859
e.execute @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:64843
t.handleException @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63724
t.handleException @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63904
t.throw @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63622
r.evaluate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60213
t.execute @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63609
t.rerender @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63936
h.render @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19079
V @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25920
t._renderRoots @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19372
t._renderRootsTransaction @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19410
t._revalidate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19456
t.invoke @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66276
t.flush @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66168
t.flush @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66372
t._end @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66948
t.end @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66634
t._run @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:67003
t._join @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66977
t.join @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66694
f @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:53486
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45901
r @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:49817
handleEvent @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45897
handleEvent @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:44834
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45224
dispatch @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:5251
v.handle @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:5058
Show 10 more frames
Beim erneuten Klicken auf ‘Profil’ scheint sich die Fehlermeldung in der Konsole nicht zu ändern.
Kann ich eine Videoaufnahme senden, falls das hilft?
Gibt es eine Möglichkeit, Kommas zwischen den aufgeführten Optionen einzufügen? Derzeit werden bei mehreren zutreffenden Optionen, die ohne Trennzeichen aufgeführt werden, diese so gelesen, als handele es sich um eine einzige lange Optionszeichenkette.
Ich bin mir nicht sicher, wie es dazu kam, dass dein Setting in diesem Zustand ist, aber irgendwie ist der Wert falsch. Ich habe einen PR für das Plugin erstellt, um die Parsing-Funktion robuster zu gestalten und bei einem Fehler, falls der Wert aus irgendeinem Grund nicht JSON-konform ist, auf einen Standardwert zurückzufallen.
Das Update wurde von meiner Discourse-Installation bisher nicht erkannt.
Nach dem oben Gelesenen klingt es, als ob ein ‘Merge’-Prozess erforderlich ist?
Ist das etwas, das ich versuchen könnte, ohne für alle Chaos zu verursachen?
Gibt es eine Möglichkeit, das Plugin vorläufig manuell zu aktualisieren? Und wenn ja, kann Discourse dann weiterhin weitere Updates verwalten?