Premia in blocco un badge a un insieme di utenti

I badge sono un ottimo modo per riconoscere chi sta facendo un buon lavoro. Discourse ora permette di assegnare un badge a un gruppo di utenti.

Se vai alla sezione badge nel pannello di amministrazione, noterai che accanto al pulsante “Nuovo” è ora disponibile un nuovo pulsante chiamato “Assegna in blocco”:

Screen Shot 2020-01-15 at 11.34.31

Dopo averlo cliccato, ti verrà chiesto di selezionare un badge e iniziare:

Seleziona il badge che vuoi assegnare e carica un file CSV contenente un elenco di indirizzi email o nomi utente (uno per riga).

A questo punto ti verrà mostrata questa messaggio:

Discourse individuerà gli utenti corrispondenti, assegnerà loro il badge e invierà loro una notifica.

48 Mi Piace

Questo è figo.

Propongo di cambiare questa dicitura in “assegnare un badge a un insieme di utenti”, poiché gruppo ha un significato specifico in Discourse e un mucchio di indirizzi email casuali in un CSV non lo è :wink:.

23 Mi Piace

Molto bello, questo sarà utile :slight_smile:

5 Mi Piace

Aww sì, è molto utile. Grazie :slight_smile:.

3 Mi Piace

È fantastico, grazie per la funzionalità :slight_smile:

5 Mi Piace

Selezionarli da un elenco di utenti potrebbe essere più semplice, se possibile. Comunque, ottima funzionalità.

5 Mi Piace

Sì, è proprio l’idea che avevo in mente. :grin:

Basta cliccare sugli utenti che vuoi premiare.

2 Mi Piace

Scusa, ma non sono del tutto chiaro su questo. La terminologia con cui sono familiare è:

enclosure, delimiter (il separatore) e terminator

l’enclosure è spesso tra virgolette
il delimiter è spesso una virgola
il terminator è spesso un’interruzione di riga

ad esempio.

"1", "Bob", "rkelly@gmail.com", "CA" 
"2", "Carol", "counselor@hotmail.com", "CA" 
"2", "Ted", "tman@yahoo.com", "FL" 

Dubito che tu intenda

rkelly@gmail.com 
, 
counselor@hotmail.com 
, 
tman@yahoo.com 
1 Mi Piace

Quello che intendevo era:

rkelly@gmail.com,
counselor@hotmail.com,
tman@yahoo.com

Ho modificato il post.

6 Mi Piace

Quando si aggiungono in blocco utenti a un gruppo, il sistema richiede un elenco di nomi utente. Quando si aggiungono in blocco utenti a un badge, il sistema richiede un file .csv con indirizzi e-mail.

Personalmente preferisco l’elenco di nomi utente, poiché è molto più semplice ottenerli dai forum senza dover superare ostacoli amministrativi, e conosco alcuni trucchi di Excel che permettono di generare un elenco pronto per il copia-incolla. In passato assegnavo i badge in blocco aggiungendo un elenco a un gruppo temporaneo, quindi modificavo la query del badge per assegnarlo all’intero gruppo. Quando è apparso l’opzione “Assegna un badge a un gruppo di utenti”, speravo di poter saltare un passaggio…

Esiste un modo per rendere il metodo basato sull’elenco di utenti un’alternativa valida per l’assegnazione in blocco dei badge?

8 Mi Piace

Sono d’accordo: dovremmo supportare entrambe le modalità.

Se il primo elemento dell’elenco contiene un “@”, importa per e-mail; altrimenti, importa per nome utente.

Inoltre, potremmo essere un po’ più flessibili riguardo al formato di quell’elenco.

Potremmo semplicemente richiedere che le e-mail o i nomi utente siano su righe separate, quindi eseguire un split("\n"), rimuovere le righe vuote, eliminare eventuali virgole finali e rimuovere le virgolette singole o doppie (ad esempio gsub(/^['"]|['"]$/, "")).

9 Mi Piace

So che è difficile e si rischia di uscire dall’ambito della missione, ma mi chiedo se col tempo l’interfaccia di amministrazione possa puntare a una maggiore coerenza in tutte le operazioni di gruppo degli amministratori? Ad esempio, quando:

  1. Assegnazione di badge in blocco: Seleziona badge, poi carica un CSV con gli indirizzi email degli utenti

  2. Aggiunta di utenti a un gruppo in blocco: Seleziona gruppo, poi incolla un elenco di nomi utente o email, uno per riga

  3. Invito di utenti a Discourse in blocco: Carica un CSV contenente gli indirizzi email degli utenti (con l’opzione di specificare il/le gruppo/i a cui aggiungerli e il primo post da mostrare loro)

È evidente che esistono aree di sovrapposizione, ma anche differenze nette in cui non si fa la stessa cosa. Quanto sia facile lavorare verso un paradigma UI coerente per tutte le azioni di gruppo degli amministratori, non lo so. Ma ho pensato di sollevare la questione qui, dato che se ne sta discutendo.

Tra le tre varianti, direi che al momento la più comoda è “Aggiungi al gruppo in blocco: incolla un elenco di nomi utente o email, uno per riga”.

Spesso vorrei invitare diversi utenti (diciamo 5-10) e il metodo di invito uno alla volta è un po’ fastidiosamente lento, mentre il metodo di invito tramite CSV è un po’ macchinoso e mi costringe ad avviare un altro programma o a modificare manualmente il CSV. Anche se il caricamento del CSV venisse mantenuto per gli inviti di massa davvero grandi, sarebbe ottimo avere una finestra di dialogo “Invita utenti” simile a quella di “Aggiungi al gruppo in blocco”. Ovviamente potrebbe accettare solo indirizzi email, uno per riga, ma questo andrebbe benissimo.

8 Mi Piace

Grazie a tutti per il feedback! :slight_smile:

Abbiamo aggiunto il supporto per i nomi utente qui:

https://review.discourse.org/t/feature-support-uploading-a-csv-with-either-user-emails-or-usernames-8971/9183

13 Mi Piace

Anche se non ancora semplicemente incollando un elenco di nomi utente in una casella, è un grande passo avanti rispetto alla necessità di indirizzi e-mail! Ci sono piani per unificare la gestione in blocco dell’aggiunta di utenti a gruppi o badge? Non sono un programmatore, ma mi sembra codice riutilizzabile :slight_smile:

2 Mi Piace

È possibile assegnare un badge agli utenti più volte con questo? Sembra che non sia supportato, secondo i miei test.

L’assegnazione di un badge in blocco a un elenco di utenti non concede una seconda volta il badge a coloro che lo possiedono già.

1 Mi Piace

Se la casella “Può essere assegnato più volte” del badge è selezionata (si trova nella sezione inferiore della pagina di amministrazione dei badge), dovresti poter assegnare il badge più volte in questo modo.

3 Mi Piace

L’ho abilitato, ma con un’importazione CSV (anche solo un elenco di nomi utente di persone che hanno già il badge) non viene assegnato di nuovo. Devo assegnare manualmente il badge all’utente prima che appaia come assegnato più volte.

2 Mi Piace

È possibile assegnare manualmente un badge a una o due persone invece di caricare un file CSV?
Per qualche motivo, il badge “entusiasta”, che si ottiene effettuando l’accesso per 10 giorni consecutivi, non funziona per qualcuno che ha effettuato l’accesso per 12 giorni consecutivi.

1 Mi Piace

Penso che quel badge sia abbastanza affidabile, ma a volte la differenza tra fusi orari e UTC può farlo apparire diversamente.

Non credo che tu possa assegnare manualmente quel badge attualmente, ma crearne uno in CSV con il/i nome/i utente richiede solo un secondo o due. L’ho appena provato usando Google Sheets sul mio telefono, ed è stato davvero veloce. :+1:

6 Mi Piace

Sto solo evidenziando questo post, perché non era molto chiaro dall’OP come formattare correttamente il csv.

3 Mi Piace