Attribuer en masse un badge à un groupe d'utilisateurs

Les badges sont un excellent moyen de reconnaître quelqu’un qui fait du bon travail. Discourse permet désormais d’attribuer un badge à un ensemble d’utilisateurs.

Si vous accédez à la section des badges dans le panneau d’administration, vous remarquerez qu’un nouveau bouton appelé « Attribution en masse » est maintenant disponible à côté du bouton « Nouveau » :

Screen Shot 2020-01-15 at 11.34.31

Après avoir cliqué dessus, vous serez invité à sélectionner un badge et à commencer :

Sélectionnez le badge que vous souhaitez attribuer et téléchargez un fichier CSV contenant une liste d’adresses e-mail ou de noms d’utilisateur (un par ligne)

Ensuite, vous recevrez ce message :

Discourse trouvera les utilisateurs correspondants, leur attribuera le badge et leur enverra une notification.

48 « J'aime »

C’est cool.

Je propose de modifier cette formulation en « attribuer un badge à un ensemble d’utilisateurs », car groupe a un sens précis dans Discourse et une série d’adresses e-mail aléatoires dans un fichier CSV ne correspond pas à cela :wink:.

23 « J'aime »

Très bien, cela sera utile :slight_smile:

5 « J'aime »

Awww Yiss, c’est très pratique. Merci :slight_smile:.

3 « J'aime »

C’est super, merci pour cette fonctionnalité :slight_smile:

5 « J'aime »

Sélectionner des utilisateurs depuis une liste pourrait être plus simple si possible. Bonne fonctionnalité de toute façon.

5 « J'aime »

Oui, c’est exactement mon idée idéale. :grin:

Il suffit de cliquer sur les utilisateurs que vous souhaitez récompenser.

2 « J'aime »

Désolé, mais je ne suis pas tout à fait clair là-dessus. La terminologie que je connais est :

encadrement, délimiteur (le séparateur) et terminateur

l’encadrement est souvent des guillemets
le délimiteur est souvent une virgule
le terminateur est souvent un saut de ligne

par exemple :

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

Je doute que vous vouliez dire :

rkelly@gmail.com 
, 
counselor@hotmail.com 
, 
tman@yahoo.com 
1 « J'aime »

Ce que je voulais dire :

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

J’ai édité le message.

6 « J'aime »

Lors de l’ajout en masse d’utilisateurs à un groupe, le système attend une liste de noms d’utilisateurs. Lors de l’ajout en masse d’utilisateurs à un badge, le système attend un fichier .csv contenant des adresses e-mail.

Personnellement, je préfère la liste des noms d’utilisateurs, car il est beaucoup plus facile de les extraire des forums sans passer par toutes les démarches administratives, et j’ai quelques astuces Excel qui permettent de générer une liste prête à copier-coller. J’avais l’habitude d’attribuer des badges en masse en ajoutant d’abord une liste à un groupe temporaire, puis en modifiant la requête du badge pour l’attribuer à l’ensemble de ce groupe. Lorsque l’option « attribuer un badge à un ensemble d’utilisateurs » est apparue, j’avais espéré pouvoir supprimer une étape…

Existe-t-il un moyen de rendre la méthode de la liste d’utilisateurs valide comme alternative pour l’attribution en masse de badges ?

8 « J'aime »

Je suis d’accord, nous devrions prendre en charge les deux.

Si le premier élément de la liste contient un « @ », alors importer par e-mail, sinon, importer par nom d’utilisateur.

De plus, nous pourrions être un peu plus souples concernant le format de cette liste.

Nous pourrions simplement exiger que les e-mails ou les noms d’utilisateur soient sur leur propre ligne, puis effectuer un split("\n"), supprimer les lignes vides, supprimer les virgules « , » à la fin et supprimer les paires de guillemets simples ou doubles (par exemple, gsub(/^['"]|['"]$/, "")).

9 « J'aime »

Je sais que c’est difficile et que cela commence à risquer de créer un dérapage des objectifs, mais je me demande si, avec le temps, l’interface d’administration pourrait viser une plus grande cohérence dans toutes les opérations de masse administratives ? Par exemple, lors de :

  1. L’attribution de badges en masse : Sélectionner un badge, puis télécharger un fichier CSV contenant les adresses e-mail des utilisateurs

  2. L’ajout d’utilisateurs à un groupe en masse : Sélectionner un groupe, puis coller une liste d’identifiants ou d’adresses e-mail, un par ligne

  3. L’invitation d’utilisateurs à Discourse en masse : Télécharger un fichier CSV contenant les adresses e-mail des utilisateurs (avec la possibilité de spécifier les groupes auxquels les ajouter et le premier message à leur afficher)

Il est clair que ces opérations présentent des points communs, mais aussi des disparités nettes où elles ne font pas exactement la même chose. Donc, je ne sais pas à quel point il serait facile de travailler vers un paradigme d’interface cohérent pour toutes les actions de masse administratives. Mais j’ai pensé soulever le problème ici, puisqu’il est actuellement discuté.

Parmi ces trois variantes, je dirais que la plus agréable actuellement est « Ajouter en masse à un groupe » avec « Coller une liste d’identifiants ou d’adresses e-mail, un par ligne ».

Souvent, je souhaite inviter plusieurs utilisateurs (par exemple 5 à 10), et la méthode d’invitation un par un est un peu irritante et lente, tandis que la méthode d’invitation via CSV est un peu fastidieuse et m’oblige à lancer un autre programme ou à modifier manuellement le fichier CSV. Même si le téléchargement de CSV était conservé pour les très grandes invitations en masse, il serait formidable d’avoir une fenêtre d’invitation d’utilisateurs similaire à celle d’« Ajouter en masse à un groupe ». Bien sûr, elle ne pourrait accepter que des adresses e-mail, une par ligne, mais cela conviendrait parfaitement.

8 « J'aime »

Merci à tous pour vos retours ! :slight_smile:

Nous avons ajouté la prise en charge des noms d’utilisateur ici :

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

13 « J'aime »

Bien que ce ne soit pas encore aussi simple que de coller une liste de noms d’utilisateurs dans une zone de texte, c’est un grand pas en avant par rapport à la nécessité d’utiliser des adresses e-mail ! Y a-t-il des projets pour unifier la gestion en masse de l’ajout d’utilisateurs à des groupes ou à des badges ? Je ne suis pas programmeur, mais cela ressemble à du code réutilisable à mes yeux :slight_smile:

2 « J'aime »

Est-il possible d’attribuer plusieurs fois un badge à un utilisateur avec cette fonctionnalité ? Selon mes propres tests, cela semble ne pas être pris en charge.

L’attribution en masse d’un badge à une liste d’utilisateurs n’accorde pas un deuxième badge à ceux qui en possèdent déjà un.

1 « J'aime »

Si la case « Peut être attribué plusieurs fois » du badge est cochée (située dans la section inférieure de la page d’administration des badges), vous devriez pouvoir attribuer le badge plusieurs fois de cette manière.

3 « J'aime »

Je l’ai activé, mais avec une importation CSV (même une simple liste de noms d’utilisateurs qui possèdent déjà le badge), cela ne le réattribue pas. Je dois attribuer manuellement le badge à l’utilisateur avant qu’il ne s’affiche comme étant attribué plusieurs fois.

2 « J'aime »

Pouvez-vous attribuer un badge à une ou deux personnes manuellement plutôt qu’en téléchargeant un fichier CSV ?

Pour une raison quelconque, le badge « enthousiaste », qui s’obtient en se connectant pendant 10 jours consécutifs, ne fonctionne pas pour une personne qui s’est connectée pendant 12 jours consécutifs.

1 « J'aime »

Je pense que ce badge est assez fiable, mais parfois la différence entre les fuseaux horaires et l’UTC peut lui donner une apparence trompeuse.

Je ne pense pas que vous puissiez attribuer ce badge manuellement actuellement, mais créer un fichier CSV avec le(s) nom(s) d’utilisateur(s) ne prend qu’une seconde ou deux. Je viens de faire un essai en utilisant Google Sheets sur mon téléphone, et c’était très rapide. :+1:

6 « J'aime »

Je souligne juste ce message, car il n’était pas très clair dans le premier message comment formater correctement le csv.

3 « J'aime »