Novo tópico não está sendo definido como não categorizado por padrão

Olá,

Quando um dos meus usuários (com a função ‘líder’) tenta criar um novo tópico, a categoria fica em branco e, se eles clicarem no botão de criar tópico, recebem um erro 404:

Quando eu (equipe) tento criar um novo tópico, ainda tenho a categoria em branco, mas recebo um erro Você forneceu parâmetros inválidos para a solicitação: category

Encontrei uma configuração:

Permitir que tópicos sejam criados sem categoria. AVISO: Se houver tópicos sem categoria, você deve recategorizá-los antes de desativar esta opção.

Não me lembro de ter habilitado, mas está habilitado - acredito que seja um padrão, mas não tenho certeza.

Dei uma olhada nas configurações da categoria sem categorizar:

Esta categoria é especial. Ela é usada como a categoria padrão para novos tópicos que não têm uma categoria selecionada. Se você quiser impedir esse comportamento e forçar a seleção de categoria, desative a configuração aqui. Se você quiser alterar o nome ou a descrição, vá para Personalizar / Conteúdo de Texto.

A curto prazo, estou preocupado que nossos usuários estejam tendo uma experiência ruim e não consigam postar. (Erro 404)

Tentei pesquisar em meta.discourse.org para encontrar respostas às minhas perguntas:

Pergunta 1: Por que o campo de categoria está em branco quando tento criar um novo tópico? (não está em branco quando posto em meta.discourse.org)

Pergunta 2: Se ‘Permitir que tópicos sejam criados sem categoria’ estiver habilitado - por que estou recebendo um erro? (Suspeito que ‘Sem Categoria’ na verdade significa ‘sem categoria’, mas é descrito como ‘[…] a categoria padrão para novos tópicos que não têm uma categoria selecionada.’

Na verdade, gosto do comportamento do meta.discourse.org; onde ele usa ‘geral’ como padrão em vez de sem categoria, mas não tenho certeza qual é a abordagem correta;
a) Renomear ‘Sem Categoria’ para ‘geral’. (nota: Encontrei uma postagem - de 2016 - que indicava que isso era uma má ideia e equiparava ‘Sem Categoria’ a ‘nulo’ no banco de dados.)

OU

b) Criar uma categoria ‘geral’, mover todos os sem categoria para ‘geral’ (como?), definir ‘geral’ como o padrão de novas postagens e desabilitar ‘Permitir que tópicos sejam criados sem categoria.’

Qualquer conselho - ou indicações para a documentação relevante são apreciados - é apreciado.

Atenciosamente,

Stephen

PS A propósito, somos um projeto OSS e esta é uma instância gratuita do Discourse gentilmente fornecida pelas pessoas legais da https://www.discourse.org

Também notei isso. Mas desativei “sem categoria”, mas ainda assim deveria selecionar a categoria principal nesse caso. Ele está mostrando o mesmo campo de categoria (vazio) como padrão.

1 curtida

Obrigado @MarcP!

Acho que isso pode ser um bug, mas não queria pré-julgar.
s.

Olá Stephen,

Qual versão do Discourse o seu site está executando?

A categoria “sem categoria” foi recentemente substituída por uma nova categoria geral. Uma nova categoria com esse nome apareceu no seu site? Você tinha uma categoria geral anteriormente?

Sim, eu tinha uma categoria geral antes. Estou executando a versão mais recente, mas notei isso há algumas semanas?

Sim, este parece ser um comportamento recente para mim também.

Isso deveria ter sido corrigido por este commit, mas posso ver que seu site já foi atualizado para incluí-lo:

Há uma chance de que não tenha coberto todos os casos. Vamos pedir para alguém investigar. :+1:

5 curtidas

Hmm, quando habilito permitir tópicos não categorizados, a categoria não categorizada ainda aparece na minha página de categorias. Mesmo depois de renomear minha geral.

A categoria Uncategorized não é uma configuração padrão do site agora, desde que a categoria General foi habilitada no Discourse. Nas novas instalações do Discourse, há uma categoria padrão General. Portanto, quando você abre o composer, a categoria selecionada automaticamente é General. No entanto, em instalações mais antigas onde você não tem a categoria geral, acho que qualquer categoria pode ser a categoria geral. Acho que isso significa apenas, neste caso, a categoria padrão do composer. Portanto, isso não será suficiente se você criar uma categoria com o nome General. Você também terá que configurar o ID da categoria com a configuração oculta do site general_category_id.

Por exemplo:
Se você criar uma nova categoria para este propósito Geral. O nome da categoria pode ser, por exemplo: General e você também deve verificar o ID da categoria. Agora, neste exemplo, será 9.

A categoria foi criada com sucesso, mas se você abrir o composer, ela não será a categoria padrão, então vamos configurar a configuração oculta do site.

Configurar category_id para a categoria geral

Observação: category_id=9 é apenas um exemplo, o ID correto da categoria. Sua categoria recém-criada provavelmente terá um número de category_id diferente.

cd /var/discourse
./launcher enter app
rails c
SiteSetting.general_category_id=9
exit
exit

Depois disso, quando você abrir o composer, a categoria category_id=9General será a padrão.

2 curtidas

Você reconstruiu desde que renomeou o geral?

Não renomeamos o general - apenas temos ‘não categorizado’ e não o renomeamos.

Discourse atualizado: 14 horas atrás

somos um projeto de código aberto e esta é uma instância gratuita do Discourse (gentilmente fornecida pelas pessoas legais em https://www.discourse.org), então as atualizações acontecem automaticamente sem nossa intervenção

A categoria ainda aparece em branco

@Don

Obrigado - esta é uma instância hospedada, então não estou ciente de uma maneira de obter acesso ao shell para definir a configuração oculta do site.

Atenciosamente,

Stephen

1 curtida

É fim de semana para a maior parte da equipe, mas podemos resolver isso para você assim que alguém estiver disponível. :slightly_smiling_face::+1:

4 curtidas

Só quero ter certeza - para que eu possa minimizar a interrupção para os usuários finais:

  1. Preciso criar uma categoria ‘Geral’ em preparação?

  2. Terei que mover todos os tópicos com a categoria ‘Não categorizado’ para geral após a alteração da configuração ser feita?

Obrigado pela sua ajuda

Stephen

Se você está buscando este resultado em vez de #uncategorized como seu padrão, você estará seguro ao criar uma nova categoria #general, mover todos os seus tópicos #uncategorized para ela usando a ferramenta em massa e, em seguida, desabilitar allow uncategorized topics em suas configurações de administrador em preparação (embora isso não corrija o menu suspenso).

No entanto, isso levará apenas alguns minutos para um membro da equipe corrigir, juntamente com a atualização manual da sua configuração oculta general_category_id, então você pode apenas querer esperar. :slightly_smiling_face:

4 curtidas

Obrigado, esta explicação é muito boa e consegui resolver. Acho que este tópico deveria estar em Support, pois não é um bug e sugiro que sua resposta seja marcada como solução.

1 curtida

Apenas para que eu entenda

  • Novas instâncias de discourse têm uma categoria Geral que é o padrão ao postar um novo tópico.

  • nossa instância vem de uma época em que o padrão era a categoria ‘não categorizado’.
    A correção é definir o SiteSetting.general_category_id para o ID da categoria Não Categorizado

Este comando:

SiteSetting.general_category_id=<novo id da categoria>

  • Instâncias que ainda têm a categoria Não Categorizado devem definir a configuração acima ao atualizar
1 curtida

Tudo resolvido. Passamos a usar ‘Geral’ em vez de não categorizado e o sistema fornece corretamente uma categoria padrão.

Obrigado a todos que ajudaram a diagnosticar este problema, e agradecimentos especiais a @fzngagan por resolvê-lo tão rapidamente e profissionalmente.

Atenciosamente,

Stephen

5 curtidas

Para quem excluiu manualmente a categoria Geral semeada antes desta correção

Agora há uma correção adicional que limpará SiteSetting.general_category_id se estiver definida para uma categoria que não existe:

3 curtidas