Mi foro tendrá muchos temas privados bloqueados bajo categorías con grupos. Es un entorno de aula, por lo que publicar de forma anónima es bastante importante. El problema es que los grupos no se transfieren cuando un usuario cambia a anónimo (como era de esperar).
Nunca había escrito un complemento antes, pero parece que esto se puede hacer mejor con uno. Cuando un usuario activa el modo anónimo, se crea una cuenta; asigno todos sus grupos actuales al usuario anónimo. ¿Funcionará esto? Uso la API para asignar y eliminar grupos. ¿Puedo tener un disparador para aplicar también estos cambios al usuario anónimo?
Podría ser posible probar el concepto utilizando una consulta de Data Explorer que devuelva una lista de nombres de usuario anónimos asociados a los usuarios reales que son miembros de un grupo determinado. Luego, podrías usar la funcionalidad de «Agregar en masa al grupo» para añadir los usuarios al grupo.
Aquí tienes una consulta que devolverá los nombres de usuario anónimos de los usuarios reales que son miembros de un grupo. Debes proporcionar el valor del parámetro group_name antes de ejecutar la consulta.
--[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
Al ejecutar la consulta, los resultados se verán algo así si algún miembro del grupo ha activado el modo anónimo:
Si no estás manejando una cantidad enorme de usuarios, simplemente puedes copiar y pegar los nombres de usuario en el formulario de «Agregar en masa» del grupo:
Debes tener en cuenta la configuración del sitio anonymous account duration minutes. Esta define el tiempo que persistirán las cuentas anónimas después de que un usuario haya salido del modo anónimo.
Otro aspecto a considerar es que esto podría dar a los usuarios la impresión de que los usuarios anónimos no son tan anónimos. Podría ser útil informar a las personas de que los administradores del sitio tienen la capacidad de asociar usuarios anónimos con sus cuentas no anónimas.
Ten en cuenta que el modo anónimo no está relacionado con lo que sucede cuando se anonimiza a un usuario desde su página de administración. En ese caso, el usuario es realmente anónimo y se eliminan todos los detalles identificativos.
Me interesa saber qué estás intentando lograr, pero no conozco ningún sitio que utilice el modo anónimo de manera similar. Podría ser una buena idea probarlo con un pequeño grupo de usuarios y ver cómo funciona antes de invertir mucho esfuerzo en desarrollar un plugin.
Es un entorno de aula. Queremos que los estudiantes se sientan cómodos para intervenir con cualquier cosa (es decir, preguntas que puedan considerar tontas). Supongo que el anonimato funciona bien, ya que es común en foros públicos, pero la mayoría de nuestras discusiones se limitarán a grupos específicos.
Hemos retirado esto de los objetivos a corto plazo que queremos lograr.
No quiero algo que tengamos que hacer cada vez. Si fuera a automatizar esto, ¿estaría escribiendo un plugin? ¿Puedo tener un disparador que obtenga los grupos de un usuario y los asocie a sus cuentas anónimas a medida que se crean? Supongo que no necesito preocuparme por eliminar los grupos de estos anónimos, ya que las cuentas se eliminan después de un tiempo.