Migliore strategia per un membro che vuole "mettere in pausa"? Sospensione potrebbe non essere la soluzione

Ehi, gestisco un sito per membri che utilizza Discourse per i forum (tramite SSO). Sul mio sito principale, i membri hanno i propri account, profili, ecc.

Attualmente, i membri possono sospendere temporaneamente i propri profili principali, il che va bene. Quando ciò accade, ‘sospendo’ anche i loro profili Discourse con questo messaggio: “Questo membro ha scelto di sospendere temporaneamente il proprio profilo.”

Domanda: è questo il modo migliore per gestire la situazione? Esiste qualche altro meccanismo per “mettere in pausa” un account Discourse (perché il membro dietro di esso ha scelto di non impegnarsi temporaneamente)? Attualmente, il messaggio di sospensione appare in Discourse come un grande SEGNALE ROSSO! che in questo caso non dovrebbe assolutamente esserci; ovviamente la sospensione è stata creata come funzione di Discourse per le punizioni, ma questa non è una situazione negativa.

Sarei felice di ascoltare qualsiasi pensiero, riflessione generale, idea o vedere qualche GIF carina di gattini…

2 Mi Piace

Disattivarli invece? Questo impedirà loro di ricevere email. Dovranno riconvalidare i propri indirizzi email per riprendere a utilizzare il forum. Nota: ciò comporterà anche l’eliminazione dei loro account dopo un periodo di grazia, ma solo se non hanno effettuato alcun post.

4 Mi Piace

Sono aperto a questa idea – dovrò fare ricerche su cosa significhi ‘Disattiva’, non ne sono familiare. Grazie per il suggerimento!

(Mi piacerebbe che esistesse una semplice tabella comparativa tra ignora, silenzia, sospendi e disattiva. Sono tutti gradi diversi di ‘Voglio vedere meno contenuti dall’utente x’, ma ci sono alcune sottili differenze…)

2 Mi Piace

Ciao @merefield, con “Disattivare” intendi semplicemente cambiare il valore di “Active” in false? Non sono molto chiaro. Ho trovato questo post di @sam che non include uno stato “Disattivato”. :man_shrugging:t2:

Intendo proprio questo, Disattiva:

(questo è un estratto dalla pagina di amministrazione di un utente, accessibile solo a un amministratore, sospetto).

2 Mi Piace

Allora. Non riesco a capire come verificare se un utente è attivato o meno. Posso ottenere l’oggetto utente (sia la versione /users/ che quella /admin/users/) dall’API… quindi l’ho recuperato prima e dopo aver disattivato un utente, confrontando i due dump JSON. Non vedo alcuna differenza nei campi che indichi lo stato di “attivazione” dell’utente! Mi sto perdendo qualcosa?!

Usa la console di Rails. E assicurati di salvare la modifica se la stai eseguendo tramite codice.

Grazie per questa risposta…

…ma non sono sicuro di cosa intendiate. :slight_smile:

Attualmente attivo/disattivo l’utente direttamente dal profilo dell’utente (con il mio account amministratore, semplicemente cliccando sul pulsante), poi estraggo l’intero record /admin/users/ con Insomnia (uno strumento di esplorazione API, simile a Postman). Sto quindi vedendo il record JSON grezzo dell’utente restituito dall’API.

Non sono sicuro di cosa mi potrebbe fare l’uso della console di Rails–? O di come “salvare” eventuali modifiche? Quando clicco sul pulsante “Disattiva questo utente” nella schermata di amministrazione degli utenti, l’azione avviene immediatamente.

Dai un’occhiata a questo sito :slight_smile:

https://meta.discourse.org/search?q=rails%20console

Presumo naturalmente che tu abbia accesso al terminale? …

Ah, capito. Sì, lo so… ma credo che non capisca ancora come usare il console di Rails (per fare esperimenti con tutto questo?) possa aiutarmi in questo caso. Darò un’occhiata più approfondita…

Prova:

rails c

myUser = User.find_by(username_lower:"---il loro username---")

Dalla directory discourse.

exit per … um … uscire :slight_smile:

Fai attenzione se è in produzione.

Puoi sperimentare in modo più sicuro con :slight_smile:

rails c --sandbox
1 Mi Piace