Status do usuário do grupo

: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/group-user-status
:open_book: Guia de Instalação Como instalar plugins no Discourse

:woman_technologist:t2: Visão Geral

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

Atualmente, o status do usuário no núcleo do Discourse só pode ser ativado 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, proporcionando mais flexibilidade para a gestão personalizada da comunidade.

Recursos

  • Permissões baseadas em grupos - Restringir a definição de status do usuário a grupos selecionados (níveis de confiança, grupos personalizados ou ambos)
  • Sobrescrição por administrador - Administradores sempre mantêm permissões de status, independentemente da seleção de grupos
  • Limpeza automática - Remove status de usuários quando eles perdem a permissão (por meio de alterações nas configurações ou remoção do grupo)
  • Integração com a interface - Oculta os 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. Vá para Admin -> Todas as configurações do site e pesquise por “user status” (status do usuário) para acessar as configurações administrativas relevantes.

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

  4. Em seguida, vá para a nova configuração administrativa User_status_allowed_groups e selecione os grupos que têm permissão para 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 pela aba no menu do usuário, nem pela aba preferences/account (preferências/conta).

  6. Se você já tiver Enable_user_status ativado 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 pelo caminho /admin/users/ ou /admin/groups/ (ou se tiver permissão para sair do grupo e o fizer).

  8. Selecionar o pseudo-grupo everyone (todos) não é diferente de deixar o valor padrão vazio ou nem mesmo instalar o componente!

  9. Administradores sempre podem definir e alterar seu status, independentemente dos grupos selecionados; assim, 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 user status em Todas as configurações do site, e está listada na seção Group permissions (Permissões de grupo) da barra lateral do administrador.


:briefcase: Exemplos de Casos de Uso

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

  • Permitir que apenas 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 com menos confiança.

  • Apenas grupos especiais devem poder exibir seu status do usuário - por exemplo, equipe de suporte técnico, vendedores de produtos, especialistas em categorias, patrocinadores, mestres do iô-iô, etc.

  • Apenas administradores têm permissão para ir tomar café :wink: :coffee:.


:bulb: Observações: 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 no avatar deles até que a duração expire ou eles desativem a pausa manualmente.

Se você tiver o plugin Discourse Calendar instalado:

  • Status de férias definidos pelo plugin Calendário NÃO são afetados por este plugin.
  • Caso extremo muito raro: Se um usuário sobrescrever manualmente seu status de férias e um administrador remover o grupo dele de user_status_allowed_groups durante suas férias agendadas, o status manual será limpo.
  • O plugin Calendário redefine automaticamente os status de férias a cada 10 minutos, então qualquer status limpo será 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 tiverem atualmente 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 do 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 de sua página preferences/account, e se ele tiver um status do 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 tiver permissão para fazê-lo).


Confira meus outros recursos para Discourse
16 curtidas

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

1 curtida

Atualizei este plugin com as novas configurações granulares disallowed_groups, de modo que os grupos desnecessários anonymous_users, logged_in_users e everyone não possam ser selecionados. Ele se atualizará automaticamente na próxima vez que você atualizar sua instância do Discourse.

Para mais informações, veja este tópico:

3 curtidas