Come fare un "mutual ignore"?

Modifica: Pensavo di essere stato furbo, ma non lo ero. Vedi il messaggio successivo.

Ciao, volevo solo condividere qualcosa che ho scoperto… Sto utilizzando Discourse come forum su un sito esistente per membri, e sul mio sito attuale i membri possono bloccarsi a vicenda. Quando l’utente A blocca l’utente B, né l’utente A né l’utente B possono vedersi o interagire, ecc.

Avevo bisogno che questa stessa funzionalità fosse trasferita anche a Discourse. Mi sono grattato la testa per capire come farlo e credo di aver finalmente risolto:

  1. Ho configurato un webhook di Discourse per ricevere eventi, così da poter catturare l’evento user_logged_in.

  2. Quando un utente accede, percorro la sua lista di “bloccati” sul mio sito.

  3. Per ogni altro membro che stanno cercando di bloccare, utilizzo l’API di Discourse (nota: questo non ha nulla a che fare con SSO!) per “Ignorare” l’altro utente.

  4. Ed ecco la parte intelligente: dico anche a Discourse di far sì che l’altro utente ignori l’utente principale che sta accedendo. In altre parole, sia l’utente A (che sta accedendo ora) sia l’utente B (che si trova nella lista di bloccati dell’utente A) si “ignorano” a vicenda.

  5. Nota: quando invio il messaggio di “Ignora”, devo effettivamente verificare che abbiano almeno il livello TL2, poiché “Ignora” è una funzionalità disponibile solo a partire da TL2. Se non lo sono, devo rapidamente portarli al livello TL2 prima di poter completare l’azione di “Ignora”. L’aggiornamento di un utente a TL2 comporta alcuni altri effetti collaterali (avvio di script avanzati di discobot, assegnazione di badge) con cui ho dovuto fare i conti.

Ah, e nascondo l’elenco degli “Ignorati” nel profilo utente di Discourse (con un semplice CSS), dato che esiste un’interfaccia sul sito principale per gestire gli utenti bloccati. Non voglio che i membri di Discourse vedano affatto l’elenco degli ignorati su Discourse.

Spero che questo possa essere utile ad altre persone che necessitano di questo tipo di funzionalità…

Quindi ecco il problema. La funzione “Ignora” in Discourse non nasconde completamente l’altra persona. Rende i loro messaggi invisibili (e in realtà lo fa davvero bene)… e li sostituisce con un link che dice ‘VEDI x MESSAGGI NASCOSTI’… questo è qualcosa che posso facilmente nascondere con il CSS, quindi non è un grosso problema.

MA! Se qualcuno ha citato un utente bloccato, vedi ancora il loro avatar e nome (ma non la citazione stessa) nel messaggio, e vedi ancora il loro avatar e nome negli indicatori di risposta ai messaggi. Maledizione.

Questo significa che se l’Utente A blocca l’Utente B sul mio sito… e io applico il trucco del doppio-ignora (ignora in entrambe le direzioni) come ho descritto nel mio messaggio precedente… allora l’Utente B (che non ha mai bloccato l’Utente A) vede improvvisamente delle cose strane dove l’Utente A sta scrivendo sul forum. E può capire che l’Utente A lo ha bloccato. Quindi ora questo rivela informazioni private (chi l’Utente A ha bloccato) all’Utente B. Il che sul mio sito non va bene… per niente.

Ughhhh

Quindi immagino sia arrivato il momento in cui probabilmente devo finalmente imparare RoR :wink: e scrivere un plugin che estenda la funzionalità esistente di “Ignora” per cancellare davvero, davvero tutte le tracce di un utente in una lista di ‘Ignorati’. Così potrò tornare alla mia idea del doppio-blocco…

Esatto, la funzione di ignorare di Discourse non è davvero una funzione di blocco completa (ecco perché non la chiamiamo blocco!). Serve piuttosto per i casi in cui qualcuno potrebbe non violare le linee guida della comunità, ma è solo un po’ una spina nel fianco.

La richiesta di una funzione di blocco completa è emersa in passato, ma l’abbiamo generalmente affrontata così:

Ciao Kris, grazie per questa risposta.

Quindi, attenzione: sta per arrivare una piccola e difensiva sfuriata, non rivolta tanto a te, quanto a tutte quelle persone che mi hanno detto che non ho bisogno del blocco… :wink:

Ho fatto gestione pratica della community da una vita (anche quando lavoravo per AOL, CompuServe e GEnie, occupandomi di community nei loro forum e chat room). Ora gestisco una mia community online. I forum fanno parte del sito e sono dove una gran parte (ma non tutta) della community del mio sito interagisce.

Capisco perfettamente e completamente le ragioni per cui il blocco non è una grande idea… Le capisco. Davvero. Ho letto ogni messaggio che ho potuto trovare qui su meta.discourse. Ho visto le persone che imploravano di introdurre Ignora, ho visto i dibattiti avanti e indietro sul perché non fosse una cosa così positiva, e ho visto quando alla fine avete ceduto e l’avete aggiunta al software. :wink:

In tutto questo, credo che alcuni abbiano dimenticato che non tutti gestiscono un sito che è solo Discourse/solo una community basata sui forum.

Nella mia situazione attuale, avevo già una community solida sul mio sito prima che arrivasse Discourse: non solo nei miei vecchi forum (con il loro software vecchio e scadente), ma anche con la funzione chat room del mio sito (che ha i suoi frequentatori e una propria community che si sovrappone a quella dei forum), oltre ad altre funzionalità incentrate sulla community presenti sul mio sito web.

E, per il meglio o per il peggio, il mio sito ha sempre offerto la possibilità di effettuare un “blocco completo” di un altro membro. Parzialmente a causa di problemi nella community, parzialmente perché la community che servo si aspetta che io sia MOLTO attento alla loro privacy per una serie di motivi, inclusi problemi legali (davvero).

Porre la domanda “il blocco è una buona idea?” non è la domanda giusta da fare in questo momento. Anche se personalmente non amo l’idea del blocco, quella nave è già partita. :wink:

(Un po’ di contesto in più: i miei vecchi forum erano piuttosto tossici a causa delle decisioni prese dal precedente proprietario del sito. Una delle ragioni per cui le persone hanno chiesto un blocco bidirezionale è stata proprio a causa delle merdate nei forum. Come parte del mio aggiornamento a Discourse e del lancio di forum completamente nuovi, sto anche lavorando per aiutare a riparare la comunità del forum danneggiata.)

Ancora una volta, per essere chiari come il cristallo, capisco perfettamente perché il blocco non sia generalmente un buon segno di una community sana. Anzi, sto lavorando per convincere i membri che erano precedentemente ossessionati dal blocco a rilassarsi un po’.

Quindi.

Se stessi iniziando una community completamente nuova, inizierei assolutamente con Discourse e non avrei bisogno di un blocco bidirezionale.

Se avessi un sito che non aveva già a disposizione il blocco bidirezionale (o se non stessi aggiornando da un software per forum che lo supportava in precedenza), non avrei bisogno del blocco bidirezionale in Discourse.

Se la mia attuale community di forum non fosse già danneggiata, non avrei bisogno del blocco bidirezionale. Ma hanno avuto alcune esperienze terribili in passato che hanno richiesto la funzione di blocco, che ho dovuto implementare. Ora, il passaggio a Discourse è un grande cambiamento che sta già scuotendo la community (è molto diverso da quello che avevo, quindi è un processo), e non è il momento giusto per dire anche “oh, a proposito, stiamo eliminando il blocco”. Mi ritroverei con una rivolta.

Comunque. Mi scuso per la lunghezza di questa risposta e spero di non sembrare troppo difensivo. :wink: Non voglio semplicemente essere trascinato in un dibattito filosofico sul blocco e sul perché non sia una cosa sana.

Ho ancora bisogno di una funzione di blocco completo.

Apprezzo sinceramente e profondamente tutti i feedback e l’aiuto! E una delle ragioni per cui pubblico tutto questo (e mi prendo il tempo di scrivere questo messaggio lunghissimo) è perché sto cercando di ricambiare alla community di Discourse.

Concludo con questo: So che Discourse non offre esattamente quello che sto chiedendo in questo momento. Ma ci va vicino! Non sto cercando di convincere il team di Discourse ad aggiungerlo al software (quella conversazione è iniziata e conclusa molto prima del mio arrivo)… ma sto cercando di raggiungere il mio obiettivo con i pezzi che ho davanti… e chiedo aiuto ai pensatori e programmatori intelligenti, astuti e creativi che ho visto qui… e condivido ciò che scoprirò lungo il percorso con gli altri.

Concordo con molti dei tuoi punti, ma vorrei solo commentare questo…

Non avere una funzione di blocco automatico va bene per forum di piccole e medie dimensioni, ma a mio avviso è indispensabile per piattaforme di grandi dimensioni.

Questo è, tra le altre cose, perché più membri significano più post, che potenzialmente si traducono in molti più problemi interpersonali. Mentre un team di 10 moderatori può gestire facilmente forum con 10/20/30.000 membri, man mano che la base di utenti cresce, tutto il resto cresce a un ritmo ancora maggiore: più voci → molti più post → molti più problemi.

Questa è una delle ragioni principali per cui tutte le grandi piattaforme di social network offrono la funzione di blocco. Un’altra ragione è di natura legale: se qualcuno segnala di essere molestato da un altro membro e il sito non fa nulla al riguardo (magari perché ritiene che non ci sia molestia, “è tutto nella sua mente”), ma poi quell’utente si toglie la vita, il sito potrebbe essere responsabile. Se qualcuno sente genuinamente di essere molestato da un altro, allora è così che si sente - non importa cosa pensiamo io o te. Ciò che conta è che abbiamo il dovere di cura verso i membri e uno dei modi migliori per evitare che si sentano così è interrompere quell’interazione, il che si ottiene al meglio consentendo loro di bloccare le persone che causano loro disagio (o a volte imponendo noi stessi questo blocco).

I giorni in cui dovevamo fare da giudici e giurati sono ormai passati - e non dovremmo nemmeno doverlo fare. Non spetta a noi decidere cosa causa o meno disagio agli altri.

È proprio per questo motivo che penso anche che abbiamo bisogno di strumenti di moderazione più moderni: i moderatori non dovrebbero essere messi nella posizione di dover modificare i post delle persone (che nella maggior parte dei casi viene visto come censura); se i post sono inaccettabili, dovremmo semplicemente poterli rimuovere dalla vista e chiedere all’utente di modificarli, con le modifiche poi inviate a una coda di revisione.

Penso (e spero!) che Discourse possa essere all’avanguardia in questo.

Dette in modo eccellente. (E non si tratta necessariamente di un’ipotesi: per la mia comunità in particolare, in passato abbiamo dovuto coinvolgere le forze dell’ordine.) Riflettere su situazioni del genere e fornire agli utenti gli strumenti per gestire se stessi è fondamentale… e direi che è essenziale per chiunque gestisca un buon sito di comunità.

Sono d’accordo, un’opzione del genere aiuterebbe enormemente. In generale, sul mio forum non modificheremo mai i post di altri utenti… proprio per questi motivi… i nostri membri sarebbero estremamente sensibili riguardo a interferenze con le loro parole. Al momento, le uniche opzioni che abbiamo su Discourse per gestire contenuti problematici sono: (a) eliminare il messaggio o (b) non eliminarlo. È un approccio un po’ troppo drastico e “quando si ha solo un martello, tutto sembra un chiodo”. :hammer: :grin: (Capisco anche che questa conversazione sugli strumenti di moderazione futuri sia probabilmente meglio affrontata in un altro argomento…)

È un’ottima idea. Mi piace come questo metta la responsabilità nuovamente in capo all’autore del post.

È proprio questo che ci stanno spingendo a fare: ma il motivo per cui dobbiamo o modificare il post o eliminarlo (non ideale per molte altre ragioni) è che, se il post è denigratorio o meno amichevole di quanto vorremmo verso un altro membro, è meglio rimuoverlo prima che l’altro membro lo veda. Una volta che lo vede, la finestra di opportunità per prevenire lo sviluppo di problemi interpersonali si chiude e inizia una spirale discendente. Questo, col tempo, ha un impatto molto più ampio dei soli due membri coinvolti.

…e toglie molta pressione al team dei moderatori :smiley:

Prova a segnalare un post come “Inappropriato”, ma utilizzando il pulsante “Agisci” invece di “Segnala post”. Il post verrà nascosto e l’utente avrà la possibilità di modificarlo per renderlo più accettabile; dopodiché, il post verrà automaticamente reso di nuovo visibile.

L’unica cosa che manca qui è generare un elemento di revisione per la modifica.

Sì, penso che il sistema di segnalazione sarebbe ottimo per questo. Oltre a quanto sopra, sarebbe ideale includere anche “modifiche consigliate” o qualche tipo di messaggio che possa essere inviato all’utente (forse obbligatorio se la segnalazione è stata inviata da un moderatore o quando viene gestita nella coda di revisione).

No, non accadrà. Se il blocco hardcore* (che storicamente non è mai stato una funzionalità del software per forum) è un requisito immutabile, dovresti passare a un diverso software open source gratuito. Mi dispiace!

Detto questo, credo che un sistema di ignoranza reciproca basato su API sia un valido workaround per il momento.

  • blocco, inteso come “inoltre, questa persona non potrà più vedere i miei post” oltre a “non voglio più vedere i post di questa persona”

Un curioso effetto collaterale del mio trucco “ignorare reciprocamente” è che ora ricevo un sacco di queste email. Ne ricevo dozzine. C’è un modo per sopprimerle? Mi dispiace vederle sparire (credo che siano super utili per individuare potenziali problemi nella community), ma dato che devo sfruttare la funzione “Ignora” per far funzionare i miei blocchi, queste note diventano un effetto collaterale non intenzionale.

Hai controllato le impostazioni del tuo sito per vedere se c’è un numero soglia modificabile? Sarebbe la prima cosa che farei.

Ho letto parte di questo, ma è un po’ al di sopra delle mie possibilità:

C’è un modo per cui l’amministratore di un sito possa fare in modo che, se l’Utente A ignora l’Utente B, allora l’Utente B venga ignorato e non abbia più accesso ai post dell’Utente A?

Grazie in anticipo - sto facendo delle ricerche per trasmettere le informazioni all’amministratore

Larry!

No, non puoi bloccare completamente qualcuno su Discourse… l’azione più estrema che un utente normale può intraprendere è ignorare (una persona ignorata può vedere il tuo contenuto, ma tu non puoi vedere il suo).

@awesomerobot Un amministratore può bloccare qualcuno dal sito o da alcune sue parti?

oh di certo, non potremmo bloccare gli spammer senza di essa: gli amministratori possono bannare gli utenti e persino il loro indirizzo IP nel caso in cui inizino a creare nuovi account

Devo intervenire qui, perché ho visto come ciò abbia influenzato il nostro stesso forum Discourse, molto diversificato.

Il doppio blocco forzato è un’idea terribile, terribile e impone la volontà del forum sull’individuo vulnerabile che si cerca di proteggere. Stai, in sostanza, dicendo: “Capisco che ti senti insicura e a disagio con questo utente, ma non possiamo semplicemente permetterti di nascondere i suoi post: renderemo scopribile il fatto che hai fatto questo, così ora quell’utente potrebbe avere un altro motivo per esplodere e attaccarti”.

Ci è voluto uno sforzo coordinato da parte di molti membri di Twitter che si identificano pubblicamente come donne per convincere Twitter a capire perché questa fosse un’idea terribile e a permettere la loro funzione “mute”: rimuovere un utente dalle tue visualizzazioni e dalla tua timeline senza avvisarlo del fatto che lo hai fatto.

Questo vale anche nel mondo reale, dove il semplice atto di ottenere un ordine restrittivo contro uno stalker può portare alla violenza, poiché gli stalker sono più propensi a violare gli ordini una volta concessi.

Per questo motivo alone, se questa è una funzionalità di Discourse affatto, deve per forza essere scelta dall’utente che richiede, non dalla volontà del moderatore o del sito.

Direi che se un utente chiede che qualcuno venga bloccato e il sito informa l’utente di essere stato bloccato dall’utente X senza il suo consenso, e l’utente bloccato escalationa, questo è un caso reale di responsabilità anche dal punto di vista del sito, ma soprattutto avrà inevitabilmente un effetto raggelante sulle persone che usano la funzione di blocco affatto (cosa che ho visto dalla mia esperienza personale), e inoltre trasferisce il potere all’aggressore: “Non puoi bloccarmi perché lo saprò!”.

Devo concordare inequivocabilmente qui. Questa funzionalità non dovrebbe mai far parte di Discourse oppure deve essere obbligatoriamente opzionale su richiesta dell’utente e devono essere chiari i rischi reali di escalation.

Molte persone si arrabbiano moltissimo quando un loro post viene cancellato, si sentono “censurate” o “cancellate”, o hanno imposto loro una dinamica di potere che non gradiscono. Ma non sbagliate, chiamatela come volete, ma la moderazione è censura, e comporta un requisito intrinseco di proteggere i propri membri dalle ritorsioni conseguenti, per lo stesso motivo per cui le richieste di moderazione devono rimanere anonime.

Sembra che il problema sia stato l’implementazione da parte vostra…

Quando ci rivolgiamo ai membri, lo facciamo generalmente dal punto di vista dell’amministratore, ad esempio: “È emerso chiaramente che la tua relazione con l’utente X ha raggiunto un punto di non ritorno; pertanto, riteniamo che sia nell’interesse di tutte le parti coinvolte che da ora in poi vi ignoriate a vicenda…”

Non abbiamo mai dovuto emettere un blocco per motivi di bullismo in cui l’ostilità non fosse già emersa; ecco perché quanto sopra è molto più semplice per noi.

No, non si tratta di approccio: “Questo utente mi fa sentire insicuro o a disagio e vorrei non vedere i suoi messaggi” è una richiesta perfettamente valida, e non ha assolutamente nulla a che vedere con il fatto che i moderatori siano d’accordo o meno.

Dare agli utenti il controllo su ciò che consumano è un obiettivo nobile, indipendentemente da ciò che noi, come amministratori del forum, preferiamo.

Perché l’alternativa è che l’utente abbandoni la comunità e i suoi contributi vadano perduti. Non dovrebbero dover “sopportare” microgestioni da parte del sito, come dover bannare due volte o notificare l’utente che viene ignorato; oppure, se questa opzione è necessaria per altri motivi, deve essere esplicitamente attivata dall’utente (opt-in).

Fare altrimenti significa negare l’autonomia a un utente che ha espresso preoccupazione nei confronti di un altro utente. Sono i suoi occhi. Ha il diritto di controllare cosa entra in essi e chi viene a conoscenza delle sue decisioni.