Plugin de Documentação - Tópico de Índice não funciona após Restauração

Há alguns meses instalei o Discourse, adicionei alguns tópicos como Tópico de Índice na seção Modo de Documentação. Tudo funcionou como esperado.
Fiz backup de tudo, excluí a conta do Digital Ocean, etc.

Alguns dias atrás, instalei o Discourse novamente e restaurei tudo do arquivo de backup que criei, e tudo está funcionando, exceto pelas seções de Documentação. A princípio, pensei que o problema fosse que eu havia deslistado esses tópicos de índice, mas eles estavam deslistados antes de eu desinstalar tudo e estavam funcionando, então esse não poderia ser o problema. Ainda assim, tentei listá-los, mas sem sucesso. A barra lateral ainda mostrava as categorias e todo o outro conteúdo que é o padrão.

Então, decidi copiar o conteúdo do tópico original e criar um novo tópico com ele, configurá-lo como Tópico de Índice, e esse funciona. Também o fechei e deslistei como o que não está funcionando, então fechar e deslistar não é o problema.

Parece que no processo de restauração, algo está quebrando o modo de documentação por algum motivo.

Apenas verificando - você viu isto?

1 curtida

Obrigado pelo link.
Como ainda estou construindo toda a estrutura, acabei criando um novo tópico, copiando e colando o conteúdo do antigo e excluindo o tópico antigo. Eu só tinha 2 desses, de qualquer forma.

Então, minha pergunta é: essa rake task é algo que preciso fazer toda vez que atualizo o Discourse? Ou apenas quando faço um restore (se eu fizer isso novamente no futuro)?

Não, aquela tarefa rake é apenas algo pontual da data daquela postagem citada.
Você não deve precisar recriar o tópico, apenas ir nas configurações da categoria, desvincular, salvar e vincular novamente o tópico existente pelo menos deve funcionar.

Apenas curiosidade - por que isso não foi implementado como uma migração?

Pelo que me lembro naquela época — Não poderia ser uma migração. Migrações idealmente não tocam no código da aplicação (porque o código pode divergir do momento em que a migração é pretendida e falhar).

O PR também indica o motivo:

Este PR também inclui uma tarefa rake (doc_categories.rake) para reconstruir seções e links da barra lateral a partir de tópicos de índice de documentos ativos – isso não é exatamente recomendado fazer em uma migração, pois envolveria o uso do parser ou do nokogiri (cujas implementações podem divergir e causar uma migração inválida).

2 curtidas

Então, se entendi corretamente, a partir de agora, eu não preciso fazer nada disso? A tarefa rake ou o processo de religamento, sempre que eu atualizar o Discourse?

Só quero ter certeza de que entendi.

Sim. Foi apenas algo pontual.

3 curtidas

Ótimo! Obrigado por esclarecer! :raising_hands:

1 curtida