Groupes d'utilisateurs anonymes

Mon forum va contenir de nombreux sujets privés verrouillés dans des catégories avec des groupes. Il s’agit d’un contexte de classe, où l’anonymat des publications est donc très important. Le problème est que les groupes ne sont pas transférés lorsqu’un utilisateur passe en mode anonyme (ce qui est logique).

Je n’ai jamais écrit de plugin auparavant, mais il semble que cela puisse être mieux réalisé avec un plugin. Lorsqu’un utilisateur active l’anonymat, un compte est créé et je lui attribue tous ses groupes actuels. Est-ce que cela fonctionnera ? J’utilise l’API pour attribuer et supprimer des groupes. Puis-je configurer un déclencheur pour appliquer également ces modifications à l’utilisateur anonyme ?

Y a-t-il d’autres implications que je n’aurais pas prises en compte ?

Il pourrait être possible de tester le concept en utilisant une requête Data Explorer qui renvoie une liste de noms d’utilisateurs anonymes associés aux vrais utilisateurs qui sont membres d’un groupe donné. Vous pourriez ensuite utiliser la fonctionnalité d’ajout en masse au groupe pour ajouter ces utilisateurs au groupe.

Voici une requête qui renverra les noms d’utilisateurs anonymes des vrais utilisateurs membres d’un groupe. Vous devez fournir la valeur du paramètre group_name avant d’exécuter la requête.

--[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

L’exécution de la requête renverra des résultats ressemblant à ceci si des membres du groupe ont activé le mode anonyme :

Si vous ne gérez pas un très grand nombre d’utilisateurs, vous pouvez simplement copier-coller les noms d’utilisateurs dans le formulaire d’ajout en masse du groupe :

Vous devez prendre en compte le paramètre du site anonymous account duration minutes. Il définit la durée pendant laquelle les comptes anonymes persistent après qu’un utilisateur a quitté le mode anonyme.

Une autre chose à considérer est que cela pourrait donner aux utilisateurs l’impression que les utilisateurs anonymes ne sont pas très anonymes. Il pourrait être utile d’informer les personnes que les administrateurs du site ont la possibilité d’associer les utilisateurs anonymes à leur compte non anonyme.

Notez que le mode anonyme n’est pas lié à ce qui se passe lorsque vous anonymisez un utilisateur depuis sa page d’administration. Dans ce cas, l’utilisateur est réellement anonyme et toutes les informations d’identification sont supprimées.

Je suis intéressé par ce que vous essayez d’accomplir, mais je ne connais aucun site utilisant le mode anonyme de manière similaire. Il pourrait être judicieux de tester cela avec un petit groupe d’utilisateurs et de voir comment cela se passe avant d’investir beaucoup d’efforts dans le développement d’un plugin.

3 « J'aime »

Merci pour ces détails !

Il s’agit d’un cadre de classe. Nous souhaitons que les élèves se sentent à l’aise pour intervenir sur n’importe quel sujet (c’est-à-dire poser des questions qu’ils pourraient juger stupides). Je suppose que l’anonymat fonctionne bien, comme pour les forums publics, mais la plupart de nos discussions seront limitées à des groupes spécifiques.

Nous avons donc retiré cela de nos objectifs à court terme.

Je ne veux pas avoir à faire cela à chaque fois. Si je devais automatiser cela, devrais-je écrire un plugin ? Puis-je avoir un déclencheur qui récupère les groupes d’un utilisateur et les attache à ses comptes anonymes au moment de leur création ? Je suppose que je n’ai pas à m’inquiéter de supprimer les groupes de ces anonymes, car les comptes sont supprimés après un certain temps.