Je voudrais ajouter tous les membres dans un nouveau groupe, mais quand j’essaie de copier-coller une grande liste de noms d’utilisateur séparés par une virgule, j’obtiens une erreur.
Cela fonctionne quand j’essaie d’importer 100, mais j’ai 40 000 membres à ajouter…
Dans le passé, il était possible d’importer jusqu’à 10 000.
Oui, je ne suis pas sûr que l’interface utilisateur puisse ajouter des milliers d’utilisateurs en masse. Je pense que vous pouvez le faire en créant un nouveau groupe, puis en utilisant la console Rails pour ajouter des utilisateurs avec un niveau de confiance : 0 à ce groupe. Si vous décidez de suivre cette voie, assurez-vous d’abord de sauvegarder.
Pourquoi ? Quel problème cela résout-il ? Envisagez-vous de les supprimer plus tard ? Pourquoi ne pas simplement utiliser trust_level_0 ou trust_level_1 ? Il est probable que, quelle que soit la solution que vous recherchez, l’ajout de tous les utilisateurs à un groupe n’est pas une bonne façon de résoudre le problème.
Vous pouvez le faire depuis Rails. Je pense que cela fonctionnerait.
group=Group.find_by_name('my_group')
User.all.each do |user|
GroupUser.create!(user_id: user.id, group_id: group.id)
end
J’ai écrit un plugin qui pourrait aider, bien qu’il ne soit pas bien testé et que quelqu’un qui l’a essayé ait eu des problèmes. Si vous avez un budget ou si vous êtes courageux, vous pouvez me contacter.
J’aimerais mentionner dans un sujet (et notifier par e-mail) tous les membres. Cela fonctionnera-t-il avec le groupe de niveau Trust_level_0 ? Idéalement, je préférerais créer un nouveau groupe pour personnaliser le nom du groupe.
Peut-être juste avoir une catégorie d’annonces et que tout le monde surveille cette catégorie ?
Vous pouvez ajouter tout le monde depuis Rails comme je l’ai suggéré, mais cela n’ajoutera pas de nouveaux utilisateurs.
Peut-être regarder le plugin d’automatisation et l’appartenance à un groupe par le biais d’insignes. Il semble que vous pourriez créer un badge personnalisé qui ajouterait les utilisateurs avec ce badge au groupe : Discourse Automation
Le nombre maximum d’utilisateurs que vous pouvez ajouter à la fois au formulaire Ajouter des utilisateurs d’un groupe est de 1000. En regardant le code, il semble que vous devriez recevoir un message d’erreur similaire à celui-ci si vous tentez d’en ajouter plus :
« Maximum 1000 utilisateurs peuvent être ajoutés à la fois. »
Il doit y avoir une sorte de limite, sinon Discourse risque de générer une erreur non gérée. Pour contourner cette limite, j’aime l’approche du plugin d’automatisation que Jay a suggérée.
Pourquoi ne pas utiliser l’interface encapsulée group.add(user) ? N’y aurait-il pas de problèmes potentiels à manipuler directement les ActiveRecord de cette manière ?
Je suis à peu près sûr que c’est la meilleure (et la plus simple) solution pour le cas d’utilisation de @kam44.
Mais c’est très bien de savoir comment ajouter des gens à un groupe depuis la console Rails : cela sera utile pour fusionner de grands groupes, ce que j’ai dû faire à l’occasion !