Aggiungi automaticamente gli utenti ai gruppi in base al valore del campo personalizzato

Quando si crea un gruppo, abbiamo l’impostazione di appartenenza automatica basata sul dominio del nome di dominio dell’email dell’utente. Vorrei avere questa funzionalità basata sul valore di un campo personalizzato.

Caso d’uso di esempio

Ho una comunità condominiale con un campo personalizzato a menu a tendina che indica lo stato di proprietà (Proprietario, Affittuario). Voglio che tutti i proprietari siano automaticamente in un gruppo proprietari e che sia possibile inviare messaggi solo a tutti i proprietari per determinate comunicazioni.

Avvertenze

Questa funzionalità sembra semplice per i campi personalizzati a menu a tendina e di conferma, ma potrebbe diventare complessa per i campi di testo. Va bene abilitarla solo per i menu a tendina e le conferme; altrimenti, per i campi di testo è sufficiente una corrispondenza esatta del testo.

9 Mi Piace

Since these are user settable custom fields, you can just make the groups open membership and tell people to add / remove themselves via the /groups page.

2 Mi Piace

Not realistic for my use case. Hard to get a bunch of random homeowners, some very old, to bother going around tinkering with their settings. It was hard enough getting them to just register once to get the emails, and it’s hard to even get them to pay attention and do stuff even when there are financial penalties.

1 Mi Piace

Per chiunque si imbatta in questo in futuro: avevo un caso d’uso simile (due popolazioni di utenti distinte: persone che offrono servizi e persone che cercano servizi) e ho finito per implementarlo tramite webhook e l’API di Discourse.

Più nello specifico, ho…

  • creato un webhook attivato su eventi relativi agli utenti
  • implementato un server Express.js essenziale per ricevere il payload
  • impostato una rotta POST per gli eventi user_created che controlla il valore di un campo utente personalizzato e utilizza quindi l’API di Discourse per impostare il gruppo dell’utente di conseguenza

Sembra un po’ un metodo bizzarro perché esco da Discourse per modificare qualcosa all’interno di Discourse, ma ho setacciato il forum alla ricerca di risposte a questo e non ho trovato nulla, quindi ho fatto del mio meglio! Spero che questo possa aiutare qualcuno in futuro e, se qualcuno troverà un modo migliore per farlo, sarei felice di saperlo.

3 Mi Piace

Sto cercando di fare qualcosa di molto simile per segmentare automaticamente gli utenti in gruppi in base a un menu a tendina personalizzato di campo utente. Hai per caso reso open source questo?

Il mio caso d’uso è più o meno lo stesso, ne ho parlato qui

3 Mi Piace

@li-zi so che hai già risolto questo problema nel tuo caso, ma mi sembra che un’altra soluzione possibile sia utilizzare il plugin Custom Wizard.
Lo uso io per invitare i nuovi utenti a compilare la procedura guidata dopo la registrazione.
La procedura guidata include alcuni campi che offrono opzioni a menu a tendina.
Ho quindi impostato due azioni separate da eseguire al termine della procedura guidata:

  • una per aggiornare i campi utente personalizzati del profilo con il valore del campo della procedura guidata selezionato dal menu a tendina
  • un’altra azione per aggiungere l’utente a un gruppo specifico in base alla selezione effettuata nel campo della procedura guidata
3 Mi Piace

Per concludere anche questo punto, ora è possibile farlo utilizzando lo script di automazione ‘Aggiungi utente a gruppo tramite campo personalizzato’. :partying_face:

Puoi leggere di più su come farlo qui:

1 Mi Piace