Página inicial personalizada para Grupos

Ah! Desculpe. Eu perdi isso.

Hmm. Sim. Eu me pergunto por que removi o suporte para essas. Acho que talvez você possa alterá-las no core agora?

Vou ver se isso está no core e, se estiver, remover essas configurações.

Ou talvez algo tenha acontecido no core que quebrou essas alterações. Vou ver o que consigo descobrir. . . .

3 curtidas

Ainda não tenho certeza do porquê de ter removido o suporte para as páginas iniciais padrão e anônimas antes. Recoloquei-as.

Agora, se houver um custom_default_homepage, ele o usa, a menos que haja uma correspondência de grupo. Se houver uma anon_page e o usuário for anônimo, ele a usa.

Não consegui descobrir como ou quando a página móvel deve ser definida (é para usuários anônimos? todos os usuários? ela substitui a página padrão? o mapa de grupos?), então a excluí. Se você estiver usando essa página móvel, diga-me o que você acha que ela deve substituir (acho que talvez configurá-la como a página padrão se eles estiverem no celular, mas se houver uma página de grupo, então usar essa? Ainda não está claro o que fazer para anônimos versus logados – acho que talvez precise haver versões móveis para todos eles?).

Aqui está o código:

      let url = null;

      if (settings.custom_default_homepage) {
        url = settings.custom_default_homepage.replace(/^\/+/g, "");
      }

      if (user) {
        if (user.primary_group_name 		&& settings.group_page_map) {
          let groupMap = settings.group_page_map.replace(",", ":").split("|");
          const mapEntry = groupMap.find((value) =>
            RegExp(user.primary_group_name).test(value)
          );
          if (mapEntry) {
            url = mapEntry.split(":")[1].replace(/^\/+/g, "");
          }
        }
      } else if (settings.anon_page) {
        url = settings.anon_page.replace(/^\/+/g, "");
      }

E então ele muda a página inicial apenas se url tiver um valor.

8 curtidas

Este componente de tema se destina a redirecionar qualquer pessoa no grupo para a página inicial ao fazer login ou ao usar os links? Eu o instalei, e o logotipo direciona para a página selecionada, mas ao fazer login o usuário ainda é direcionado para a página padrão /latest. Se isso lida com esse redirecionamento de login, eu devo ter algo configurado incorretamente.

Meu objetivo é que todos os usuários sejam incluídos em um grupo padrão e todos sejam redirecionados para uma página alternativa ao fazer login.

Precisa ser o grupo Primário deles para que este TC entre em vigor. Isso é por design, para que não haja conflito quando um usuário for membro de mais de um grupo com um redirecionamento.

2 curtidas

O nível de confiança 0 é considerado um grupo válido? Esta seria a configuração correta para o Group Page Map? trust_level_0:/discourse-ai/ai-bot/conversations. Essa é a configuração atual que eu defini.

Não, os grupos de nível de confiança não podem ser usados, pois não podem ser tornados Primários.

Você poderia contornar isso usando o plugin de grupos dinâmicos para criar um grupo espelho, se isso for vital para você.

3 curtidas

Você tentou definir a página inicial personalizada para todos como a página do seu bot de IA e depois definir a página inicial para usuários anônimos como as últimas publicações?

1 curtida

Ah. OK. Acho que uma versão diferente disso foi enviada na minha notificação por e-mail. Eu gosto mais desta resposta. :slight_smile:

2 curtidas

Imaginei! Ainda usando notificações por e-mail? Isso é meio jurássico, Jay!

2 curtidas

Por “everyone”, eu quis dizer “global”, não o pseudo grupo. Editarei minha postagem para que não seja enganosa.

2 curtidas

Sou muito velho. E, além disso, fico conectado ao meta por não muito mais de 10 horas por dia, e não quero perder nada!

5 curtidas

Primeiramente, obrigado a todos por participarem e ajudarem com isso! É muito apreciado!

Isso é um mistério para mim.

Instalei este plugin sem problemas e defini o trust_level_0 nas configurações com “make this primary group”. Todos os membros do site foram adicionados ao grupo. Todos os usuários agora mostram este como o grupo principal.

Nas configurações do componente Custom Homepage for Groups, é isso que defini.

Ao acessar a página, os usuários no grupo principal Community-Core ainda acessam /latest. Se eu mudar a Página Anon para algo diferente de /latest ao fazer login, os usuários verão qualquer página que esteja nesse campo, então é esse o redirecionamento que está ocorrendo.

Estou usando o tema Canvas Screen e mudei para o padrão para testar com o mesmo resultado.

Também desativei todos os componentes de tema e plugins para ver se isso ajudava, sem sucesso.

Estou pensando que ou estou perdendo algo que pode ser aparente para outros, ou pode haver um problema com o componente.

Você olhou no inspetor e viu o grupo principal na tag body?

Jay, realmente não tenho certeza de qual inspetor é este?

Os usuários aparecem no grupo e têm o mesmo indicador em seus perfis que o meu nesta imagem.

Ao clicar com o botão direito no seu site e selecionar inspecionar, você pode ver o que pfaffman está pedindo.
Por exemplo, vejo isto na minha página de administração de usuários (/admin/users/{user_id}/{username})


E como esta é a minha conta, ao clicar com o botão direito e selecionar inspecionar, vejo

Lá você pode ver “testgroup” no <body>

Era isso que eu queria dizer, mas agora me lembro/vejo que o componente obtém o grupo principal do modelo do usuário, não do CSS.

Então, talvez encontre um usuário na rota de usuários do administrador e adicione .json à URL. Em seguida, verifique qual é o grupo principal dele e pesquise (no navegador) por primary_group: true e verifique se o nome corresponde exatamente ao caso que você usou na configuração do tema.

2 curtidas

Olá a todos,

Obrigado pela clarificação. Segui estas instruções e usei o URL .json para confirmar o nome exato do grupo.

O nome do grupo principal é de facto Community-Core, com letras maiúsculas e hífen, que é exatamente o que inseri nas configurações do componente do tema.

Infelizmente, ainda não está a funcionar. O redirecionamento da página Anon continua em vigor. Portanto, o problema deve ser outra coisa.

Mais alguém pode confirmar se isto funciona para si?

Tem alguma outra ideia do que posso verificar?

Não. Se estiver indo para a página anônima e não para a “página inicial padrão personalizada”, então não está encontrando o usuário quando faz

      const user = api.getCurrentUser();

Não sei como isso poderia estar acontecendo se o usuário, de fato, estivesse logado.

Ah, você tentou recarregar a página?

1 curtida

Obrigado Jay, já tentei recarregar. Tentei inúmeros ajustes nos URLs e similares. Ele definitivamente carrega a página Anon. Se eu mudar isso, ele vai para essa página e também mostra /latest no URL do navegador.

Eu pesquisei e assumo que não há outra maneira de simplesmente redirecionar. Era mais fácil com sites em php. Eu ainda sou novato com Discourse.

este é um cenário de caso extremo muito estranho e entra no território de fazer o Discourse fazer algo para o qual não foi projetado.