Status do Usuário do Grupo no Discourse

:information_source: Resumo Restringe o recurso de status do usuário a grupos específicos
:hammer_and_wrench: Link do Repositório https://github.com/Lillinator/discourse-group-user-status
:open_book: Guia de Instalação Como instalar plugins no Discourse

:woman_technologist: Visão Geral

Este plugin simples oferece aos administradores do fórum a capacidade de restringir os status dos usuários a grupos específicos ou níveis de confiança.

Atualmente, o status do usuário no núcleo do Discourse só pode ser habilitado para todo o fórum. No entanto, este plugin introduz um controle mais granular, permitindo que os administradores designem quais grupos de usuários podem definir e exibir status de usuário, proporcionando mais flexibilidade para a gestão personalizada da comunidade.

Recursos

  • Permissões baseadas em grupos – Restringe a definição de status do usuário a grupos selecionados (níveis de confiança, grupos personalizados ou ambos)
  • Sobreposição de administrador – Administradores sempre mantêm permissões de status, independentemente da seleção de grupo
  • Limpeza automática – Remove status de usuários quando eles perdem a permissão (via alterações nas configurações ou remoção do grupo)
  • Integração com a interface – Oculta controles de status de usuários não autorizados

:gear: Instalação e Configuração

  1. Siga o guia padrão de instalação de plugins.

  2. Acesse Admin -> Todas as configurações do site e pesquise por “status do usuário” para obter as configurações administrativas relevantes.

  3. Certifique-se de que a configuração administrativa existente Enable_user_status esteja habilitada.

  4. Em seguida, vá para a nova configuração administrativa User_status_allowed_groups e selecione os grupos autorizados a usar e exibir o recurso de status do usuário.

  5. Grupos que não estiverem na lista de configurações User_status_allowed_groups não terão acesso ao modal de status do usuário na aba do menu do usuário, nem na aba preferences/account.

  6. Se você já tiver Enable_user_status habilitado e alguns usuários tiverem seu status definido, este plugin limpará o status deles, a menos que sejam adicionados à nova configuração imediatamente.

  7. Ele também removerá um status existente se um usuário for removido de um grupo permitido, seja através do caminho /admin/users/ ou /admin/groups/ (ou se tiver permissão para sair do grupo por conta própria e o fizer).

  8. Selecionar o pseudogrupo everyone não é diferente de deixá-lo vazio por padrão ou até mesmo não instalar o componente!

  9. Administradores sempre podem definir e alterar seu status, independentemente de quais grupos estão selecionados; portanto, selecionar apenas o grupo admins restringirá o uso do status do usuário aos administradores do fórum.


:wrench: Configurações

Há uma nova configuração administrativa adicionada pelo plugin – User_status_allowed_groups, que é uma lista suspensa dos grupos do fórum. Ela pode ser encontrada pesquisando por user status em Todas as configurações do site e está listada na seção Permissões de grupo da barra lateral de administração.


:briefcase: Casos de Uso Exemplo

  • Se a funcionalidade de status do usuário for relevante apenas para a equipe do fórum, e eles possam querer mostrar um status de usuário para o restante do fórum.

  • Permita apenas que moderadores de categoria definam seu status.

  • Pode ser usado para prevenir abusos (ou outros usos indevidos) do recurso de status do usuário por grupos de usuários menos confiáveis.

  • Apenas grupos especiais devem poder exibir seu status de usuário – por exemplo, equipe de suporte técnico, vendedores de produtos, especialistas em categorias, patronos, mestres truqueiros de ioiô, etc.

  • Apenas administradores podem ir tomar um café :wink: :coffee:.


:bulb: Notas: Notificações e Integração com Calendário

Este plugin afeta apenas o status do usuário, não as configurações de notificação:

  • A opção “pausar notificações” no modal de status é um recurso separado.
  • Se o status de um usuário for limpo por este plugin, suas notificações pausadas permanecem ativas.
  • O indicador de notificação pausada permanece em seu avatar até que a duração expire ou eles pausarem manualmente.

Se você tiver o plugin Discourse Calendar instalado:

  • Status de férias definidos pelo plugin Calendar NÃO são afetados por este plugin.
  • Caso extremamente raro: Se um usuário substituir manualmente seu status de férias e um administrador remover seu grupo de user_status_allowed_groups durante suas férias agendadas, o status manual será limpo.
  • O plugin Calendar redefine automaticamente os status de férias a cada 10 minutos, então qualquer status limpo é restaurado na próxima execução agendada.
  • Usuários não podem definir ou editar status manualmente se não estiverem em um grupo permitido, mas atualmente tiverem um status de férias agendado.

:camera_flash: Mais Capturas de Tela

Capturas de tela do efeito da configuração no status do usuário

A permissão para usar o recurso de status do usuário é concedida na configuração User_status_allowed_groups. Por exemplo, um usuário test-pilot é TL_2 e está no grupo purple; aqui, ele tem permissão para definir e exibir um status de usuário, junto com Staff e TL_4:


Assim que a configuração User_status_allowed_groups for alterada e o grupo purple for removido da configuração, a capacidade do usuário test-pilot de usar o recurso de status do usuário será removida do menu do usuário e da página preferences/account, e se ele tiver um status de usuário definido, ele será limpo na próxima atualização da página. O mesmo efeito ocorre quando um usuário é removido do grupo (ou sai, se permitido).


Confira meus outros materiais do Discourse
15 curtidas

Ótimo trabalho! E lindamente documentado. Estou ansioso para experimentar.

1 curtida