Anonyme Benutzergruppen

Mein Forum wird viele private Themen haben, die unter Kategorien mit Gruppen gesperrt sind. Es handelt sich um einen Klassenraum, daher ist anonymes Posten ziemlich wichtig. Das Problem ist, dass Gruppen nicht übernommen werden, wenn ein Benutzer auf anonym wechselt (wie zu erwarten ist).

Ich habe noch nie ein Plugin geschrieben, aber es scheint, dass dies am besten mit einem Plugin gelöst werden kann. Wenn ein Benutzer anonym schaltet, wird ein Konto erstellt, und ich weise alle seine aktuellen Gruppen dem anonymen Benutzer zu. Wird das funktionieren? Ich verwende die API, um Gruppen zuzuweisen und zu entfernen. Kann ich einen Trigger einrichten, der diese Änderungen auch auf den anonymen Benutzer anwendet?

Gibt es weitere Auswirkungen, die ich übersehe?

Es könnte möglich sein, das Konzept zu testen, indem man eine Data Explorer-Abfrage verwendet, die eine Liste der anonymen Benutzernamen zurückgibt, die mit den echten Benutzern verknüpft sind, die Mitglieder einer bestimmten Gruppe sind. Anschließend können Sie die Funktion „Gruppenmitgliedschaft im Bulk hinzufügen“ verwenden, um die Benutzer zur Gruppe hinzuzufügen.

Hier ist eine Abfrage, die die anonymen Benutzernamen der echten Benutzer zurückgibt, die Mitglieder einer Gruppe sind. Sie müssen den Wert des Parameters group_name angeben, bevor Sie die Abfrage ausführen.

--[params]
-- string :group_name

WITH target_users AS (
SELECT
user_id AS master_user_id
FROM group_users gu
JOIN groups g
ON g.id = gu.group_id
WHERE g.name = :group_name
)

SELECT
u.username
FROM target_users tu
JOIN anonymous_users au
ON au.master_user_id = tu.master_user_id
JOIN users u
ON u.id = au.user_id

Die Ausführung der Abfrage liefert Ergebnisse, die etwa so aussehen, wenn Mitglieder der Gruppe den anonymen Modus aktiviert haben:

Wenn Sie nicht mit einer riesigen Anzahl von Benutzern arbeiten, können Sie die Benutzernamen einfach kopieren und in das Formular „Gruppenmitgliedschaft im Bulk hinzufügen“ der Gruppe einfügen:

Sie müssen sich der Site-Einstellung „Dauer anonymen Kontos in Minuten“ bewusst sein. Sie legt die Zeitspanne fest, für die anonyme Konten bestehen bleiben, nachdem ein Benutzer den anonymen Modus verlassen hat.

Ein weiterer Aspekt, der zu berücksichtigen ist, besteht darin, dass dies bei Benutzern den Eindruck erwecken könnte, dass anonyme Benutzer nicht wirklich anonym sind. Es könnte sich lohnen, die Benutzer darauf hinzuweisen, dass Administratoren auf der Site die Möglichkeit haben, anonyme Benutzer ihren nicht-anonymen Konten zuzuordnen.

Beachten Sie, dass der anonyme Modus nichts mit dem Vorgang zu tun hat, wenn Sie einen Benutzer über seine Admin-Seite anonymisieren. In diesem Fall ist der Benutzer wirklich anonym, und alle identifizierenden Details werden entfernt.

Ich bin daran interessiert, was Sie erreichen möchten, aber mir ist keine einzige Site bekannt, die den anonymen Modus auf ähnliche Weise nutzt. Es könnte eine gute Idee sein, dies zunächst mit einer kleinen Benutzergruppe zu testen und zu sehen, wie es läuft, bevor Sie viel Aufwand in die Entwicklung eines Plugins stecken.

Vielen Dank für die Details!

Es handelt sich um ein Klassenzimmer. Wir möchten, dass sich die Schüler wohlfühlen und sich mit allem melden (z. B. mit Fragen, die sie für dumm halten). Ich vermute, dass Anonymität gut funktioniert, wie es bei öffentlichen Foren der Fall ist, aber die meisten unserer Diskussionen werden auf bestimmte Gruppen beschränkt sein.

Wir haben dies von den kurzfristigen Zielen gestrichen, die wir erreichen möchten.

Ich möchte nichts, das wir jedes Mal durchführen müssen. Wenn ich dies automatisieren würde, müsste ich dann ein Plugin schreiben? Kann ich einen Trigger einrichten, der die Gruppen eines Benutzers abruft und sie seinen anonymen Konten hinzufügt, sobald diese erstellt werden? Ich vermute, ich muss mir keine Gedanken darüber machen, die Gruppen von diesen Anonymen zu entfernen, da die Konten nach einer gewissen Zeit gelöscht werden.