Restringir Modo Lista de Emails a Grupo de Usuários

Olá,

Temos uma base de usuários de uma comunidade bastante antiga que utiliza muito o nosso Fórum no modo de lista de correio e está acostumada com isso. Queremos manter esse grupo, pois eles trazem muito conhecimento para as discussões.

À medida que novos membros se juntam, gostaria de restringir o modo de lista de correio — que gera um fluxo constante de threads e acarreta custos — apenas para os usuários antigos, não permitindo que os novos usuários o utilizem.

Existe alguma maneira de fazer isso?

Obrigado,
Uwe

Você pode desativá-lo nas configurações do seu site, por meio de

disable mailing list mode

Acho que isso ainda permitirá que usuários existentes que o tenham ativado continuem a usá-lo? O texto da descrição diz

Impedir que os usuários ativem o modo de lista de correio.

Mas vou perguntar ao @sam — isso desativaria o modo de lista de correio para todos ou apenas ocultaria a configuração?

Acho que você pode ocultar a configuração relacionada ao CSS. Você também pode optar por não ocultá-la para aqueles que desejam poder usá-la (ou desativá-la)!

Acredito que desativar a configuração do site desabilitará completamente o recurso, embora eu não tenha verificado o código (ou testado) para ter certeza.

Ele apenas oculta a configuração. Uma possível desvantagem disso é que impede que usuários que já haviam ativado o modo de lista de e-mails o desativem por meio da interface.

Obrigado pelas suas investigações!
Só para ter certeza.
Se eu desativar o modo de lista de e-mails, os usuários antigos permanecerão no modo de lista de e-mails. Se alguns deles quiserem mudar para o modo padrão de receber resumos, eles teriam que entrar em contato comigo?

Como eu mudaria então as configurações deles? Eu só vejo as mesmas configurações que as deles. Parece que eu precisaria de CLI para cada solicitação?

Depois de selecionar a configuração desativar modo de lista de e-mails, a maneira mais fácil de desativar o modo de lista de e-mails para um usuário que o ativou anteriormente seria desmarcar temporariamente a configuração desativar modo de lista de e-mails, ir para a página de preferências do usuário e desativar o modo de lista de e-mails para ele, e então ativar novamente a configuração desativar modo de lista de e-mails.

A outra abordagem seria usar o console do Rails. Por exemplo, se você já souber o ID do usuário:

uo = UserOption.find_by(user_id: <user_id>)

uo.update(mailing_list_mode: false)

Como o Discourse agora define o valor padrão da configuração “desativar modo de lista de e-mails” como true, investiguei isso um pouco mais. Quando “desativar modo de lista de e-mails” está definido como true, nenhum e-mail de lista de e-mails é enviado pelo Discourse. Isso significa que a configuração desativa completamente o modo de lista de e-mails para o site. As opções do usuário não são alteradas, no entanto: se você definir “desativar modo de lista de e-mails” como false após tê-lo definido como true, os usuários que anteriormente selecionaram a opção de modo de lista de e-mails começarão a receber e-mails de lista de e-mails novamente. Isso parece ser o comportamento correto para mim.