Ich habe kürzlich die Seiteneinstellung für die Gruppe(n) geändert, die Discourse Assign verwenden dürfen. Beim Klicken auf die Schaltfläche „Aktualisieren
Ist das discourse-assign-Plugin in deiner Instanz aktuell? Oder hast du das Plugin vor einiger Zeit geforkt? Im Juli gab es eine Änderung im discourse-assign-Plugin, die für die von dir beobachteten Fehler relevant zu sein scheint.
Hallo Penar, ich bin mir ziemlich sicher, dass es auf dem neuesten Stand war. Ich aktualisiere regelmäßig alles, einschließlich der Plugins.
Ich denke, ich werde wiederherstellen müssen. Das letzte Backup wurde erstellt, bevor ich diese Seiteneinstellung geändert habe.
Hallo @jerry0,
Laut den Logs scheint das Plugin auf dem neuesten Stand zu sein. Welche Discourse-Version verwendest du?
aktuell, derzeit 2.4.0.beta4
Hmm, verstehe. Hast du die Einstellung vor oder nach dem Update auf beta4 geändert?
Es sieht so aus, als wäre unsere automatische Migration fehlgeschlagen und deine Einstellung nicht aktualisiert worden. Ich werde untersuchen, warum das passiert ist. Hast du den Server neu gestartet, bevor du das Plugin aktiviert hast, falls der alte Wert möglicherweise zwischengespeichert war? Lass es mich wissen, falls das nicht funktioniert, und ich stelle dir ein Ruby-Skript zur Verfügung, um das Problem manuell zu beheben.
Danke @Roman
Es ist passiert, bevor ich aktualisiert habe. Etwas Seltsames ist passiert, als ich die neue Einstellung hinzugefügt habe; ich glaube, ich habe auf das grüne Häkchen geklickt, bevor ich den neuen Gruppennamen „hinzugefügt
Wenn es dir nichts ausmacht, möchte ich vor dem manuellen Ändern der Einstellung noch eine Sache überprüfen.
Kannst du diesen Code in einer Rails-Konsole ausführen und mir die Ausgabe mitteilen?
DB.query_single(<<~SQL
SELECT site_settings.value FROM site_settings WHERE site_settings.name = 'assign_allowed_on_groups'
SQL
).first.to_s.split('|')
Dies sollte uns zeigen, ob wir bei der Migration des Einstellungs-Werts einen Fehler gemacht haben.
So erhältst du Zugriff auf eine Konsole:
cdin deinen Discourse-Ordner- Betrete den Container mit
./launcher enter app - Öffne eine Rails-Konsole mit
rails c
Die Antwort lautet
=> [“patently-staff”]
Danke, Jerry.
Hier läuft definitiv etwas falsch. Ich werde mir das ansehen und herausfinden, warum das passiert.
Hier ist das Skript:
group_id = Group.where(name: 'patently-staff').pluck(:id).join('|')
DB.exec("UPDATE site_settings SET value='#{group_id}' WHERE site_settings.name = 'assign_allowed_on_groups'")
Nach der Ausführung solltest du das Plugin erneut aktivieren können.
Perfekt, das hat funktioniert
Danke @Roman. Lass mich wissen, falls ich noch etwas zur weiteren Unterstützung beitragen kann.
Hallo Roman,
wir haben ein ähnliches Problem mit dem discourse-assign-Plugin auf unserer Seite nach dem Upgrade auf 2.4.0beta4.
Das Problem tritt nur bei Benutzern auf, die sich per LDAP anmelden. (Wir verwenden “GitHub - jonmbake/discourse-ldap-auth: Discourse plugin to enable LDAP/Active Directory authentication. · GitHub” für die LDAP-Verbindung.)
Die Antwort auf die DB.query ist:
=> [“staff”]
aber “Group.where(name: ‘staff’).pluck(:id).join(‘|’)” gibt “” zurück.
Übrigens: In Version “2.4.0.beta1 +203” sind die Antworten ähnlich, aber die Anmeldung per LDAP ist möglich. (LDAP-Version 0.4.0, assign-Version 0.1)
Jede Hilfe ist willkommen,
Vielen Dank,
Frank
Hallo @diwr,
Laut dieser Abfrage hast du keine Gruppe namens staff. Vielleicht hast du sie umbenannt?
Du kannst das überprüfen, indem du folgenden Befehl ausführst: Group.where(id: 3).pluck(:name)
Ich denke, die Migration wird nicht funktionieren, wenn die Gruppe staff umbenannt wurde. Ich werde mir das heute ansehen.
Danke @Roman
Es scheint, dass es in „Team
Sie können das Skript mit “team” als Gruppennamen ausführen.
@Roman
Vielen Dank.
Ich musste nach dem Setzen des Werts “./launcher rebuild app” ausführen, aber dann hat es funktioniert.