Un’altra idea
immagine 1
immagine 2
caso 1:
- Esiste un pulsante di segnalazione per ogni utente nella community, questo rende il sistema più autonomo
- Quando si fa clic su segnala l’utente, appare una finestra modale in cui è possibile scegliere l’opzione di segnalazione
- Quando ciò accade, l’utente segnalato riceve un messaggio.
- E la segnalazione viene visualizzata dal moderatore o dall’amministratore.
- Se l’utente non risponde a questo messaggio di denuncia - cercando a sua volta di dire che “è falso” o “non procede”, come accade su YouTube, il processo è fatto e concluso.
- viene aggiunto l’evento: Blocco dei livelli di fiducia
- Se ciò accade di nuovo, viene aggiunto l’evento: Utente silenziato.
- Se ciò accade di nuovo, viene aggiunto l’evento: Sospendi utente
note
- L’amministratore o il moderatore verificherà il processo di reclamo dell’utente che segnala un altro utente.
- Se il processo di reclamo dell’utente richiedente ha senso (il moderatore o l’amministratore) inoltra questo messaggio all’utente.
- Se l’utente ha un motivo valido per spiegare che il reclamo è falso, il processo viene chiuso.
- L’amministratore o il moderatore può controllare la risposta dell’utente segnalato e decidere se archiviarla o meno.
caso 2
Nota: L’utente pensa che l’account sia stato violato, quindi l’utente segnala il proprio account.
note finali
Tutti i plugin descritti sopra servono ad automatizzare questo processo che descrivo ora con le immagini
Come avviene automaticamente il processo di whistleblowing?
- Da utenti della community ad altri utenti della community, cioè quando uno o più utenti segnalano uno o più utenti - questo accade quando uno o più utenti hanno fatto clic sul pulsante: “segnala questo utente alla community” di uno o più utenti
- Quando solo utenti di tipo: moderatori, amministratori o leader della community vengono chiamati da uno o più utenti per segnalare un post - questo è noto come flag post
- Dall’utente stesso, quando si sente violato, cioè quando l’utente denuncia se stesso, notificando al sistema che l’account è stato violato - questo accade quando uno o più utenti hanno fatto clic sul pulsante: “segnala questo utente alla community” e si auto-segnala
- Amministratori, moderatori o utenti leader della community vengono chiamati in questi casi:
- flag post
- utente segnalato dagli utenti della community
- utente ha segnalato il proprio account, poiché pensa che sia stato violato
- In tutti questi scenari, i plugin che ho descritto sono necessari per automatizzare questo processo.
- Le opzioni automatiche per moderatori, amministratori o leader della community per gestire gli utenti sono queste:
- Blocco dei livelli di fiducia
- Utente silenziato
- Sospendi utente
Nota: Questo può essere fatto solo se c’è un elenco di utenti da segnalare.
Note
- Genera un elenco di utenti segnalati
- Con questo elenco, possiamo fare quanto segue. Utenti che non hanno richiesto una risposta - questo viene fatto inizialmente
- Blocco dei livelli di fiducia
- Utente silenziato
- Sospendi utente
- Utenti che hanno richiesto una risposta
- Vengono chiamati amministratori, moderatori e leader della community
- Se la risposta segnalata dall’utente viene accettata o ritenuta valida, tutto viene archiviato
- Se la risposta non viene accettata, l’utente ha un’ultima possibilità di rispondere e, in caso contrario, il processo è concluso.
- Possiamo vedere questo elenco dei casi di notifica più comuni e meno comuni all’interno di Discourse. inclusi l’anno, il mese, la settimana e il periodo in cui si verifica (da anno ad anno, da mese a mese, da settimana a settimana) - questa sarebbe la mia idea iniziale
- A mio parere, il modo migliore o più semplice per farlo - senza danneggiare la modellazione del sistema Discourse o anche un modo pratico per farlo, sarebbe avere un database temporaneo per ricevere segnalazioni dagli utenti, un database come mongodb potrebbe essere utilizzato per questo.
- Penso di usare mongodb per ricevere informazioni dagli utenti che vengono segnalati
- mongodb funziona bene - mongodb è un database orientato ai documenti. Questo è interessante se si ha un volume elevato di dati e tali dati non sono strutturati - famoso nosql
- Inoltre, il database non è permanente, è temporaneo. mongodb supporta tipi di dati temporanei
- Ho pensato a questa idea quando ho letto questo: Configure Discourse to use a separate PostgreSQL server - Ho pensato di avere un database mongodb separato per questo
- Secondo questa pagina: GitHub - discourse/discourse: A platform for community discussion. Free, open, simple., Discourse utilizza redis e postgresql. Avete mai pensato di utilizzare mongodb per questo caso che ho descritto?
riepilogo idea
“utenti segnalati - 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: "abusive messages or behavior"
},
report4:{
user: "user001",
reportedUser: "user003",
reason: "user discloses illegal user data"
},
report5:{
user: "user001",
reportedUser: "user002",
reason: "user posts dubious links, links that contain viruses, malware"
},
report6:{
user: "user001",
user_report: "user002",
reason: "specify another reason"
},
report7:{
user: "user004",
reportedUser: "user005",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community"
}
}
note
usa sha256 per anonimizzare i dati di chi invia la segnalazione e di chi la riceve
reports: {
report1:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
linkFlagPost: "https://meta.discourse.org/t/post-test/1122344"
reason: "flag post",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
status1: "filed process"
status2: "Locking Trust Levels"
},
report2:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "spam",
status1: "filed process"
status2: "Locking Trust Levels"
},
report3:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "abusive messages or behavior",
status1: "filed process"
status2: "Locking Trust Levels"
},
report4:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "user discloses illegal user data",
status1: "filed process"
status2: "Locking Trust Levels"
},
report5:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "user posts dubious links, links that contain viruses, malware",
status1: "filed process"
status2: "Locking Trust Levels"
},
report6:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "specify another reason",
status1: "filed process"
status2: "Locking Trust Levels"
},
report7:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "a1dd6837f284625bdb1cb68f1dbc85c5dc4d8b05bae24c94ed5f55c477326ea2",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community",
status1: "filed process"
status2: "Locking Trust Levels"
},
report8:{
user: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reportedUser: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reason: "I think my account has been hacked, I would like my trust level to be frozen until the case is investigated by the Discourse community",
reply: {
reportedUser: "c23162ffc1a535af2ee09588469194816e60cb437e30d78c5617b5d3f1304d6a",
reason: "View logs in account - if you confirm this process, we will lock the trust level",
replyFrom: "administrator",
status1: "filed process"
status2: "Locking Trust Levels"
}
}
Alcuni problemi in questa idea, soluzione
- Potrebbe essere una soluzione sbagliata, ho bisogno del feedback della community di Discourse per sapere se l’idea è valida o meno.
- L’implementazione di questo potrebbe essere complicata



