Após importar dezenas de milhares de postagens antigas do Yahoo Groups para o Discourse, fiquei com muitos tópicos desconectados que deveriam ser o mesmo tópico. Parece que a solução intuitiva para isso seria selecionar ou destacar vários desses tópicos e arrastá-los para o tópico principal.
Ou talvez uma maneira ainda melhor seria simplesmente selecionar todos os tópicos que deseja mesclar e permitir que o sistema os una automaticamente em um único tópico, usando a mensagem mais antiga como o tópico pai e o nome/assunto principal, com as datas existentes determinando a ordem.
Por exemplo, minhas mensagens são mais ou menos assim:
Nome do Tópico
[nome da lista de e-mail] Nome do Tópico
[nome da lista de e-mail] Nome do Tópico
[nome da lista de e-mail] Nome do Tópico
[nome da lista de e-mail] Nome do Tópico
[nome da lista de e-mail] Nome do Tópico
[nome da lista de e-mail] Nome do Tópico
[nome da lista de e-mail] Nome do Tópico
Basicamente, eu deveria poder selecionar todos esses itens e simplesmente usar a ferramenta de chave inglesa no lado direito, clicar em “mesclar” para atingir o objetivo.
Essa funcionalidade está faltando ou estou deixando passar algo?
O Discourse permite mover posts para tópicos novos ou existentes. Não tenho certeza se essa é a solução para o seu problema, mas, caso seja, há um guia sobre como mover posts aqui: Moving posts to a new or existing topic.
Obrigado por apontar isso. Infelizmente, eu já estava ciente de como isso funciona. O verdadeiro problema é que o que você está demonstrando naquele tutorial é como trabalhar com posts DENTRO de um tópico.
Imagine por um momento que você tenha 100 do MESMO tópico com as mesmas ou ligeiramente diferentes linhas de assunto/título.
O problema é que a importação do mbox / Yahoo Groups não funcionou com precisão correta. Talvez seja devido a IDs inadequados nos e-mails. Talvez algo mais, mas isso significa que, para alguns de nós, temos milhares ou dezenas de milhares de mensagens que estão indevidamente desconectadas umas das outras. Precisamos de uma maneira de mesclar essas.
Infelizmente, uma mesclagem automatizada provavelmente não é ideal com base nas linhas de assunto. Provavelmente precisaremos analisar visualmente e selecionar muitos manualmente e, em seguida, instruir o sistema a mesclar todos esses em um tópico comum.
Parece que o melhor (na verdade, o único) lugar para fazer isso é na visualização tópica real de uma categoria. Fazer isso por meio do método que você apresenta no guia é extremamente cansativo e simplesmente inviável, pois você precisa entrar em um tópico que tem apenas um post, passar pelo processo de selecionar esse post, isolar o post pai e, em seguida, combiná-lo. Isso fica ainda mais complicado quando há dezenas ou centenas de posts que já possuem a mesma linha de assunto.
Então, o que precisamos é de uma função “Selecionar tópicos…” na visualização da categoria que funcione de maneira semelhante à função “Selecionar posts…” dentro de uma visualização de tópico.
Parece que você está numa encruzilhada. Você precisa decidir o quão importante é ter essas mensagens antigas do Yahoo corretamente e organizadas dentro de um único tópico.
Se for importante, minha sugestão é voltar um passo e corrigir os arquivos mbox. Em seguida, importe-os em pequenos lotes, cuidadosamente preparados.
A melhor maneira de fazer isso é provavelmente importá-los para o Mozilla Thunderbird e ajustá-los lá. Cada pasta do Thunderbird é seu próprio arquivo mbox, então você pode mover todas as mensagens relacionadas para uma única pasta e, em seguida, abrir esse arquivo mbox em um editor de texto e fazer uma busca e substituição para corrigir o ID da mensagem, que é usado pelo importador para determinar quais pertencem juntas em um único tópico.
Realmente, a melhor solução seria voltar no tempo e convencer os programadores que criaram o Outlook a se esforçarem um pouco mais para seguir os padrões de e-mail vigentes.
Uma coisa que me pergunto: @pfaffman, você tem conhecimento de alguma maneira de fazer algo assim programaticamente neste momento? Eu POSSO estar disposto a usar a abordagem de metralhadora, onde eu simplesmente digo “mesclar todos os tópicos com o mesmo assunto + este acréscimo”.
O que quero dizer com isso é, conforme meu primeiro tópico original acima, onde observo como alguns tópicos com “Nome de Algum Tópico” são prefixados com “[nome da lista de e-mails]”. Basicamente, eu poderia apenas usar uma opção de mesclagem “nuclear” para reunir tudo que é PROVAVELMENTE relacionado e depois separá-los quando os usuários, inadvertidamente, usarem os mesmos nomes ou assuntos de tópicos…
Hahaha, sim, não é uma sugestão ruim, @tobiaseigen, mas não há como eu conseguir encontrar tempo para dar esse passo árduo com dezenas de milhares de mensagens. Só os arquivos mbox já passam de 500 MB. Vou tentar minha sorte consertando as coisas aos poucos diretamente no Discourse, já que dessa forma outros moderadores também podem ajudar. Espero que ou encontremos outras sugestões como perguntei anteriormente ou que possamos trabalhar na implementação de um plugin, caso não haja outras opções.
Recomendo recomeçar e fazer a importação do jeito certo desde o início; o que @tobiaseigen recomendou parece promissor. Faz muito tempo que fiz uma grande importação de mbox e fiz bastante trabalho preliminar corrigindo coisas como as que você descreveu. Se essa não for uma opção, você pode tentar algo no lado do Rails, onde de alguma forma você reúne todos os posts que acredita que pertencem juntos, depois os ordena por data e cria um novo tópico (ou escolhe o primeiro) e move todos os posts para o novo tópico.
Bem, houve muita participação no fórum desde a importação, então, neste ponto, não acredito que um ‘recomeçar’ seja viável. Estaria um pouco receoso de fazer muitas exclusões, e os moderadores já começaram a ajustar os dados importados, além de mesclar contas, etc.
Vou pesquisar um método em Rails em algum momento e compartilhar o que encontrar, a menos que alguém tenha uma sugestão antes que eu tenha a chance de fazê-lo. Se necessário, vamos deixar as coisas ‘bagunçadas’ durante as festas de fim de ano até resolvermos esse pequeno problema.