Importei uma grande lista de e-mails antiga para o Discourse e descobri (após mesclar vários tópicos que inicialmente não foram corretamente identificados como parte de um tópico principal) que os tópicos ficaram desordenados. Muitas mensagens de tópicos com datas mais antigas estão sendo exibidas no Discourse após tópicos principais que possuem datas anteriores.
Existe algum método para reorganizar os tópicos para que fiquem ordenados por data, do mais antigo (postagem original) ao mais recente?
Não. O problema é que os tópicos são ordenados pela ordem de ID do post. E, como você descreveu, você importou os posts em uma ordem diferente daquela em que deveriam ter sido criados. Tenho medo de que a única solução adequada seja corrigir a importação para que os posts sejam importados na ordem correta. Parece, no entanto, que tudo o que você precisaria fazer é limpar o banco de dados e executar novamente o script de importação.
(Outras “soluções” incluem: não se importar com a ordem dos posts, já que são coisas antigas que ninguém vai ler de qualquer forma, ou inventar um método para, em cada tópico, excluir todos os posts existentes e recriá-los na ordem correta.)
Hmm, essas medidas já estão em vigor há vários meses. Não acredito que a exclusão e a reimportação sejam uma solução adequada. Será que podemos criar um plugin que permita reordenar os IDs dos posts… hmm.
Oh, que pena. Tudo é possível, suponho, mas isso afetará o desempenho de todo o site para sempre.
Você poderia, teoricamente, excluir esses tópicos e os campos personalizados associados e, em seguida, executar o script novamente. Você deve testar com muita atenção em um ambiente de staging antes de fazer isso com seus dados em produção.
Se os IDs dos posts forem reordenados, não creio que isso tenha um efeito permanente. Suponho que outra opção seria um plugin que simplesmente ordenasse um tópico por data conforme é consultado…