# Vorhandene Benutzer zu einer Gruppe hinzufügen (und neue einladen)

**URL:** https://meta.discourse.org/t/adding-existing-and-inviting-new-users-to-a-group/161880
**Category:** Support
**Created:** [24. August 2020 um 06:27 UTC](https://meta.discourse.org/t/adding-existing-and-inviting-new-users-to-a-group/161880 "2020-08-24T06:27:28Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![BenLeong](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benleong/32/60951_2.png) [@BenLeong](https://meta.discourse.org/u/BenLeong)
#### Post date: [24. August 2020 um 06:27 UTC](https://meta.discourse.org/t/adding-existing-and-inviting-new-users-to-a-group/161880/1 "2020-08-24T06:27:29Z")

</div>

Ich habe einen spezifischen Anwendungsfall und möchte wissen, ob es eine einfachere Möglichkeit gibt, dies umzusetzen.

- Nicht alle unsere Benutzer (über unser SSO) haben aktive Forenkonten.
- Wir müssen regelmäßig Benutzer zu einer Forengruppe hinzufügen, um Zugang zu einem privaten Forum zu erhalten.
- Ob Benutzer aktive Forenkonten haben, ist vor dem Versuch, sie zur Gruppe hinzuzufügen, nicht bekannt.

_Beispiel:_  
Jeden Monat hat ein Mitarbeiter eine Liste mit über 100 Konten, die Zugang zum privaten Forum erhalten. Diese Konten haben SSO-Benutzernamen und E-Mail-Adressen, haben aber möglicherweise noch kein Forenkonto.

❓ Gibt es eine einfache Möglichkeit, Personen zur Gruppe hinzuzufügen, wenn sie bereits Forenkonten haben, und sie ins Forum einzuladen (wodurch sie automatisch zur Gruppe hinzugefügt werden), wenn sie keine haben?

Auf der Seite „Gruppen“ ermöglicht die Schaltfläche **Mitglieder hinzufügen** , eine durch Kommas getrennte Liste von Benutzernamen einzufügen. Wenn diese gültige Benutzernamen sind, werden sie zur Gruppe hinzugefügt. Wenn ein Benutzername ungültig ist (d. h. noch kein Forenkonto existiert), schlägt dies fehl und sie werden nicht hinzugefügt.

Abgesehen davon, dass man manuell die Liste der erfolgreich zur Gruppe hinzugefügten Benutzer durchgeht, identifiziert, welche Benutzernamen _nicht_ hinzugefügt wurden, und dann diesen Personen eine Forumseinladung sendet (z. B. [(Superseded) Multiple Use Invite Links](https://meta.discourse.org/t/multiple-use-invite-links/154325)) – gibt es eine einfache Möglichkeit, Einladungen und das Hinzufügen zur Gruppe für eine Mischung aus aktuellen und potenziellen Forennutzern zu kombinieren?

---

<div class="post-metadata">

### Author: ![BenLeong](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benleong/32/60951_2.png) [@BenLeong](https://meta.discourse.org/u/BenLeong)
#### Post date: [24. August 2020 um 06:33 UTC](https://meta.discourse.org/t/adding-existing-and-inviting-new-users-to-a-group/161880/2 "2020-08-24T06:33:30Z")

</div>

Idealerweise würde ich gerne eine einstufige Lösung dafür finden.

Eine mögliche (aber immer noch sehr umständliche!) mehrstufige Workaround-Lösung könnte wie folgt aussehen:

1. Liste der Namen in eine [Data Explorer](https://meta.discourse.org/t/32566?silent=true)-Abfrage eingeben, die Listen mit aktiven und inaktiven Benutzernamen zurückgibt
2. „Zur Gruppe hinzufügen

---

<div class="post-metadata">

### Author: ![IAmGav](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/iamgav/32/235598_2.png) [@IAmGav](https://meta.discourse.org/u/IAmGav)
#### Post date: [24. August 2020 um 13:07 UTC](https://meta.discourse.org/t/adding-existing-and-inviting-new-users-to-a-group/161880/3 "2020-08-24T13:07:34Z")

</div>

Sie können den [Data Explorer](https://meta.discourse.org/t/32566?silent=true) nicht verwenden. Es handelt sich um ein schreibgeschütztes Tool.

Etwas Ähnliches müsste neu erstellt werden.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [24. August 2020 um 16:40 UTC](https://meta.discourse.org/t/adding-existing-and-inviting-new-users-to-a-group/161880/4 "2020-08-24T16:40:23Z")

</div>

> [@BenLeong](#):
>
> - Nicht alle unsere Nutzer (über unser SSO) haben aktive Forumskonten
> - Wir müssen regelmäßig Nutzer zu einer Forumgruppe hinzufügen, um Zugriff auf ein privates Forum zu gewähren
> - Ob Nutzer aktive Forumskonten haben, ist nicht bekannt, bevor versucht wird, sie zur Gruppe hinzuzufügen

Haben Sie sich bereits damit beschäftigt, Nutzer über die SSO-Parameter `add_groups` und `remove_groups` zu Discourse-Gruppen hinzuzufügen? Für Nutzer, die auf Ihrer SSO-Provider-Seite existieren, können Sie Discourse-Konten für sie erstellen und sie durch einen API-Aufruf an die Route `sync_sso` zu Discourse-Gruppen hinzufügen. Einige Details zur Einrichtung finden Sie hier: [SSO-Nutzerdaten mit der Route sync\_sso synchronisieren](https://meta.discourse.org/t/sync-sso-user-data-with-the-sync-sso-route/84398). Falls dieser Ansatz für Sie in Frage kommt, können wir Ihnen gerne weitere Details zur Einrichtung geben.

---

<div class="post-metadata">

### Author: ![BenLeong](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benleong/32/60951_2.png) [@BenLeong](https://meta.discourse.org/u/BenLeong)
#### Post date: [26. August 2020 um 06:17 UTC](https://meta.discourse.org/t/adding-existing-and-inviting-new-users-to-a-group/161880/5 "2020-08-26T06:17:58Z")

</div>

Danke, Simon – das sieht vielversprechend aus.

Alle unsere Benutzer existieren auf der SSO-Seite (sie sind Verkäufer in unseren Marktplätzen), aber nur eine Teilmenge davon erstellt derzeit Discourse-Konten, um unsere Foren zu nutzen. Diese SSO deckt sowohl Kunden als auch Verkäufer ab: Wir möchten nicht automatisch Discourse-Konten für alle Kunden erstellen (es gibt viel zu viele!), aber dies für alle Verkäufer zu tun, würde die Sache drastisch vereinfachen.

In diesem Fall müssen wir den Zugriff auf private Forum-Gruppen nur bestimmten Verkäufern gewähren, wenn sie mit der Nutzung spezifischer Marktplätze oder Dienste beginnen.

Beispiel: Ein Verkäufer auf Marktplatz 1 hat ein SSO-Konto. Möglicherweise erstellt er in diesem Stadium ein Discourse-Konto, indem er sich in das Forum einloggt.

Später erhält dieser Verkäufer Zugriff auf Marktplatz 2, und sein SSO-Konto verzeichnet diese Änderung. Wir haben eine benutzerdefinierte Benutzergruppe (und eine private Forum-Kategorie) für diesen Marktplatz.

- Wenn er zu diesem Zeitpunkt bereits ein Discourse-Konto hat, müssen wir seine Gruppen aktualisieren, damit er den privaten Forum-Bereich sehen kann.
- Wenn er noch kein Discourse-Konto hat, möchten wir eines für ihn mit den entsprechenden Gruppen erstellen.

Das Team verwendet derzeit „zur Gruppe hinzufügen“ mit einer durch Kommas getrennten Liste von Benutzernamen. Wenn Benutzer bereits ein Discourse-Konto haben, erhalten sie Zugriff auf die Gruppe… wenn sie noch nicht im Forum sind, passiert nichts.

Um Benutzer zu erfassen, die seit dem letzten Mal, als eine Batch zu der Gruppe hinzugefügt wurde, ihre Discourse-Konten erstellt haben, fügt das Team normalerweise alle qualifizierenden Benutzernamen der letzten X Monate hinzu, wenn versucht wird, die Gruppenmitgliedschaft zu aktualisieren. Dies ist ein recht umständlicher Prozess.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [26. August 2020 um 17:48 UTC](https://meta.discourse.org/t/adding-existing-and-inviting-new-users-to-a-group/161880/6 "2020-08-26T17:48:57Z")

</div>

> [@BenLeong](#):
>
> Das Team verwendet derzeit die Funktion „Zur Gruppe hinzufügen“ mit einer durch Kommas getrennten Liste von Benutzernamen. Wenn Benutzer bereits ein Discourse-Konto haben, erhalten sie Zugang zur Gruppe. Wenn sie noch nicht im Forum angemeldet sind, passiert nichts.

Wenn Sie einen API-Aufruf an die Route `sync_sso` senden, der den SSO-Parameter `add_groups` enthält, werden bestehende Benutzer zur Gruppe hinzugefügt. Hat der Benutzer noch kein Discourse-Konto, wird ein Konto für ihn erstellt und er wird der Gruppe hinzugefügt. Sie können den SSO-Parameter `remove_groups` auf ähnliche Weise verwenden, um Benutzer aus Gruppen zu entfernen. Ein weiterer Vorteil der Nutzung der Route `sync_sso` für diesen Zweck ist, dass der Benutzer sich nicht ab- und wieder bei Discourse anmelden muss, damit die Änderung wirksam wird.

Falls es für Ihr Team hilfreich wäre, ein Beispiel für PHP/WordPress-Code zu sehen, finden Sie die Implementierung hier: [https://github.com/discourse/wp-discourse/blob/master/lib/utilities.php#L378](https://github.com/discourse/wp-discourse/blob/master/lib/utilities.php#L378). Die verlinkte Datei enthält einige Hilfsfunktionen, die Websites nutzen können, um das [WP Discourse](https://github.com/discourse/wp-discourse)-Plugin zu erweitern. Daher werden dort statische Funktionen verwendet.

---

<div class="post-metadata">

### Author: ![BenLeong](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benleong/32/60951_2.png) [@BenLeong](https://meta.discourse.org/u/BenLeong)
#### Post date: [27. August 2020 um 01:55 UTC](https://meta.discourse.org/t/adding-existing-and-inviting-new-users-to-a-group/161880/7 "2020-08-27T01:55:12Z")

</div>

Danke, Simon! Das klingt ideal – viel besser als unsere aktuelle Methode 🙂

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [26. September 2020 um 02:04 UTC](https://meta.discourse.org/t/adding-existing-and-inviting-new-users-to-a-group/161880/8 "2020-09-26T02:04:26Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
