Creazione di un report sull'appartenenza al gruppo?

  • Utilizziamo Discourse per la nostra organizzazione gestita da volontari e basata sui soci, e vorrei sapere se esiste un modo rapido per ottenere un report sull’iscrizione ai gruppi.
  • Attualmente abbiamo circa 60 utenti e 20 gruppi, poiché utilizziamo Discourse per gestire la nostra organizzazione, in particolare dove le carenze della posta elettronica emergono nelle discussioni di gruppo.

Trovo che alcune funzionalità di interfaccia con i permessi di Discourse siano a volte un po’ limitanti. Vengo dall’ambito IT sysadmin, quindi sono abituato a poter annidare gruppi in sistemi come Active Directory, ma spero di non proiettare troppo questa logica su Discourse, dato che sono chiaramente cose molto diverse.

  • Spero di poter produrre facilmente un report con un elenco di chi fa parte di quale gruppo, per aiutarmi a mantenere le categorie organizzate e risparmiare tempo.
    • So che questo sarà possibile solo se manterrò aggiornata l’iscrizione ai gruppi, ma è il metodo migliore di cui sono a conoscenza.
  • Presumo che l’annidamento dei gruppi non sia possibile?

  • Qual è la ragione alla base del meccanismo che genera questo errore?
  • Capisco che non si voglia rendere accessibile una sottocategoria quando la categoria genitore non lo è (questo va bene per un’unità di rete condivisa, ma non ha senso in Discourse).
  • Tuttavia, potreste modificare il comportamento in modo da mostrare un avviso che il gruppo in questione non è accessibile dalla categoria genitore, e che procedendo con questa modifica, verranno aggiunti con i permessi minimi necessari (o un livello selezionabile)?

Forse esiste una query di Data Explorer che potrebbe fornirti queste informazioni? Un elenco di ogni gruppo e dei relativi membri? È questo che stai cercando?

@michebs forse qualcosa con cui puoi dare una mano?

Se queste informazioni sono ciò di cui hai bisogno, queste query possono aiutarti.

ELENCA I GRUPPI PER NOME
SELECT 
    g.name group_name,
    user_count
FROM groups g 
ORDER BY g.name ASC
ELENCA GRUPPI E MEMBRI
-- [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
ELENCA TUTTI I GRUPPI E I MEMBRI
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

Grazie @codinghorror @michebs.

Non ho mai usato questo Data Query Explorer prima d’ora. È qualcosa che troverò nella CLI della mia istanza?

A giudicare dall’aspetto, sembra un po’ simile a SQL e alle query Influx

È un plugin. Vedi Discourse Data Explorer

È SQL.