Ao criar um grupo, temos a configuração de associação automática baseada no domínio de e-mail do usuário. Gostaria de ter essa funcionalidade baseada no valor de um campo personalizado.
Caso de Uso Exemplo
Tenho uma comunidade de condomínios com um campo personalizado de lista suspensa que indica o status de propriedade (Proprietário, Inquilino). Quero que todos os proprietários sejam automaticamente adicionados a um grupo de proprietários e que seja possível enviar mensagens apenas para todos os proprietários em certas ocasiões.
Observações
Isso parece direto para campos personalizados do tipo lista suspensa e confirmação, mas imagino que possa ficar complicado para campos de texto. Seria aceitável habilitar essa funcionalidade apenas para listas suspensas e confirmações; caso contrário, uma correspondência exata de texto para campos de texto seria suficiente.
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.
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.
For anybody coming across this in the future: I had a similar use case (two distinct user populations – people offering services vs. people seeking services) and ended up implementing it via webhooks and the Discourse API.
More specifically, I…
created a webhook triggered on user events
implemented a barebones Express.js server to receive the payload
set up a POST route for user_created events that checks the value of a custom user field, and then uses the Discourse API to set the user’s group accordingly
This seems like kind of a goofy way to do it because I’m going outside Discourse to modify something within Discourse, but I scoured the forum for answers to this and came up with nothing, so I did my best! Hope this helps someone in the future, and if anyone comes up with a better way of doing it, I’d love to know.
I’m looking to do something very similar to this for auto-segmenting users into groups based on a custom User Field dropdown. Did you happen to open-source this?
@li-zi, sei que você já resolveu isso em certo grau para o seu caso, mas parece-me que outra solução potencial seria usar o plugin Custom Wizard.
Eu uso isso para solicitar que novos usuários preencham o assistente após se registrarem.
O assistente possui alguns campos que oferecem opções de seleção suspensa.
Em seguida, configurei duas ações separadas para serem concluídas após o envio do assistente:
uma para atualizar os campos personalizados do perfil do usuário com o campo do assistente selecionado no menu suspenso
outra ação para adicionar o usuário a um grupo específico com base na seleção feita no campo do assistente