Página Inicial da Categoria Discourse 🏠

Resumo:

Dê a cada usuário uma página inicial específica (“Categoria Inicial”) em sua comunidade.

Ele permite que você tenha um único Discourse em que os usuários tenham “páginas iniciais” específicas (leia-se: Categoria), conforme determinado por seu Grupo Primário.

:link: GitHub: Repositório https://github.com/merefield/discourse-category-home
:arrow_right: Instalar: Siga o guia de instalação de plugins.

Gostando deste plugin? Por favor, :star: ele no GitHub ! :pray:

Funcionalidades

Usando apenas os elementos de interface disponíveis de um Discourse normal, isso o torna uma solução robusta e fácil de manter.

Configuração

Usando a funcionalidade normal do Discourse:

Você está PRONTO! :tada:

Agora, sempre que alguém navegar para a página inicial da sua comunidade, ele será redirecionado para a Categoria para a qual seu Grupo Primário tem permissão.

NB: Isso segue uma regra simples que você deve seguir: Se alguém tiver um Grupo Primário registrado e este tiver permissão para uma única Categoria, ele será redirecionado para essa Categoria como sua casa.

Usar um Grupo Primário desta forma tem uma série de vantagens, como você pode ter notado no link acima, não menos importante:

  • Você pode dar um Título a alguém
  • Você pode dar a ele uma Flair
  • Você pode estilizar suas Postagens

Outras considerações

Torne suas páginas iniciais de Categoria mais impactantes, estilizando-as de forma distinta, com, por exemplo: Category Banners

Verificando Permissões distintas de Categoria/Grupo Primário

Para verificar se seu Grupo Primário está associado a apenas uma Categoria, você pode usar este recurso prático pronto para uso do Discourse, por exemplo:

Há apenas uma Categoria na lista, bom! :+1:

A Parte Técnica

A lógica exata empregada é esta:

   return CategoryGroup.where(group_id: primary_group).first.category_id

Embora possa ser possível “enganar”, provavelmente é imprudente se você usar esse Grupo Primário em mais de uma Categoria se esperar que isso funcione, então tenha isso em mente e siga minha recomendação.

Fornecendo mais flexibilidade

Estou aberto a sugestões sobre como configurar esse comportamento de outras maneiras, mas gostaria de limitar a quantidade de configurações personalizadas e usar o máximo possível de comportamento e dados prontos para uso. Se você tiver uma solução simples e elegante em mente, me avise.

Não consegue instalar plugins/A coisa do Grupo Primário não funciona para você?

Se você não pode instalar Plugins (porque está em um plano de hospedagem restritivo), ou acha que a configuração do Grupo Primário não funciona para você, considere esta alternativa de Componente de Tema: Custom Homepage for Groups que requer mais configuração personalizada, mas é menos invasivo.

24 curtidas

Recebo uma mensagem de erro ao tentar reconstruir após adicionar isto ao meu arquivo app.yml

Pups::ExecError: cd /var/www/discourse/plugins & git clone GitHub - merefield/discourse-category-home: Alters the user's homepage to become the Category of their Primary Group falhou com retorno #<Process::Status: pid 391 exit 128>
Localização da falha: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’

Ainda está funcionando para outros?

Parece estar compilando bem. Verifique a sintaxe do seu clone app.yml.

Implantei uma correção para uma string de local ausente :slight_smile: (mas isso não causou o seu problema).

1 curtida

Sim, está funcionando perfeitamente agora, obrigado pelo excelente plugin. O Discourse Doctor consertou, deve ter sido um problema na compilação da última vez que reconstruí o aplicativo.

1 curtida