解决方案就在你上面的帖子里。![]()
我们应该修复这个脚本。也许你可以创建一个 PR 来为所有人解决这个问题?
解决方案就在你上面的帖子里。![]()
我们应该修复这个脚本。也许你可以创建一个 PR 来为所有人解决这个问题?
谢谢,解决了,抱歉。为了弥补我阅读能力的不足,我打开了 Added duplication to name to prevent modification of frozen string exception by adam-skalicky · Pull Request #30325 · discourse/discourse · GitHub 来拯救其他可能问出愚蠢问题而感到羞愧的人。
此导入脚本是否以任何方式使 Discourse 复制 Mailman 2 的电子邮件主题(例如,使用 Discourse 的小箭头表示“In-Reply-To”)还是它纯粹是按时间顺序排列的(基于 Message-ID、In-Reply-To 和 References 的每个主题)?
是的,它确实可以。
好的。我的邮件列表中的不少电子邮件缺少应有的“In-Reply-To”和“References”标头,因此可能会被导入为新主题,而不是简单的回复。据我回忆,该脚本会使用这些标头或主题标头(而不是两者都用)。
我想我以前问过这个问题,但有没有什么非手动的方法可以在导入 Discourse 之前或之后向 MBOX 文件添加这些标头和/或以其他方式重新排列电子邮件?
现在可以合并主题并保持时间顺序,所以也许这就是答案。它们只是缺少 Discourse 的小箭头来表示该消息是回复给谁的。
mbox 导入脚本有两个阶段。第一个阶段是索引,它会输出一个 SQLite 数据库。你可以在导入前修改 SQLite 中的数据,或者修改 Ruby 脚本。
所有关于按主题或标题排序/分组的神奇之处都发生在这里:
如果你知道如何对电子邮件进行分组,可以添加自己的分组逻辑。
在考虑如此复杂的事情之前,我还需要一段时间!
在 https://bazaar.launchpad.net/~mailman-coders/mailman/2.1/view/head:/Mailman/Archiver/pipermail.py#L669 Mailman 2 的 Pipermail 按以下顺序查找:
这种组合方法似乎很理想。在第三种情况下,Discourse 不使用“回复”箭头可能是有意义的。
据我回忆,Mailman 3 的 Hyperkitty 根本不考虑主题,效果不太好。
抱歉打断一下,我有一个可能很愚蠢的问题,但我在这里找不到明确的答案。我想知道导入过程是否会为每封电子邮件创建一个新的 Discourse 用户(当然会进行去重),还是它们都作为一个系统用户导入。我有一个包含 20 年帖子的大型邮件列表,很难进行实验。另外,原始列表中的回复会怎样?它们会被线程化吗?
是的,用户已创建,每个电子邮件地址对应一个。
大家好,
我正尝试从 Google Groups 迁移。当使用以下命令下载消息时:script/import_scripts/google_groups.rb -g <组名> -d <域名>,我立即得到了一个堆栈跟踪:
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
我可以在 google_groups.rb 脚本中添加 gem “base64” 以进一步推进,但随后我看到了这个:
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)
关于如何继续下载消息,有什么建议吗?
编辑:这个脚本是否有更新的版本?Groups 不再在它们的 URL 中使用 /forum,现在是 /g/ 表示法以及其他更改。