Was wäre der einfachste Weg, dies zu bewerkstelligen?
Ein externes Skript, das nachts läuft und die Discourse-API verwendet?
Oder gibt es bereits ein entsprechendes Plugin?
Vielen Dank.
Was wäre der einfachste Weg, dies zu bewerkstelligen?
Ein externes Skript, das nachts läuft und die Discourse-API verwendet?
Oder gibt es bereits ein entsprechendes Plugin?
Vielen Dank.
Sie beschreiben wahrscheinlich die schlechteste Lösung für Ihr Problem. Können Sie einen Schritt zurücktreten und das Problem definieren?
Was verwaltet die Liste? DiscourseConnect – Offizielles Single-Sign-On für Discourse (sso) ist eine wahrscheinliche Lösung, obwohl es auch andere geben könnte.
Ich liebe die Direktheit von Computerleuten ![]()
Ich habe überlegt, Mirroring a read-only mailing list in Discourse mit einer privaten Mailingliste und daher einer privaten Discourse-Kategorie auszuprobieren.
Was wäre der beste Weg? Oder zumindest ein etwas besserer Weg? Wenn die Leute auf der Liste die private Kategorie des Forums bevorzugen, ist das ein Gewinn für Discourse.
Wenn Sie diese Benutzer nicht in einer externen Anwendung verwalten, könnten Sie etwas wie Folgendes tun:
def load_csv(path)
CSV.parse(File.read(path), headers: true)
end
def update_group
g=Group.find(43) #welche Gruppen-ID Sie auch wollen
GroupUser.where(group_id: g.id).destroy_all
user_emails=load_csv('/path/to/file')
user_emails.each do |u|
user = User.find_by_email(u['Email'])
next unless user
puts "Benutzer #{uid} gefunden"
GroupUser.find_or_create_by(group_id: g.id, user_id: user.id)
end
end
Wie das genau funktioniert, ist eine ganz andere Frage. Vielleicht ein Plugin.
Vielleicht ein Plugin, das einen Benutzer automatisch zur Gruppe hinzufügt, wenn er in einer Kategorie postet?
Danke dafür.
Die Kategorie wäre nur für Mitglieder der Gruppe sichtbar, sodass wir hier in ein Henne-Ei-Problem geraten würden!
Ich bin mit PHP recht vertraut und denke, ich könnte ein Skript schreiben, das die E-Mail-Adressen aus Mailman 2 extrahiert (dafür gibt es ein Python-Skript) und sie mit der Discourse-Benutzerliste abgleicht, um Discourse-Benutzer je nach Bedarf zur entsprechenden Gruppe hinzuzufügen oder daraus zu entfernen. Ich weiß, du hast gesagt, dass dies „wahrscheinlich die schlechteste Lösung“ ist…
Ich habe das Mailinglisten-Spiegelungssystem noch nicht einmal eingerichtet, daher sind das bisher nur Ideen.
Ja, aber ich dachte, dass du die Daten auf andere Weise in die Liste importieren würdest.
Du könntest die Gruppe auch so einstellen, dass sie Anfragen zulässt, und Discourse würde das übernehmen.
Ich hasse PHP, also klingt deine Lösung immer schlimmer! ![]()
Aber die Discourse-API ist ziemlich einfach zu verstehen, also denke ich, dass deine Lösung für dich die richtige ist!
Wenn Mailman Hooks hat, könntest du es so einrichten, dass es API-Aufrufe tätigt, wenn es die Abonnementliste aktualisiert.
Es gibt eine Kategorieeinstellung mit einer Bezeichnung wie „… spiegelt eine Liste wider“, die ebenfalls hilfreich sein könnte.