A solução está literalmente no post acima do seu. ![]()
Nós deveríamos corrigir o script. Talvez você possa criar um PR que resolva o problema para todos?
A solução está literalmente no post acima do seu. ![]()
Nós deveríamos corrigir o script. Talvez você possa criar um PR que resolva o problema para todos?
Obrigado, isso resolveu, desculpe por isso. Em penitência pela minha incapacidade de ler, abri Added duplication to name to prevent modification of frozen string exception by adam-skalicky · Pull Request #30325 · discourse/discourse · GitHub para poupar qualquer outra pessoa da vergonha de fazer uma pergunta estúpida.
Este script de importação faz com que o Discourse replique o encadeamento de e-mails do Mailman 2 de alguma forma (por exemplo, usando a pequena seta do Discourse para significar “In-Reply-To”) ou é puramente cronológico (para cada thread com base em Message-ID, In-Reply-To e References)?
Sim, faz.
Legal. Vários dos meus e-mails da lista de mala direta não têm os cabeçalhos In-Reply-To e References que deveriam ter, então podem ser importados como novos tópicos em vez de apenas respostas. Pela memória, o script usa esses cabeçalhos ou cabeçalhos de assunto (não ambos).
Acho que já perguntei isso no passado distante, mas existem maneiras não manuais de adicionar esses cabeçalhos ao arquivo MBOX e/ou reorganizar os e-mails antes ou depois de importar para o Discourse?
É possível agora mesclar tópicos e manter a ordem cronológica, então talvez essa seja a resposta. Eles apenas não teriam a pequena seta do Discourse para indicar a quem a mensagem estava respondendo.
O script de importação mbox tem duas fases. A primeira é a indexação e gera um banco de dados SQLite. Você pode modificar os dados no SQLite antes da importação ou modificar o script Ruby.
Toda a mágica de ordenação/agrupamento por assunto ou cabeçalhos acontece aqui:
Você pode adicionar sua própria lógica de agrupamento se souber como deseja agrupar e-mails.
Vai demorar um pouco até que eu considere algo tão complexo!
Em https://bazaar.launchpad.net/~mailman-coders/mailman/2.1/view/head:/Mailman/Archiver/pipermail.py#L669, o Pipermail do Mailman 2 parece procurar o seguinte em ordem de preferência:
Essa combinação de abordagens parece ideal. No terceiro caso, pode fazer sentido o Discourse não usar a seta “em resposta a”.
Pela memória, o Hyperkitty do Mailman 3 não considerava o assunto de forma alguma, o que não era tão bom.
Perdoe-me por me intrometer com uma pergunta possivelmente estúpida, mas não consegui encontrar uma resposta clara aqui. Gostaria de saber se o processo de importação cria um novo usuário do Discourse para cada e-mail, com desduplicação, é claro, ou se todos eles se tornam um único usuário do sistema. Eu tenho uma lista de e-mails com 20 anos de postagens e ela é bem grande e difícil de experimentar. Além disso, e quanto às respostas na lista original? Elas são encadeadas?
Sim, os usuários são criados, um por endereço de e-mail.
Olá pessoal,
Estou tentando migrar do Google Groups. Ao tentar baixar as mensagens usando este comando script/import_scripts/google_groups.rb -g <nome_do_grupo> -d <nome_do_domínio> recebo um stacktrace imediatamente:
Fetching gem metadata from https://rubygems.org/.......
Resolving dependencies...
/usr/local/lib/ruby/gems/3.4.0/gems/childprocess-4.1.0/lib/childprocess.rb:6: warning: logger was loaded from the standard library, but will no longer be part of the default gems starting from Ruby 3.5.0.
You can add logger to your Gemfile or gemspec to silence this warning.
/usr/local/lib/ruby/gems/3.4.0/gems/selenium-webdriver-4.1.0/lib/selenium/webdriver/common/zipper.rb:23: warning: base64 was loaded from the standard library, but is not part of the default gems starting from Ruby 3.4.0.
You can add base64 to your Gemfile or gemspec to silence this warning.
/usr/local/lib/ruby/gems/3.4.0/gems/bundler-2.6.4/lib/bundler/runtime.rb:71:in 'block (2 levels) in Bundler::Runtime#require': There was an error while trying to load the gem 'webdrivers'. (Bundler::GemRequireError)
Gem Load Error is: cannot load such file -- base64
Eu posso adicionar um gem “base64” ao script google_groups.rb para avançar um pouco, mas então vejo isto:
Logging in...
/usr/local/lib/ruby/gems/3.4.0/gems/rubyzip-3.2.2/lib/zip/entry.rb:757:in 'File#initialize': No such file or directory @ rb_sysopen - /root/.webdrivers/root/.webdrivers/chromedriver (Errno::ENOENT)
Alguma sugestão de como posso prosseguir com o download das mensagens?
Edição: existe talvez uma versão mais recente deste script? Os Grupos não usam mais /forum em seu URL, agora é a notação /g/ e outras mudanças.