Créer un rapport sur l'appartenance à un groupe ?

  • Nous utilisons Discourse pour notre organisation gérée par des bénévoles et basée sur ses membres, et je souhaiterais savoir s’il existe un moyen rapide d’obtenir un rapport sur l’appartenance aux groupes.
  • Nous comptons actuellement environ 60 utilisateurs et 20 groupes, car nous utilisons Discourse pour faire fonctionner notre organisation, notamment là où les limites de l’email apparaissent dans les discussions de groupe.

Je trouve parfois que l’interface de gestion des permissions de Discourse est un peu limitante. Venant de l’informatique en tant qu’administrateur système, je suis habitué à pouvoir imbriquer des groupes dans des systèmes comme Active Directory, mais j’espère ne pas trop projeter cela sur Discourse, car ce sont évidemment des systèmes très différents.

  • J’espère pouvoir facilement produire un rapport listant qui fait partie de quel groupe, afin de m’aider à organiser nos catégories et gagner du temps.
    • Je sais que cela ne sera possible que si je maintiens les appartenances aux groupes à jour, mais c’est la meilleure méthode que je connaisse.
  • Je suppose que l’imbrication de groupes n’est pas possible ?

  • Quelle est la logique derrière le mécanisme qui génère cette erreur ?
  • Je comprends qu’on ne souhaite pas qu’une catégorie enfant soit accessible lorsque la catégorie parent ne l’est pas (ceci est acceptable pour un lecteur réseau partagé, mais cela n’a pas de sens dans Discourse).
  • Mais pourriez-vous éventuellement modifier ce comportement pour afficher une alerte indiquant que le groupe concerné n’est pas accessible par la catégorie parent, et qu’en poursuivant ce changement, les permissions minimales nécessaires (ou un niveau sélectionnable) seront attribuées ?

Il pourrait y avoir une requête Data Explorer qui pourrait vous fournir ces informations ? Une liste de chaque groupe et des membres de chaque groupe ? C’est bien cela que vous recherchez ?

@michebs, peut-être que tu peux nous aider avec ça ?

Si ces informations sont ce dont vous avez besoin, ces requêtes peuvent vous aider.

LISTE DES NOMS DE GROUPES
SELECT 
    g.name group_name,
    user_count
FROM groups g 
ORDER BY g.name ASC
LISTE DES GROUPES ET DES MEMBRES
-- [params]
-- string :group_name

SELECT 
    g.name group_name,
    u.username user_name,	
    gu.owner group_owner
FROM group_users gu 
LEFT JOIN groups g ON gu.group_id = g.id
LEFT JOIN users u ON gu.user_id = u.id
WHERE user_id > 0
    AND g.name LIKE '%'||:group_name||'%'
ORDER BY g.name ASC, gu.owner DESC
LISTE DE TOUS LES GROUPES ET DE LEURS MEMBRES
SELECT 
    g.name group_name,
    u.username user_name,	
    gu.owner group_owner
FROM group_users gu 
LEFT JOIN groups g ON gu.group_id = g.id
LEFT JOIN users u ON gu.user_id = u.id
WHERE user_id > 0
ORDER BY g.name ASC, gu.owner DESC

Merci @codinghorror @michebs.

Je n’ai jamais utilisé cet Explorateur de requêtes de données auparavant. Est-ce quelque chose que je trouverai dans l’interface en ligne de commande (CLI) de mon instance ?

À première vue, cela semble un peu similaire aux requêtes SQL et Influx.

Il s’agit d’un plugin. Voir Discourse Data Explorer

C’est du SQL.