Nova configuração de site "página inicial padrão"

Atualmente, para alterar a página inicial do seu site Discourse, você precisa configurar a opção do site top menu e colocar a página inicial desejada como a primeira opção na lista. Esse comportamento é bastante confuso para novos administradores.

Hoje estamos integrando uma alteração que adiciona uma nova configuração de site chamada default homepage para tornar esse processo mais claro e fácil.

Sites existentes não precisarão fazer nada, pois o padrão para essa nova configuração é first item in top menu, que é a mesma funcionalidade que sempre tivemos. As mesmas opções também estão presentes na nova configuração. Se você escolher uma página inicial que só está disponível para usuários conectados, como new, ainda recorreremos ao primeiro item do top menu disponível para visitantes anônimos.

Uma mudança que essa nova configuração permite é que você agora pode ter uma página inicial que não está presente no menu superior. Por exemplo, você pode definir categories como sua página inicial e removê-la da configuração top menu, já que o link para todas as categorias também está disponível na barra lateral.

No futuro, podemos adicionar algumas novas opções para páginas iniciais, então fique atento a mais atualizações!

22 curtidas

Essa é uma adição muito legal, Kris! :clap:

Como estamos prestes a introduzir uma nova página inicial por meio da saída custom-homepage, estou curioso para saber se essa nova configuração incluirá a página inicial personalizada quando um plugin ou um componente de tema a introduzir. Como eu planejava atualizar as preferências do usuário para redefinir a configuração da página inicial para o padrão -1.

Então, seguindo essa linha, essa nova configuração também atualizará as opções na configuração da página inicial nas preferências do usuário?

Por fim, se a página inicial padrão estiver definida como primeiro item no menu superior, e houver um link personalizado adicionado por meio de api.addNavigationBarItem() e colocado como o primeiro item, ele será realmente tratado como o primeiro item?

4 curtidas

Não, isso ainda é o mesmo. O modificador de tema para páginas iniciais personalizadas substitui completamente a configuração do site. Navegar por isso é um pouco complicado porque, se um site tiver vários temas disponíveis e um deles não tiver uma página inicial personalizada, teríamos que gerenciar a opção de retorno (fallback). Algo para nós considerarmos.

Ainda não… as opções ainda são as mesmas do menu superior, de qualquer forma, mas uma coisa que mudou é que default (padrão) estará sempre disponível nas preferências do usuário agora (anteriormente era condicional). “Padrão” nas preferências do usuário seguirá a configuração do site.

Também é um “ainda não” aqui — fora de uma página inicial personalizada em um tema, a página inicial de um site Discourse ainda tem vários requisitos sobre ser uma página de lista de tópicos (ou /categories) e api.addNavigationBarItem() tem requisitos muito mais flexíveis.

3 curtidas

Obrigado, Kris. Estou muito envolvido com isso e curioso para ver como vai evoluir.

Uma observação que posso compartilhar é que, quando um componente de tema introduz uma página inicial personalizada, os usuários com configurações de página inicial personalizada nunca a verão.

Diferentemente dos itens do menu superior, a página inicial personalizada não tem um caminho para o qual eu possa criar um item de menu personalizado.

Essa é a razão principal, embora pareça uma decisão extrema, pela qual eu estava planejando redefinir as preferências dos usuários para usar o valor padrão -1. AFAICT, essa será minha única opção para permitir que todos os usuários vejam a nova página inicial. Após isso, eles ainda poderão personalizá-la em suas preferências.

2 curtidas

Acho que o caminho é /custom.

2 curtidas

Aprendi algo novo hoje. Obrigado, @Moin, realmente funciona.

Embora /custom não seria minha primeira escolha para o caminho da página inicial :))

Você pode usar permalinks para usar algo como /home

sim, obrigado, mas isso “redireciona” a solicitação e ainda assim termina em /custom

1 curtida

Gostaria de poder fazer com que meus usuários anônimos aterrissem em uma página inicial personalizada, mas que os usuários conectados aterrissem na seção de mais recentes. Ou pelo menos ter a opção de fazer isso.

O caso de uso é ter o Discourse servindo uma única página inicial / página de destino adaptada para visitantes casuais, enquanto ainda permite que nossos usuários regulares entrem na experiência completa do fórum sem atritos.

Embora isso seja tipicamente alcançado tendo um site separado e o Discourse em um subdomínio, isso adiciona uma sobrecarga significativa de administração e custo. Gostaria de simplificar as coisas e ter tudo em uma única instância.

Isso é possível com a nova configuração no momento?

1 curtida

é, esse é um caso interessante, mas no momento não é possível com as configurações do site

algumas alternativas vêm à mente:

  • crie uma página inicial personalizada para ambos e faça uma ramificação com base na verificação do usuário (obviamente, isso exigirá um pouco mais de manutenção do que apenas usar algo pronto)

  • a preferência de interface do usuário para “página inicial padrão” substituirá a página inicial do tema personalizado, então uma pequena personalização para aproveitar isso pode funcionar… algo como

    import { setDefaultHomepage } from "discourse/lib/utilities";
    
    export default {
     name: "force-homepage",
     after: "url-redirects",
    
     initialize(container) {
       if (container.lookup("service:current-user")) {
         setDefaultHomepage("latest");
       }
     },
    };
    

    você então poderia simplesmente ocultar essa preferência do usuário com CSS

1 curtida

Obrigado, Kris!

Tenho certa relutância em perder a capacidade dos usuários de escolherem sua própria página inicial. Mas, por outro lado, poucos realmente o fazem.

Que bom saber disso!

Nesse caso, nosso venerável Componente de Tema Custom Homepage for Groups pode funcionar:

Pode ser necessário fazer um ajuste para funcionar com a (relativamente nova) página inicial personalizada do núcleo, no entanto.

2 curtidas