Menus da Barra Lateral de Grupos do Discourse

:information_source: Resumo Crie menus de barra lateral personalizados com acesso restrito a grupos selecionados
:eyeglasses: Pré-visualização Junte-se a este grupo do Criador de Temas e depois pré-visualize aqui
:hammer_and_wrench: Repositório \u003chttps://github.com/Lillinator/discourse-group-sidebar-menus\u003e
:question: Guia de Instalação Como instalar um tema ou componente de tema
:open_book: Novo em Temas do Discourse? Guia para iniciantes sobre como usar Temas do Discourse

Instalar este componente de tema

:woman_technologist:t2: Visão Geral

Este componente de tema do Discourse oferece aos administradores do fórum a capacidade de criar menus de barra lateral personalizados que são acessíveis apenas aos membros de grupos selecionados.

Principais Recursos:

  • Controle de acesso baseado em grupo - As seções do menu são renderizadas apenas para usuários autorizados
  • Configuração da UI de administração - Todas as configurações para criar seções de menu de grupo estão na UI de administração do componente de tema
  • Múltiplas seções - Crie um número ilimitado de seções de menu para diferentes grupos (dentro do razoável)
  • Segurança do lado do cliente - Usuários não autorizados não podem ver seções de menu no DOM, inspetor da web ou modo seguro
  • Sem poluição global - Não requer a criação de seções de barra lateral globais
  • Link de edição rápida para administrador - O ícone de lápis nos cabeçalhos do menu direciona os administradores diretamente para as configurações do componente

:briefcase: Casos de Uso

  • Recursos e links rápidos apenas para a equipe
  • Atalhos do moderador de categoria
  • Portais de grupo personalizados (equipes de projeto, grupos de estudo, clubes do livro, membros VIP)
  • Links para recursos de sites parceiros ou principais

:gear: Configurações

Seções de Menu (menu_sections)

Abre o editor de configurações de objeto para configurar seções de menu de grupo personalizadas.

Propriedades da Seção

Propriedade Descrição
Título do menu Título exibido como o cabeçalho da seção da barra lateral
Grupos permitidos Grupos autorizados a visualizar esta seção do menu (máx: 20 grupos por seção)
Links do menu Coleção de links para exibir nesta seção (máx: 20 links por seção)

Propriedades do Link

Propriedade Descrição
Ícone Nome do ícone FontAwesome (ex: circle-info, star, user-group). Pode precisar ser adicionado em Admin \u003e Todas as configurações do site \u003e subconjunto de ícones svg
Texto Rótulo de exibição para o link
URL Destino do link - suporta caminhos relativos (/faq, /my/preferences) e URLs absolutas (https://example.com)

:wrench: Instalação e Configuração

  1. Instale o componente de tema conforme Installing a theme or theme component.
  2. Vá para o Editor de configurações de Objetos
  3. Clique no botão + new_menu_section para configurar a primeira seção de menu personalizada
  4. Dê um título ao novo menu no campo Título do menu e, em seguida, selecione os grupos que terão acesso a ele.
  5. Clique em + new_menu_section para adicionar outra seção ou Salve as alterações.
Capturas de tela de configuração do administrador com configuração de exemplo

Instalação nova - vá para o Editor de configurações de Objetos.

\u003e #### Cenário de exemplo com 2 menus personalizados e 3 usuários, um deles administrador:
\u003e * @Catra adora gatos e é membro do grupo pink, que terá acesso ao Menu de Gatos :grinning_cat:
\u003e * @HelloKitty gosta de cachorros e é membro do grupo purple, que terá acesso ao Menu de Cachorros :dog_face:
\u003e * @Lilly é membro do grupo purple porque ela tem um cachorro e cachorros são melhores. No entanto, ela também é administradora do fórum, e administradores terão acesso ao Menu de Gatos porque gatos precisam de mais supervisão :dog_face: :cat_with_wry_smile:

Crie um novo menu personalizado - para nosso exemplo, crie Menu de Gatos e adicione os grupos autorizados a ter acesso a ele - pink e admins. Em seguida, clique no botão + menu_link para configurar os links para o novo menu.

Adicione os links do menu - 1. Nome do ícone Fontawesome, 2. texto a ser exibido para o link, e 3. a URL, relativa ou absoluta. Clique no botão + menu_link para adicionar outro link a este menu.

Crie outra seção de menu personalizada chamada Menu de Cachorros, dê acesso apenas ao grupo purple e configure os links:

Capturas de tela do acesso resultante ao menu da barra lateral

O usuário @Catra tem o Menu de Gatos! :grinning_cat:

O usuário @HelloKitty tem o Menu de Cachorros! :dog_face:

A usuária administradora @Lilly tem ambos os menus e pode editá-los! :smiling_cat_with_heart_eyes:

Exemplo de Configuração

Título do Menu: "Recursos da Equipe"
Grupos Permitidos: staff
Links:
  - Ícone: wrench
    Texto: Guia de Moderação
    URL: /t/moderation-guide/123
  - Ícone: chart-line
    Texto: Painel de Análise
    URL: /admin/dashboard

:light_bulb: Observações Importantes

Acesso de Administrador

  • Administradores devem se adicionar aos grupos para ver os menus configurados para esses grupos. O status de administrador por si só não concede acesso a todos os menus personalizados. Isso é intencional!
  • Administradores que pertencem aos grupos permitidos de um menu verão um ícone de lápis no cabeçalho da seção que leva às configurações do componente.

Configuração de Grupo

  • O grupo everyone não é suportado - Use a UI nativa do rodapé da barra lateral para criar menus personalizados globais para todos os usuários, incluindo visitantes anônimos.
  • Máximo de 20 grupos por seção de menu. Se precisar de mais, crie seções duplicadas com diferentes atribuições de grupo.
  • Usuários em vários grupos verão todas as seções de menu às quais têm acesso.

Teste e Organização

  • Use contas de teste para verificar o acesso correto para diferentes combinações de grupos.
  • Mantenha um registro de suas configurações de menu para evitar confusão à medida que a complexidade aumenta; uma matriz de acesso ou documentação semelhante é recomendada para fóruns maiores com muitos grupos.

Considerações de Segurança

Este componente fornece controle de acesso no nível da UI. Ele controla o acesso ao menu, não o acesso ao recurso - não é um substituto para as permissões de segurança de categoria.

O que este componente protege:

  • :white_check_mark: Seções de menu não podem ser acessadas por grupos de usuários não autorizados
  • :white_check_mark: Links não detectáveis via inspetor/console/modo seguro
  • :white_check_mark: UX limpa sem desordem no menu

Melhores práticas do administrador:

  • Configure as permissões de segurança de qualquer categoria vinculada e a associação de grupo relevante separadamente antes de configurar este componente - planeje sua configuração.
  • Os administradores são responsáveis por garantir que os links para recursos externos sejam devidamente autorizados para os grupos selecionados.

Outras Observações :pen:

  • Este componente é compatível com Discourse Sidebar Menu Reorder, que foi usado para colocar as duas seções de menu de exemplo nas capturas de tela no topo da barra lateral. Basta usar o título da seção de menu personalizada no formato de slug, por exemplo, cat-menu.
  • Este foi um projeto colaborativo com @Moin - sua contribuição, inspiração e feedback foram inestimáveis.
7 curtidas

Parece que estou recebendo um 404 no repositório.

EDIT: Tudo certo agora!

1 curtida

haha tente novamente. esqueci de deixar público! :laughing:

4 curtidas