Como definir as mesmas categorias da barra lateral para todos os usuários

:bookmark: Este guia explica como definir categorias padrão da barra lateral e aplicar alterações aos usuários existentes.

:person_raising_hand: Nível de usuário necessário: Administrador

Você pode usar default navigation menu categories para escolher quais categorias aparecem na barra lateral por padrão. Também é possível aplicar alterações a usuários existentes ou reaplicar categorias que eles removeram da barra lateral.

Essa configuração não impõe uma barra lateral idêntica para todos. Ela aplica adições e remoções, em vez de substituir a lista inteira de categorias de cada usuário. Outras categorias que os usuários adicionaram por conta própria podem permanecer.

Definir as categorias padrão

  1. Acesse “Admin” → “Todas as configurações do site”.
  2. Procure por default navigation menu categories.
  3. Abra o seletor e escolha as categorias que você deseja exibir por padrão. Para remover uma categoria, clique no “×” ao lado do nome dela.
  4. Clique no botão “✓” para salvar.

  1. Se for solicitado para aplicar a alteração historicamente, escolha uma destas opções:
    • “Sim” aplica as adições e remoções aos usuários existentes e atualiza o padrão para quem ingressar depois.
    • “Não, aplicar apenas daqui para frente” atualiza o padrão sem alterar as barras laterais dos usuários existentes.

O número de usuários afetados depende do seu site. A solicitação pode não aparecer se nenhum usuário existente for afetado pela alteração.

Reaplicar categorias já presentes na lista padrão

Se um usuário remover uma categoria padrão da barra lateral dele, salvar a mesma lista padrão não a trará de volta. Somente adições e remoções são aplicadas.

Para reaplicar as categorias configuradas:

  1. Anote as categorias que você deseja exibir.
  2. Remova todas as categorias de default navigation menu categories e salve. Escolha “Sim” para aplicar a remoção aos usuários existentes quando for solicitado.
  3. Aguarde a conclusão da atualização em segundo plano. Isso pode levar alguns minutos ou mais tempo em um site grande.
  4. Adicione as categorias que deseja exibir e salve novamente. Escolha “Sim” para aplicar as adições aos usuários existentes quando for solicitado.
  5. Aguarde a conclusão da segunda atualização em segundo plano, atualize a página e verifique a barra lateral.

Isso remove e readiciona os padrões configurados. Não remove uma categoria adicionada pessoalmente que nunca foi incluída na configuração.

Entender o que muda para os usuários existentes

Quando você escolhe “Sim”, o Discourse aplica a diferença entre a configuração anterior e a atualizada:

Alteração na configuração Efeito nos usuários existentes
Adicionar uma categoria Adiciona-a às listas de categorias da barra lateral dos usuários, caso ainda não esteja presente.
Remover uma categoria Remove-a das listas de categorias da barra lateral dos usuários, inclusive daqueles que a selecionaram por conta própria.
Manter uma categoria inalterada Não a reaplica para usuários que a removeram anteriormente.
Manter uma categoria adicionada pessoalmente fora da configuração Não a remove.

Por exemplo, suponha que “General” seja uma categoria padrão e um usuário também adicione “Support” por conta própria. Limpar e readicionar “General” não remove “Support”, a menos que “Support” também tenha sido removida da configuração.

Verificar as limitações

  • As permissões de categoria ainda se aplicam. Selecionar uma categoria privada não concede acesso nem a torna visível para usuários que não podem acessá-la.
  • Os usuários ainda podem personalizar suas barras laterais posteriormente. Trata-se de uma atualização padrão e em massa, não de uma lista de categorias imposta.
  • Isso não é uma reinicialização completa da barra lateral. As etapas de limpar e reaplicar não garantem listas de categorias idênticas para todos os usuários.

Recursos adicionais

5 curtidas

Qual é a diferença entre remover o padrão anterior e adicioná-lo em uma única etapa, ou fazer isso em duas etapas com uma pausa entre elas?

Pensei brevemente que esse processo redefiniria todas as personalizações individuais. Mas, com base nos meus testes, não é esse o caso. Se uma categoria não estava anteriormente na configuração padrão da barra lateral e um usuário a adicionou manualmente, ela não será removida apenas porque a configuração foi limpa. Apenas o que estava previamente configurado na configuração é removido.

Portanto, para deixar a barra lateral igual para todos, você precisaria:

  • adicionar todas as categorias à configuração (e, de preferência, não sobrescrever isso para todos)
  • em seguida, remover todas as categorias da configuração e sobrescrever isso para todos
  • (aguardar alguns minutos?)
  • adicionar novas categorias e sobrescrever isso para todos

As etapas 2 e 4 precisam ser separadas aqui porque a etapa 1 não foi aplicada para todos. Poderíamos aplicar a etapa 1 para todos, de modo que todos tenham todas as categorias em sua barra lateral, e, após alguns minutos, remover todas as categorias que não queremos em suas barras laterais, mas isso poderia resultar em uma experiência pior por alguns minutos.

Meus testes, que mostram que a configuração para limpar categorias adicionadas manualmente não é removida, estão incorretos? Há outra razão para a separação das etapas? Gostaria de saber para poder decidir que informações gostaria de adicionar em Configuring the default sidebar for your users.

3 curtidas

@Moin
A forma como o preenchimento (backfill) funciona aqui é um pouco diferente do que se esperaria. Não simplesmente redefinimos todas as categorias da barra lateral dos usuários quando a configuração default navigation menu categories é atualizada. Veja o que fazemos:

  • Se o administrador adicionar algumas categorias à configuração, apenas essas novas categorias são adicionadas às barras laterais de todos os usuários que ainda não as tinham configuradas.
  • Se você remover algumas categorias da configuração, elas são removidas das barras laterais de todos os usuários.

Portanto, o preenchimento não força o estado da configuração em todos os usuários, mas calcula a diferença (delta) entre os valores existentes na configuração e aqueles adicionados ou removidos recentemente.

A razão principal para fazer isso é preservar as preferências individuais de cada usuário.

Esta é a PR na qual esse comportamento foi introduzido:

Reconhecemos duas maneiras de alcançar as mesmas categorias em todos os usuários:

  1. Adicionar todas, aplicar historicamente, remover algumas, aplicar historicamente.
  2. Remover todas, aplicar historicamente, adicionar algumas, aplicar historicamente.

Em uma tentativa recente de fazer isso para um site grande, a opção 1 não funcionou corretamente, mas a 2 sim. Por isso, documentei a opção 2.

Se tiver tempo, tente ambas as abordagens com vários usuários para verificar se funcionam. Se ajudar, posso escrever uma consulta SQL para confirmar se a atualização ocorreu conforme o esperado. Por favor, me diga o que acha.

1 curtida

Tentei novamente os passos que você descreveu no primeiro post. Ainda notei o mesmo problema: a categoria que o usuário adicionou à sua barra lateral não foi removida, então o resultado não é que todos os usuários tenham as mesmas categorias na barra lateral.

Passos detalhados para reproduzir o erro
  1. Criei um novo fórum
  2. Criei 5 categorias (category1, category2, category3, category4, category5)
  3. Adicionei category4 à minha barra lateral usando a opção “editar categorias da barra lateral”

  4. A categoria foi adicionada à minha barra lateral
  5. Verifiquei a configuração do site default_navigation_menu_categories
  6. Como você disse no guia, removi todas as categorias


e apliquei a mudança para todos

7. Agora a configuração estava vazia

8. Verifiquei minha barra lateral e apenas category4, que foi adicionada manualmente, estava lá (além disso, o link para a configuração do site na parte inferior indica que a configuração do site está vazia)

9. Aguardei cerca de 45 minutos e adicionei category1, category2 e category3 à configuração

e apliquei a mudança para todos os usuários

Resultado esperado com base no título deste guia: todos os usuários têm as mesmas categorias na barra lateral, o que significa apenas as que estão na configuração e nada mais.
Resultado real: category4 ainda está na barra lateral, enquanto não está na barra lateral para usuários que não a adicionaram manualmente.

Em qual passo você espera que a categoria que o usuário adicionou (no meu exemplo category4) à sua barra lateral seja removida para obter o resultado de todos os usuários terem as mesmas categorias na barra lateral?

Com base no que você disse aqui, eu não esperaria que fosse removida, porque a categoria não foi removida da configuração, já que ela não estava nela. Mas você diz que usou esses passos para forçar as mesmas categorias para todos os usuários.
Se eu adicionasse todas as categorias (método 1), category4 teria sido adicionada e depois removida, então eu esperaria que ela desaparecesse. É aí que entendo o que acontece. Mas seu guia diz que devo usar o método 2, então me pergunto o que estou deixando passar na minha compreensão e nos meus testes.

1 curtida

@moin como você está se sentindo em relação a este guia agora, ele responde a tudo que precisa ser respondido? Está muito prolixo? Não é prolixo o suficiente?

(Estou trabalhando em um bot para alinhar nossa documentação com o código real e atualizar as capturas de tela)