Como silenciar automaticamente categorias quando um usuário sai de um grupo?

Olá Equipe Discourse e Comunidade,

Estou procurando uma maneira de silenciar automaticamente uma categoria quando um usuário sai de um grupo.

:rocket: O Que Eu Quero Alcançar

  • Quando um usuário entra em um grupo, ele acompanha a categoria relacionada ao grupo (isso funciona via Group Category Notification Default). [:white_check_mark: Já fiz isso com o plugin Custom Wizard]
  • Quando um usuário sai de um grupo, sua categoria relacionada deve ser silenciada automaticamente, para que ele pare de receber notificações e resumos por e-mail.
  • Idealmente, isso deve ser totalmente automatizado, sem intervenção manual.

:red_question_mark: Minhas Perguntas

:one: Existe uma maneira integrada (sem codificação ou chamadas de API) de silenciar uma categoria quando um usuário sai de um grupo?
:two: Seria possível adicionar "Usuário Sai do Grupo" como um gatilho no Plugin de Automações do Discourse?
:three: Alguma solução alternativa que não exija intervenção manual do administrador?

Adoraria saber como outros lidaram com esse cenário ou se há alguma solicitação de recurso em andamento para adicionar essa capacidade.

Obrigado antecipadamente! :raising_hands:

1 curtida

Se uma categoria for permitida para esse grupo, não há necessidade de silenciar nada, pois não haverá acesso após sair desse grupo.

2 curtidas

Obrigado @Jagster.
Sim, notei que não há acesso após sair do grupo.
Mas a categoria ainda aparece no lado do usuário. E as postagens mais recentes também aparecem na aba de novidades.

Eu só quero silenciar a categoria relacionada para que ela não apareça lá.
Estou procurando um processo automatizado para este cenário.

1 curtida

Isso não deveria estar acontecendo. A categoria é uma categoria segura à qual apenas o grupo tem acesso?

2 curtidas

Não, a categoria tem acesso para ser vista por todos.
Eu queria fazer isso em grupos públicos.

2 curtidas

Eu acho que você pode precisar de uma Automação Personalizada, talvez.

Embora esse tipo de ideia seria uma boa adição às configurações de grupo, talvez como um alternador quando alguém sai do grupo. Para desfazer/silenciar certas coisas originalmente alteradas (concedido quando adicionado a um grupo)

5 curtidas

Não tenho certeza, mas você também pode usar um assistente personalizado se ele puder ser acionado automaticamente ou talvez em conjunto com uma automação. Eu verificaria com o Pavilion.

1 curtida

Não entendo a lógica por trás disso.

  • um visitante aleatório vê a categoria X e a vê, mesmo em /latest
  • um usuário faz login, não é membro do grupo X, vê a categoria X e ela está em /latest
  • um usuário entra no grupo X e obtém todos os direitos (esse é o ponto do grupo?)
  • um usuário sai do grupo X, ainda pode ver a categoria X, mas ela não aparece em /latest

Por quê :thinking:

2 curtidas

Você quer realmente silenciar a categoria, ou apenas redefinir as notificações para “normal”?

Se for o último caso, eu diria que isso é na verdade um Bug (ou melhor: a implementação não se encaixa neste caso de uso, embora pareça lógico que se encaixaria).

Quando eu defino o grupo X para observar a categoria Y e me torno membro desse grupo, eu de fato estou observando automaticamente a categoria Y. A categoria Y é copiada para minhas categorias “observando”. Não há vestígio de como ela chegou lá, não sabemos se ela estava lá porque eu a adicionei antes ou se ela estava lá por causa da minha associação ao grupo.

Quando eu saio do grupo X, continuo observando a categoria Y. A categoria não é removida das minhas categorias “observando”, como seria de se esperar.

Mudar essa implementação seria um grande esforço, então acho que isso seria algo para um plugin no momento. Apenas algo que dispare na remoção do grupo com o evento :user_removed_from_group, obtenha as categorias, remova-as das preferências do usuário.

3 curtidas

Você vê alguma chance de isso ser implementado sem suporte do núcleo?

Já existe algum mecanismo implementado que possa ser usado para rastrear intervenções do usuário nos níveis de notificação?

2 curtidas

Pelo que sei, não.

2 curtidas

Obrigado @Jagster
na verdade eu gostaria de implementar isso para um fórum grande, eu só quero manter o lugar limpo e todos devem ver os tópicos de acordo com a seleção de seus grupos.

1 curtida

Ok, vou tentar verificar com a Pavilion.

2 curtidas

Eu queria silenciar, mas normal também serve neste caso.

2 curtidas

Concordo com essa abordagem - uma que é menos rígida do que o acesso binário tradicional / sem acesso.

É frequentemente útil ter coisas livremente acessíveis para aqueles que as procuram, mas apenas altamente visíveis / notificando um grupo seleto de pessoas. Isso é bem fácil de iniciar no Discourse, mas difícil de retrair - acredito que é isso que você está procurando fazer.

Os usuários podem, é claro, fazer isso sozinhos, mas geralmente são bastante inúteis nesse aspecto.

Infelizmente, o Custom Wizard Plugin 🧙 requer interação do usuário para iniciar coisas assim. Seria necessária uma automação (provavelmente personalizada) para remover o status de observação daqueles que não estão mais em um grupo.

Ou isso precisa ser uma solicitação de recurso para alterar o comportamento principal. Já existem algumas solicitações de recursos nessa linha.

2 curtidas

Olá a todos,

Muito obrigado a todos que responderam, especialmente a @Jagster, @NateDhaliwal, @Heliosurge, @thoka e @nathank pelas informações úteis! Depois de pensar um pouco, eu realmente gostaria de ver uma opção para silenciar categorias automaticamente quando um usuário sai de um grupo.

Eu estava me perguntando, qual seria a melhor maneira de solicitar formalmente esse recurso para o Discourse? Existe um lugar onde possamos enviar solicitações de recursos, ou seria mais uma discussão para dar o pontapé inicial?

Aguardo ansiosamente para ouvir suas opiniões!

2 curtidas

Sim, chama-se Feature :slightly_smiling_face:

3 curtidas

Agradecimentos especiais a @Canapin e a todos que contribuíram para a discussão e forneceram insights! :raising_hands:

3 curtidas