Otra idea
Imagen 1
Imagen 2
Caso 1:
- Existe un botón de reporte para cualquier usuario en la comunidad, esto hace que el sistema sea más autónomo.
- Al hacer clic en reportar al usuario, aparece una ventana modal donde se puede elegir la opción de reporte.
- Cuando esto sucede, el usuario reportado recibe un mensaje.
- Y el reporte es visto por el moderador o administrador.
- Si el usuario no responde a este mensaje de denuncia, intentando decir que “es falso” o “no procede”, como sucede en YouTube, el proceso se realiza y finaliza.
- Se añade el evento: Bloqueo de Niveles de Confianza.
- Si esto vuelve a suceder, se añade el evento: Usuario Silenciado.
- Si esto vuelve a suceder, se añade el evento: Usuario Suspendido.
Notas
- El administrador o moderador verificará el proceso de denuncia del usuario que reporta a otro usuario.
- Si el proceso de denuncia del usuario solicitante tiene sentido, el moderador o administrador reenvía este mensaje al usuario.
- Si el usuario tiene alguna razón que explique que la denuncia es falsa, el proceso se cierra.
- El administrador o moderador puede verificar la respuesta del usuario reportado y decidir si archivarla o no.
Caso 2
Nota: El usuario cree que su cuenta ha sido hackeada, por lo que el usuario reporta su propia cuenta.
Notas finales
Todos los plugins descritos anteriormente son para automatizar este proceso que describo ahora con imágenes.
¿Cómo ocurre automáticamente el proceso de denuncia?
- De usuarios de la comunidad a otros usuarios de la comunidad, es decir, cuando uno o más usuarios reportan a uno o más usuarios - esto sucede cuando uno o más usuarios hacen clic en el botón: “reportar a este usuario a la comunidad” de uno o más usuarios.
- Cuando solo se llama a usuarios de tipo: moderadores, administradores o líderes de la comunidad por uno o más usuarios para reportar una publicación - esto se conoce como marcar publicación.
- Por el propio usuario, cuando siente que está siendo hackeado, es decir, cuando el usuario se denuncia a sí mismo, notificando al sistema que la cuenta ha sido hackeada - esto sucede cuando uno o más usuarios hacen clic en el botón: “reportar a este usuario a la comunidad” y se autodenuncia.
- Se llama a administradores, moderadores o líderes de la comunidad en estos casos:
- Marcar publicación
- Usuario reportado por usuarios de la comunidad
- Usuario reportó su propia cuenta, ya que cree que fue hackeada
- En todos estos escenarios, se requieren los plugins que he descrito para automatizar este proceso.
- Las opciones automáticas para que los moderadores, administradores o líderes de la comunidad gestionen a los usuarios son estas:
- Bloqueo de Niveles de Confianza
- Usuario Silenciado
- Usuario Suspendido
Nota: Esto solo se puede hacer si hay una lista de usuarios a reportar.
Notas
- Genera una lista de usuarios que son reportados.
- Con esta lista, podemos hacer lo siguiente. Usuarios que no solicitaron una respuesta - esto se hace al principio.
- Bloqueo de Niveles de Confianza
- Usuario Silenciado
- Usuario Suspendido
- Usuarios que solicitaron una respuesta.
- Se llama a administradores, moderadores y líderes de la comunidad.
- Si la respuesta reportada del usuario es aceptada o válida, todo se archiva.
- Si la respuesta no es aceptada, el usuario tiene una última oportunidad para responder, y si no lo hace, el proceso se da por terminado.
- Podemos ver esta lista de los casos de notificación más comunes y menos comunes dentro de Discourse. incluyendo el año, mes, semana y período en que ocurre (año tras año, mes a mes, semana a semana) - esa sería mi idea inicial.
- En mi opinión, la mejor manera o la forma más fácil de hacerlo, sin dañar el modelado del sistema Discourse o incluso una forma práctica de hacerlo, sería tener una base de datos temporal para recibir reportes de los usuarios, se podría usar una base de datos como mongodb para esto.
- Pienso en usar mongodb para recibir información de los usuarios que son reportados.
- mongodb funciona bien - mongodb es una base de datos orientada a documentos. Esto es interesante si tienes un gran volumen de datos y esos datos no están estructurados - el famoso nosql.
- Además, la base de datos no es permanente, es temporal. mongodb soporta tipos de datos temporales.
- Pensé en esta idea cuando leí esto: Configure Discourse to use a separate PostgreSQL server - Pensé en tener una base de datos mongodb separada para esto.
- Según esta página: GitHub - discourse/discourse: A platform for community discussion. Free, open, simple., Discourse usa redis y postgresql. ¿Alguna vez has pensado en usar mongodb para este caso que describo?
Resumen de la idea
“usuarios reportados - mongodb”
reports: {
report1:{
user: "user001",
linkFlagPost: "https://meta.discourse.org/t/post-test/1122344"
reason: "flag post",
reportedUser: "user002"
},
report2:{
user: "user001",
reportedUser: "user003",
report: "spam"
},
report3:{
user: "user001",
reportedUser: "user003",
reason: "mensajes o comportamiento abusivo"
},
report4:{
user: "user001",
reportedUser: "user003",
reason: "el usuario divulga datos ilegales del usuario"
},
report5:{
user: "user001",
reportedUser: "user002",
reason: "el usuario publica enlaces dudosos, enlaces que contienen virus, malware"
},
report6:{
user: "user001",
user_report: "user002",
reason: "especificar otra razón"
},
report7:{
user: "user004",
reportedUser: "user005",
reason: "Creo que mi cuenta ha sido hackeada, me gustaría que mi nivel de confianza se congelara hasta que el caso sea investigado por la comunidad de Discourse"
}
}
Notas
usar sha256 para anonimizar los datos de quien envía el reporte y quien lo recibe
reports: {
report1:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
linkFlagPost: "https://meta.discourse.org/t/post-test/1122344"
reason: "flag post",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
status1: "proceso iniciado"
status2: "Bloqueo de Niveles de Confianza"
},
report2:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "spam",
status1: "proceso iniciado"
status2: "Bloqueo de Niveles de Confianza"
},
report3:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "mensajes o comportamiento abusivo",
status1: "proceso iniciado"
status2: "Bloqueo de Niveles de Confianza"
},
report4:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "el usuario divulga datos ilegales del usuario",
status1: "proceso iniciado"
status2: "Bloqueo de Niveles de Confianza"
},
report5:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "el usuario publica enlaces dudosos, enlaces que contienen virus, malware",
status1: "proceso iniciado"
status2: "Bloqueo de Niveles de Confianza"
},
report6:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "especificar otra razón",
status1: "proceso iniciado"
status2: "Bloqueo de Niveles de Confianza"
},
report7:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "Creo que mi cuenta ha sido hackeada, me gustaría que mi nivel de confianza se congelara hasta que el caso sea investigado por la comunidad de Discourse",
status1: "proceso iniciado"
status2: "Bloqueo de Niveles de Confianza"
},
report8:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reason: "Creo que mi cuenta ha sido hackeada, me gustaría que mi nivel de confianza se congelara hasta que el caso sea investigado por la comunidad de Discourse",
reply: {
reportedUser: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reason: "Ver registros en la cuenta - si confirma este proceso, bloquearemos el nivel de confianza",
replyFrom: "administrator",
status1: "proceso iniciado"
status2: "Bloqueo de Niveles de Confianza"
}
}
Algunos problemas en esta idea, solución
- Puede ser una solución incorrecta, necesito la retroalimentación de la comunidad de Discourse para saber si la idea es válida o no.
- Implementar esto puede ser complicado.