Iscrizione a gruppi gerarchici (gruppi all'interno di altri gruppi)

Per il nostro club di corsa, sto coordinando una sfida annuale che include una componente a squadre. Per ogni squadra di fascia d’età decennale, sto creando un gruppo su Discourse in modo che possano essere menzionati con @ e, potenzialmente, avere le proprie conversazioni, anche se dubito fortemente che qualcuno ci riesca. Quindi ho sette gruppi per ciascuna delle squadre di fascia d’età e devo aggiornarli manualmente man mano che le persone si registrano.

Vorrei anche creare un gruppo “supremo” che contenga tutte le persone che partecipano alla sfida. Sarebbe MOLTO più semplice se potessi far sì che il gruppo principale “Challengers” contenesse semplicemente i sottogruppi per 19 anni e sotto, 20-29, 30-39 e così via. In questo modo potrei gestire solo i sottogruppi e lasciare che le modifiche si propaghino automaticamente al gruppo supremo.

Esiste (o potrebbe esistere) un modo per farlo, o sono costretto a inserire manualmente ogni nome utente dai sottogruppi? (Credo che si tratti di diverse centinaia di persone in totale, un compito settimanale.)

6 Mi Piace

Dovresti usare la funzione ‘Aggiungi in blocco al gruppo’, che ti farà risparmiare molta digitazione!

Non credo che abbiamo intenzione di implementare la risoluzione completa dell’associazione gerarchica ai gruppi.

2 Mi Piace

Continuo a confondermi con i riferimenti a ‘Aggiungi in blocco a un gruppo’, dato che per quanto ne so non appare nell’interfaccia utente: gli screenshot del topic del 2015 a cui hai fatto riferimento non corrispondono a ciò che vedo ora. È semplicemente la stessa cosa dell’uso della finestra di dialogo ‘Aggiungi membri’ all’interno di un gruppo?

E come posso copiare un elenco di membri di un gruppo per poterli aggiungere in blocco a un altro? Il flusso di lavoro migliore che riesco a immaginare al momento è copiare il testo della pagina Membri e utilizzare un grep intelligente (in Nisus Writer Pro) per estrarre i nomi utente. È fattibile, ma non esattamente semplice.

1 Mi Piace

Ci sono diversi riferimenti alla funzionalità “aggiungi in blocco al gruppo” qui su Meta, ma non la vedo più attiva su https://discourse.example.org/admin/groups/bulk, solo una pagina vuota (ho controllato alcuni siti diversi dove ho i diritti di amministratore). Vedi qualcosa lì tu, @adamengst?

1 Mi Piace

Scusa per il ritardo, non ho visto la notifica. No, non ho affatto una pagina all’indirizzo https://forum.fingerlakesrunners.org/admin/groups/bulk (404), e la pagina principale dei gruppi si trova all’indirizzo FLRC Forum

Non trovo alcun riferimento a “Bulk Add” da nessuna parte.

1 Mi Piace

Immagino che questa sia una funzione un po’ nascosta, ma puoi utilizzare la funzione di invito in blocco per aggiungere utenti esistenti ai gruppi. Prepara semplicemente un file CSV con l’indirizzo email e il gruppo, come spiegato nella finestra di dialogo, e caricalo. Gli utenti non riceveranno un’email.

2 Mi Piace

@tobiaseigen Ah! Sai per caso se gestirebbe gli aggiornamenti di gruppo per gli utenti esistenti, nel caso in cui l’indirizzo email in questione abbia già un account?

Sì. È esattamente questo che intendo:

Questa funzione sembra svolgere un doppio compito e possiamo migliorare l’interfaccia utente. Proporrò qualcosa.

3 Mi Piace

Fantastico, grazie! Ora vado su LibreOffice Calc! :keyboard:

1 Mi Piace

Grazie! Ci stiamo avvicinando, anche se faccio notare che basarsi sull’indirizzo e-mail spesso non funziona bene per me, poiché molte persone hanno più indirizzi. Di conseguenza, devo verificare in anticipo se sto invitando l’indirizzo associato a un account esistente o un altro che potrebbe creare confusione (e potenzialmente portarli a creare un secondo account).

Non conosco il funzionamento della base sottostante, ma sembrerebbe la soluzione più semplice permettere ai gruppi di contenere riferimenti ad altri gruppi.

1 Mi Piace

Potresti sempre esportare gli utenti e utilizzare il CSV esportato per creare una nuova lista da importare nuovamente tramite la funzione di invito in blocco. Sembra che tu debba farlo solo una volta per configurare il sistema con i tuoi utenti esistenti, poi manualmente quando si uniscono nuove persone o quando modificano la propria fascia d’età.

Forse c’è spazio per un codice personalizzato per automatizzare parzialmente questo processo per la tua community: potresti pubblicare una richiesta in Marketplace se hai un budget.

1 Mi Piace

Ottimo punto sull’esportazione degli utenti—non ci avevo pensato come modo per popolare l’inizio della lista con gli account. Continuerò a riflettere su questo e vedremo come va.

1 Mi Piace

I gruppi gerarchici (gruppi come membri di gruppi) avrebbero il vantaggio aggiuntivo di rimuovere automaticamente i membri dai gruppi ereditati.

Per implementare una tale funzionalità “manualmente”, dovresti ricordare se un’appartenenza a un gruppo è stata ereditata da un gruppo gerarchicamente superiore o impostata direttamente.

Potresti commentare l’uso di un servizio di directory utente esterno (ldap) per implementare una funzione di gruppo gerarchica?

2 Mi Piace

@angus Mi stavo chiedendo se GroupAssociatedGroup implementi già l’intenzione di questo thread.

No, quella funzionalità riguarda la sincronizzazione dei gruppi su servizi esterni con i gruppi di Discourse, non con le gerarchie di gruppi.

1 Mi Piace

Dato che ho avviato questa discussione, ho pensato di intervenire e dire che la mia richiesta di gruppi gerarchici è ancora completamente pertinente.

La funzionalità di invito in blocco al gruppo semplicemente non entra in gioco perché, nel mio caso, sto aggiungendo persone a gruppi specifici basati sull’età e a un gruppo generale che comprende tutti i gruppi basati sull’età in un arco di tempo di 4 mesi man mano che si registrano in un altro sistema.

Vedrò se il mio sviluppatore può automatizzare il processo quest’anno, ora che so quanto sia incredibilmente noioso farlo manualmente su base settimanale.

1 Mi Piace

@adamengst Ci sono progressi qui?

Sì, infatti il mio sviluppatore è stato in grado di sincronizzare i dati da Webscorer, che utilizziamo per la registrazione delle gare, con i gruppi Discourse. Richiede che i nomi corrispondano, ma ha creato una pagina di amministrazione che mostra quando non corrispondono.

Quindi non c’è una gerarchia, ma stiamo popolando automaticamente più gruppi, il che rimuove la principale esigenza che avevo.

È codice open-source, quindi probabilmente posso condividerlo se qualcuno è interessato a vedere come funziona.

3 Mi Piace

Ho ricevuto anche una richiesta diretta per questo, quindi se qualcuno volesse dare un’occhiata al codice di @SteveDesmond.ca per scrivere nei gruppi di Discourse, è disponibile su:

E Steve ha detto che è felice di rispondere a domande al riguardo.

2 Mi Piace

Ecco una bozza per il codice specifico menzionato in precedenza da Adam:

  1. (L36) ottenere tutti gli utenti nel sistema esterno
  2. (L37) ottenere tutti gli utenti in Discourse
  3. (L38-39) ottenere tutti i membri dei gruppi in questione (global è il “supergruppo” in questo caso)
  4. (L46-78) per ogni utente nel sistema esterno, verificare se esiste in Discourse e mappare a quali gruppi fa già parte e a quali deve essere aggiunto
1 Mi Piace