Aggiungi script per aggiungere l'utente al gruppo di utenti

Attualmente è presente uno script nel plugin Automation per aggiungere utenti a un gruppo in base a un campo personalizzato. Vorremmo uno script per aggiungere utenti a un gruppo quando vengono aggiunti a un altro gruppo.

Lo scenario è questo: il plugin Discourse Experts richiede di avere un solo gruppo di utenti designato per gli “esperti”. Stiamo gestendo un programma di ambasciatori e abbiamo due livelli di ambasciatori, entrambi “esperti” in questo caso.

Vorremmo dire che chiunque venga aggiunto a “Ambasciatori” o “Ambasciatori Esperti” venga aggiunto anche al gruppo di utenti “Esperti”.

5 Mi Piace

Se siete disposti a sponsorizzare questo, non lo vedo troppo complicato, possiamo preventivare il lavoro. Contattare team.

2 Mi Piace

Richiesto anche in:

2 Mi Piace

Oltre all’argomento collegato da @JammyDodger, ci sono state altre richieste per funzionalità simili

Ci sono state anche richieste per poter visualizzare i gruppi in modo gerarchico:

Sto annotando questo solo per assicurarmi che l’aggiunta di uno script di automazione sia il modo migliore per affrontare questo problema, o se si tratta di una funzionalità che dovrebbe essere aggiunta al codice principale dei gruppi di Discourse.

Ho armeggiato con questo per divertimento. È in qualche modo correlato ad alcuni lavori recenti che ho svolto con Zapier. Sentiti libero di ignorare il resto di questo post.

Supponendo che uno script di automazione sia l’approccio giusto, l’unico ostacolo è che il componente group del plugin di automazione accetta solo un singolo gruppo. Quindi, o il componente group deve essere aggiornato per accettare più di un gruppo, o deve essere aggiunto un nuovo componente groups. Ho aggiunto un componente groups al mio branch di sviluppo locale per testarlo. Con questo in atto:

Aggiungi un utente a un gruppo padre quando viene aggiunto a uno qualsiasi di un elenco di sottogruppi:

Rimuovi un utente da un gruppo padre se è stato rimosso da tutti i sottogruppi elencati:

Se può essere d’aiuto, i trigger e gli script sono in un plugin: automation-script-example/plugin.rb at main · scossar/automation-script-example · GitHub. Nota che questo codice presuppone che un componente groups sia stato aggiunto a https://github.com/discourse/discourse-automation/tree/main/assets/javascripts/discourse/components/fields.

4 Mi Piace

Questo plugin ora copre questa funzionalità: