Beim Erstellen einer Gruppe gibt es eine Einstellung für die automatische Mitgliedschaft basierend auf der E-Mail-Domain eines Benutzers. Ich würde diese Funktionalität jedoch basierend auf dem Wert eines benutzerdefinierten Feldes wünschen.
Anwendungsbeispiel
Ich habe eine Wohnungsgemeinschaft mit einem Dropdown-feld für den Eigentumsstatus (Eigentümer, Mieter). Ich möchte, dass alle Eigentümer automatisch einer Eigentümergruppe hinzugefügt werden und dass ich nur für bestimmte Nachrichten alle Eigentümer ansprechen kann.
Einschränkungen
Dies klingt für Dropdown- und Bestätigungsfelder unkompliziert, könnte aber bei Textfeldern kompliziert werden. Es wäre in Ordnung, dies nur für Dropdowns und Bestätigungen zu aktivieren; andernfalls ist eine exakte Textübereinstimmung für Textfelder ausreichend.
Since these are user settable custom fields, you can just make the groups open membership and tell people to add / remove themselves via the /groups page.
Not realistic for my use case. Hard to get a bunch of random homeowners, some very old, to bother going around tinkering with their settings. It was hard enough getting them to just register once to get the emails, and it’s hard to even get them to pay attention and do stuff even when there are financial penalties.
Für alle, die dies in Zukunft finden: Ich hatte einen ähnlichen Anwendungsfall (zwei getrennte Nutzergruppen – Personen, die Dienstleistungen anbieten, und Personen, die Dienstleistungen suchen), und habe dies schließlich über Webhooks und die Discourse-API umgesetzt.
Genauer gesagt habe ich…
einen Webhook erstellt, der bei Benutzerereignissen ausgelöst wird,
einen simplen Express.js-Server implementiert, um die Payload zu empfangen,
eine POST-Route für user_created-Ereignisse eingerichtet, die den Wert eines benutzerdefinierten Benutzerfelds prüft und dann die Discourse-API nutzt, um die Benutzergruppe entsprechend festzulegen.
Das wirkt vielleicht etwas umständlich, da ich Discourse verlasse, um etwas innerhalb von Discourse zu ändern. Aber ich habe das Forum nach Lösungen durchsucht und nichts gefunden, also habe ich mein Bestes gegeben! Ich hoffe, das hilft jemandem in der Zukunft. Falls jemand eine bessere Methode findet, würde ich mich sehr freuen, davon zu erfahren.
Ich plane, etwas sehr Ähnliches für die automatische Segmentierung von Benutzern in Gruppen basierend auf einem benutzerdefinierten Dropdown-Feld für Benutzerinformationen zu tun. Haben Sie das vielleicht open-source gemacht?
Mein Anwendungsfall ist mehr oder weniger derselbe; ich habe hier danach gefragt.
@li-zi Ich weiß, dass du das für deinen Fall bereits weitgehend gelöst hast, aber es scheint mir, als wäre eine weitere mögliche Lösung die Nutzung des Custom Wizard-Plugins.
Ich verwende es, um neue Benutzer nach der Anmeldung aufzufüllen, das Wizard auszufüllen.
Der Wizard enthält einige Felder mit Dropdown-Optionen.
Anschließend habe ich zwei separate Aktionen eingerichtet, die nach Absenden des Wizards ausgeführt werden:
eine, um die benutzerdefinierten Felder im Benutzerprofil mit dem aus dem Dropdown ausgewählten Wizard-Feld zu aktualisieren
eine weitere Aktion, um den Benutzer basierend auf der Auswahl im Wizard-Feld einer bestimmten Gruppe hinzuzufügen