Gruppi di utenti anonimi

Il mio forum avrà molti argomenti privati bloccati sotto categorie con gruppi. È un contesto scolastico, quindi la pubblicazione anonima è piuttosto importante. Il problema è che i gruppi non vengono trasferiti quando un utente passa all’anonimato (come ci si può aspettare).

Non ho mai scritto un plugin prima d’ora, ma sembra che la soluzione migliore sia proprio un plugin. Quando un utente attiva l’anonimato, viene creato un account e assegno tutti i suoi gruppi attuali all’utente anonimo. Funzionerà? Utilizzo l’API per assegnare e rimuovere i gruppi. Posso impostare un trigger per applicare queste modifiche anche all’utente anonimo?

Ci sono altre implicazioni che non sto considerando?

Potrebbe essere possibile testare il concetto utilizzando una query di Data Explorer che restituisce un elenco di nomi utente anonimi associati agli utenti reali che sono membri di un determinato gruppo. Potresti quindi utilizzare la funzionalità “Aggiungi in blocco al gruppo” per aggiungere gli utenti al gruppo.

Ecco una query che restituirà i nomi utente anonimi degli utenti reali che sono membri di un gruppo. Devi fornire il valore del parametro group_name prima di eseguire la query.

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

Eseguendo la query, se ci sono membri del gruppo in modalità anonima, otterrai risultati simili a questi:

Se non stai gestendo un numero enorme di utenti, puoi semplicemente copiare e incollare i nomi utente nel modulo “Aggiungi in blocco” del gruppo:

Devi essere consapevole dell’impostazione del sito anonymous account duration minutes. Questa imposta la durata di tempo per cui gli account anonimi rimangono attivi dopo che un utente ha disattivato la modalità anonima.

Un’altra cosa da considerare è che ciò potrebbe dare agli utenti l’impressione che gli utenti anonimi non siano molto anonimi. Potrebbe valere la pena informare le persone che gli amministratori del sito hanno la possibilità di associare gli utenti anonimi ai loro account non anonimi.

Tieni presente che la modalità anonima non è correlata a quanto accade quando si rende anonimo un utente dalla sua pagina di amministrazione. In quel caso, l’utente è davvero anonimo e tutti i dettagli identificativi vengono rimossi.

Sono interessato a sapere cosa stai cercando di realizzare, ma non sono a conoscenza di siti che utilizzano la modalità anonima in modo simile. Potrebbe essere una buona idea testare questa soluzione con un piccolo gruppo di utenti e vedere come va prima di dedicare molte energie allo sviluppo di un plugin.

Grazie per i dettagli!

È un contesto di classe. Vogliamo che gli studenti si sentano a loro agio nell’intervenire con qualsiasi cosa (ad esempio, domande che potrebbero pensare siano stupide). Immagino che l’anonimato funzioni bene nei forum pubblici, ma la maggior parte delle nostre discussioni sarà limitata a gruppi specifici.

Abbiamo rimosso questa richiesta dagli obiettivi a breve termine che vogliamo raggiungere.

Non voglio qualcosa che dobbiamo fare ogni volta. Se dovessi automatizzare questo processo, dovrei scrivere un plugin? Posso avere un trigger che estrae i gruppi di un utente e li associa ai loro account anonimi man mano che vengono creati? Immagino che non debba preoccuparmi di rimuovere i gruppi da questi account anonimi, dato che gli account vengono cancellati dopo un po’ di tempo.