Pour notre club de course à pied, j’organise un défi d’une année avec une composante par équipe. Pour chaque équipe par tranche d’âge de 10 ans, je crée un groupe Discourse afin qu’ils puissent être mentionnés avec @ et éventuellement avoir leurs propres discussions, bien que je doute fort que quelqu’un s’en rende compte. J’ai donc sept groupes pour chacune des équipes par tranche d’âge, et je dois les mettre à jour manuellement au fur et à mesure des inscriptions.
Je souhaite également disposer d’un groupe principal regroupant tous les participants au défi. Ce serait beaucoup plus simple si le groupe principal « Challengers » pouvait simplement contenir les sous-groupes pour les 19 ans et moins, les 20-29 ans, les 30-39 ans, et ainsi de suite. Ainsi, je pourrais simplement gérer les sous-groupes et voir les modifications se propager automatiquement au groupe principal.
Existe-t-il (ou pourrait-il exister) un moyen de faire cela, ou suis-je contraint de saisir manuellement chaque nom d’utilisateur des sous-groupes ? (Je pense qu’il s’agit de plusieurs centaines de personnes au total, ce qui représenterait une tâche hebdomadaire.)
Je reste confus par les références à « Ajout en masse à un groupe », car cela n’apparaît pas dans l’interface utilisateur, du moins à ma connaissance — les captures d’écran du sujet de 2015 que vous avez liées ne correspondent pas à ce que je vois aujourd’hui. S’agit-il simplement de la même chose que d’utiliser la boîte de dialogue « Ajouter des membres » au sein d’un groupe ?
Et comment puis-je copier une liste de membres d’un groupe pour pouvoir les ajouter en masse à un autre ? Le meilleur flux de travail que je puisse imaginer pour l’instant consiste à copier le texte de la page des Membres et à utiliser un grep stylisé (dans Nisus Writer Pro) pour extraire les noms d’utilisateurs. C’est faisable, mais pas vraiment simple.
Il y a plusieurs références à la fonctionnalité « ajouter en masse à un groupe » ici sur Meta, mais je ne la vois plus active à l’adresse https://discourse.example.org/admin/groups/bulk, juste une page blanche (j’ai vérifié sur quelques sites différents où j’ai les droits d’administration). Voyez-vous quelque chose là @adamengst ?
Désolé pour le retard — j’ai manqué la notification. Non, je n’ai pas du tout de page à l’adresse https://forum.fingerlakesrunners.org/admin/groups/bulk (erreur 404), et la page principale des groupes se trouve à FLRC Forum. Je ne trouve aucune mention de l’ajout en masse nulle part.
Je suppose que c’est un peu une fonctionnalité cachée, mais vous pouvez utiliser la fonction d’invitation en masse pour ajouter des utilisateurs existants à des groupes. Préparez simplement un fichier CSV avec l’adresse e-mail et le groupe comme expliqué dans la fenêtre modale, puis téléchargez-le. Les utilisateurs ne recevront pas d’e-mail.
@tobiaseigen Ah ! Savez-vous par hasard si cela gère les mises à jour de groupe pour les utilisateurs existants si l’adresse e-mail concernée possède déjà un compte ?
Merci ! Cela se rapproche, bien que je note que s’appuyer sur l’adresse e-mail fonctionne souvent mal pour moi, car beaucoup de personnes ont plusieurs adresses. Je dois donc vérifier à l’avance si j’invite celle qui est associée à un compte ou une autre, ce qui pourrait prêter à confusion (et potentiellement créer un deuxième compte pour cette personne).
Je ne sais pas comment fonctionne la base sous-jacente, mais il semblerait plus simple de permettre aux groupes de contenir des références à d’autres groupes.
Vous pouvez toujours exporter les utilisateurs, puis utiliser le fichier CSV exporté pour créer une nouvelle liste à réimporter via la fonctionnalité d’invitation en masse. Il semble que vous n’ayez besoin de le faire qu’une seule fois pour configurer le système avec vos utilisateurs existants, puis manuellement lorsque de nouvelles personnes rejoignent la communauté ou modifient leur tranche d’âge.
Il est peut-être envisageable de développer un code personnalisé pour semi-automatiser ce processus pour votre communauté. Vous pouvez publier une demande dans Marketplace si vous disposez d’un budget.
Bonne remarque sur l’exportation des utilisateurs — je n’avais pas pensé à cela comme moyen de peupler la liste avec des comptes au départ. Je vais continuer à réfléchir à cela et voir comment cela se passe.
Les groupes hiérarchiques (groupes comme membres de groupes) auraient l’avantage supplémentaire de supprimer automatiquement les membres des groupes hérités.
Pour implémenter une telle fonctionnalité « à la main », vous devriez vous souvenir si une appartenance à un groupe a été héritée d’un groupe hiérarchiquement supérieur ou définie directement.
Pourriez-vous commenter l’utilisation d’un service d’annuaire d’utilisateurs externe (ldap) pour implémenter une fonction de groupe hiérarchique ?
Non, cette fonctionnalité concerne la synchronisation des groupes sur des services externes avec les groupes Discourse, pas les hiérarchies de groupes.
Depuis que j’ai lancé ce fil de discussion, j’ai pensé qu’il serait bon de donner mon avis et de dire que ma demande de groupes hiérarchiques est toujours tout à fait pertinente.
La fonctionnalité d’invitation en masse aux groupes n’entre tout simplement pas en jeu car, dans mon cas, j’ajoute des personnes à des groupes spécifiques basés sur l’âge et à un groupe général qui englobe tous les groupes basés sur l’âge sur une période de 4 mois au fur et à mesure de leur inscription dans un autre système.
Je vais voir si mon développeur peut automatiser le processus cette année, maintenant que je sais à quel point il est fastidieux de le faire manuellement chaque semaine.
Oui, en fait, mon développeur a pu synchroniser les données de Webscorer, que nous utilisons pour l’inscription aux courses, avec les groupes Discourse. Cela nécessite que les noms correspondent, mais il a créé une page d’administration qui montre quand ce n’est pas le cas.
Il n’y a donc pas de hiérarchie, mais nous remplissons plusieurs groupes automatiquement, ce qui élimine le besoin principal que j’avais.
C’est du code open-source, donc je peux probablement le partager si quelqu’un est intéressé à voir comment cela fonctionne.
J’ai également reçu une demande directe pour cela, donc si quelqu’un souhaite examiner le code de @SteveDesmond.ca pour écrire dans les groupes Discourse, il est disponible sur :
Et Steve a dit qu’il était heureux de répondre aux questions à ce sujet.
Voici un aperçu du code spécifique qu’Adam a mentionné précédemment :
(L36) obtenir tous les utilisateurs du système externe
(L37) obtenir tous les utilisateurs de Discourse
(L38-39) obtenir tous les membres des groupes en question (global est le « supergroupe » dans ce cas)
(L46-78) pour chaque utilisateur du système externe, vérifier s’il existe dans Discourse et cartographier les groupes dont il fait déjà partie et auxquels il doit être ajouté