我应该如何将网站从ZWiki迁移到MediaWiki?

时间:2010-05-20 18:45:40

标签: wiki mediawiki

我在Zope上对ZWiki有一个相当广泛的维基(依次是Plone)。大多数页面都是reStructured文本格式,但也有几个直接HTML。

将这些页面迁移到MediaWiki wiki并将页面转换为MediaWiki和HTML格式的最佳方法是什么?当然,我想自动转换所有链接(内部和外部)。

2 个答案:

答案 0 :(得分:1)

  1. 使用zwikiexport.py script将您的Wiki内容提取到文件。该命令将类似于:

    ZOPE / bin / zopectl运行ZOPE / Products / ZWiki / bin / zwikiexport.py / zodb / path / to / wiki / folder

  2. 将重构的文本标记转换为mediawiki标记。 pandoc应该运行良好 - 对于每个wiki页面,运行类似:

    pandoc -r rst -w mediawiki PAGE.rst> PAGE.mw

  3. 转换pandoc不知道的wiki链接。根据您的内容,这可能是最难准确的部分。编写perl脚本,或使用Zwiki知道链接的位置来修改zwikiexport脚本(参见ZWikiPage.py中的方法)。

  4. 将mediawiki格式页面导入mediawiki,但已完成

  5. 精炼:

    • 导出的文件树将反映您的zwiki页面层次结构 - 如果您大量使用它,您将需要考虑如何在mediawiki中表示它

    • 正如马克所说,你将失去页面历史记录,除非你更加努力地找到复制它的方法。对于您可能一直使用的所有页面元数据也是如此(您可以在zope管理界面的页面的Properties选项卡中检查大部分元数据)。特别是页面创建时间,上次编辑时间以及页面创建者和最后编辑者的用户名非常重要,以便了解您的内容。因此,我会尝试编写某种方法来保存这些内容,或者如果所有其他方法都失败了,请手工完成。

    • 如果您已将文件上传到wiki,我认为导出脚本也可以保存这些文件,否则使用ZMI导出/保存它们。将它们导入mediawiki时,您可能需要选择一个页面来附加它们。您可以使用grep或Zwiki的搜索来查找引用特定文件的页面。

  6. 在宣布胜利之前,准备好迭代,彻底测试结果并完善流程。在那之后,内容会发生分歧,你不会想重新做这件事。

  7. 手动修复:在某些时候,停止摆弄脚本并手动,自己或帮助大队进行剩余的清理可能会更便宜。

  8. 祝你好运! - 西蒙 http://zwiki.org

答案 1 :(得分:0)

我没有ZWiki的经验,也不知道你的维基有多大。但是一般建议 - 您可以在记事本或Notepad ++中使用find / replace - 或者您可以在Excel中编写宏。

这是每页复制,只有当您的wiki不大于1000页时才真正适合。

我怀疑你仍然会手动检查每个页面,并相应地更新你的脚本。

祝你好运 - 我怀疑你会对最终结果感到满意,因为MediaWiki非常棒。

更新:迁移到新wiki的一个缺点是您将丢失页面历史记录(即谁写了什么,何时)。