Was wäre, wenn Abzeichen die Gruppenmitgliedschaft optional synchronisieren könnten?

Ich habe mich heute mit diesem Thema beschäftigt:

Bei der Problemanalyse fällt auf, dass Discourse in einem Bereich etwas Schwächen zeigt: bei der Definition von „dynamischen" Benutzergruppen.

Gib mir eine Gruppe von Benutzern, die sich vor mehr als einem Monat angemeldet haben.

Gib mir eine Gruppe von Benutzern, die mindestens 10 Beiträge verfasst haben.

Und so weiter.

Abzeichen hingegen bieten eine sehr umfangreiche Unterstützung für diese „dynamische" Natur, sobald die erweiterte SQL-Funktion aktiviert ist.

Ein zusätzliches Kontrollkästchen bei Abzeichen, um ein Abzeichen mit einer Gruppe zu verknüpfen, würde die Möglichkeiten erheblich erweitern. Derzeit gibt es keine Möglichkeit, Berechtigungen für Abzeicheninhaber zu vergeben, da keine entsprechende Gruppe existiert. Nur die Vertrauensstufen-Abzeichen verfügen über dieses spezielle Verhalten (das wir auf dieses neue System übertragen könnten).

Mein Vorschlag lautet daher:

[ ]  Abzeichenmitglieder in einer Gruppe spiegeln

Sobald diese Option bei einem bestimmten Abzeichen aktiviert ist, wird entweder automatisch eine „Gruppe" erstellt oder eine bestehende Gruppe anhand des Namens gesucht. Die Mitglieder dieser Gruppe werden dann synchronisiert, sobald sich die Abzeichenmitgliedschaft ändert.

Was haltet ihr davon?

20 „Gefällt mir“

Because the group membership management UI is so rich these days, changes should at least attempt to flow in the opposite direction as well (e.g. approving a Request to Join turns into a badge grant from the group manager; which wouldn’t normally happen as they aren’t staff).

6 „Gefällt mir“

I feel like this has massive overlap with trust levels; it’s building a parallel system for.. well, I’m not sure why. In the quote you posted, that is literally the reason we have trust levels in the first place. So tying content unlock to

  • trust level 1 (a tiny bit of reading)
  • trust level 2 (a fair bit more reading)

should cover this scenario.

There are many many things I’d rather we work on than this.

I definitely do not see this as an urgent change, we lock out badge sql anyway out-of-the-box. However I do see this as something I would like to get to eventually.

It is a simple generalization of the “automatic group” system that now exists.

This does simplify workflows as well, you can grant a badge to a user and then you do not need to go to the group and also grant membership. For example: “Customer champion” badge that grants access to “champions” group and “champion discussion” category on the site. Having the bridge also means you only need to remove membership in 1 spot to have both badge and group change.

Nothing urgent to change here, its just that there are tons of parallels between groups and badges so having a bridge helps get automatic feature parity on both sides.

9 „Gefällt mir“

Prior requests:

I know that just tying this up to the a badge re-uses a bunch of code, and simplifies a lot, but ideally this would be an option in the Groups UI, to have an option query that returns the user_id of members.

When you tie this to SSO and custom user fields, you get a very powerful system, where you can manage groups using queries on those custom fields + all the info Discourse already have.

10 „Gefällt mir“

I have a client who wants just this. He wants to encourage people to fill in custom user fields after sign up and give them flair if they do it.

It’s easy enough to enable badge sql to find them a badge but we need to assign them to a group for flair.

How hard is a plugin to assign a user to a group of they have earned a badge?

5 „Gefällt mir“

Hast du das schon gelöst, @pfaffman? Ich untersuche gerade ein ähnliches Szenario.

1 „Gefällt mir“

Das habe ich nicht getan, aber ich denke, ich weiß jetzt, wie man ein solches Plugin entwickelt. Melde dich mit deinem Budget bei mir, und ich schaue, was ich für dich tun kann.

1 „Gefällt mir“

Ich habe dafür kein Budget. Ich denke, das ließe sich auch (weniger elegant) mit einem Integromat- oder Zapier-Skript umsetzen.

Nun, vielleicht kann ich dir genug Kaffee-Code geben, damit du ihn selbst anpassen kannst. Ich habe gerade ziemlich viel zu tun, aber ich schaue mal, was ich tun kann.

EDIT: Das wird wohl nicht so funktionieren, wie ich gedacht habe. Ich werde etwas Zeit brauchen, um herauszufinden, wie ich das angehen soll.

2 „Gefällt mir“

Ich interessiere mich sehr für dieses Thema. Ich möchte fragen, ob jemand ein entsprechendes Plugin entwickelt hat? Wenn nicht, werde ich eines entwickeln.

Der einfachste Weg, dies zu erreichen, wäre die Verwendung der Discourse-Automatisierung, ein spezielles benutzerdefiniertes Skript zum „Synchronisieren von Abzeichen mit Gruppen“, das relativ einfach zu erstellen sein sollte.

Oder Benutzer mithilfe von Berichten aus dem Discourse Data Explorer zu Gruppen hinzufügen?
Es wäre großartig, wenn dies möglich wäre.

Dies ist jetzt mit dem Automation-Plugin möglich: :tada:

2 „Gefällt mir“