将旧的plone或google站点内容迁移到当前plone 4
ilrt.contentmigrator的Python项目详细描述
ILRT内容迁移器
Ed Crewe,布里斯托尔大学,2014年10月,ILRT
核心功能应该允许在任何plone版本之间进行迁移。
XML格式应该允许迁移到大多数其他CMS,假设任何现代CMS 应该以某种方式处理XML内容导入。
有一个工具可以将plone导出的站点迁移到 谷歌网站或反之亦然,请参见http://sites.google.com 要么将传统的plone站点迁移到免费托管,要么增加 一个网站的定制级别,超出谷歌网站的权限。不管怎样我希望这样 工具可能会证明是相互有益的。
TOdo:将XML格式的导入/导出处理添加到CMIS架构以获取更多信息 通用标准符合性。再加上WordPress导出格式等。
Mercurial源请参见http://bitbucket.org/edcrewe/ilrt.contentmigrator" rel="nofollow">http://bitbucket.org/edcrewe/ilrt.contentmigrator。 存储库、问题跟踪程序等。
注意:导出在一定程度上适用于所有plone版本。
从plone 3.*版本0.6更新到plone 4.*兼容版本1.6 在0.6和1.6之间没有功能变化,在 plone export/import只是额外的版本兼容性调整和更新 测试套件。
版本1.7-1.13进一步的功能调整和XML兼容性更改。
用plone从2.0到4.3.3进行测试
概述
这个鸡蛋和它包含的配套产品是为了迁移内容而编写的 从前原型倍体2.0位点(或更高)到当前倍体。
contentmigrator egg扩展了通用设置内容导入系统 处理二进制文件和自定义内容。因此 站点可以由profiles结构中保存的文件系统内容生成 文件夹.
egg遵循现有通用设置的范例,但添加了工作流 属性元数据的状态。 它还为每个二进制内容项添加 .ini文件,以便它们可以 导入和导出所有相关的元数据。
它包含一个配套的老式plone产品。这个可以放进 旧plone站点中的产品文件夹。 该站点获得一个portal_exportcontent工具。从中运行导出 工具将内容导出到var目录中的结构文件夹 用于填充当前plone站点,从而迁移内容。
概念
由于需要迁移大量的obselete,代码已经到达 在研究过这个问题后,发现大多数工具都假设 在过去几年中的版本,其中原型,5,marshall和xml,或者 位置内容迁移是可行的。
相反,代码采用了Andreas Jungs在博客中所讨论的方法 plone迁移失败-仅执行内容迁移
使用内容迁移器
将ilrt/contentmigrator/contentmigrator复制到 旧址。重新启动,应该列出"内容迁移器工具" 在右边的内容下拉列表中。选择此项并将其添加到门户。
您的站点中将有一个新的门户导出内容工具。选择此并选择 "导出内容"选项卡。 单击export并等待站点成为var/zope/structure中的文件 如果您只希望导出站点的一个子节,请在 页面顶部的文本框。
转到新的plone安装。将ilrt.contentmigrator添加到构建配置中 鸡蛋和zcml部分然后运行bin/buildout。
要执行完全导入,必须首先通过快速安装安装ilrt.contentmigrator呃,
如果没有导入到现有的plone站点,请添加plone站点。去ZMI 通过http://host/plone/manage" rel="nofollow">http://host/plone/manage并单击门户快速安装工具 选中"内容迁移器工具安装"复选框,然后单击"安装"。 然后应该提供/plone/portal_setupcontent。点击那个 访问migrator接口。
将导出的结构文件夹复制(或符号链接)到 ilrt.contentmigrator egg或在新plone站点的主主题egg中 然后重新启动,例如ilrt.contentmigrator/ilrt/contentmigrator/profiles/import/structure
导出格式-csv、xml、html
注意,虽然有三种导出格式,但只有默认的csv格式 可导入到更新的plone站点。
(如今,csv格式可能更适合称为yaml, 尽管可能不严格遵守yaml 1.2规范)
XML导出格式作为一种更通用的格式被添加到其他CMS的迁移工具中。 添加HTML转储是为了存档。
更多详细信息
安装ContentMigrator工具后,通用安装程序的内容适配器将 修改后,内容导入步骤现在将添加所有内容并设置工作流状态。
因此,一般设置,即plone/portal_设置是此工具的基础。
当您转到新的门户设置内容工具时,可以运行进一步增强的 通用安装内容步骤的版本,该步骤还设置用户、组和 MemberData并提供更完整的屏幕日志记录。 此外,该工具还提供对导出器的访问,以便您可以重新导出站点 或其内容的子文件夹。
如果要为结构文件夹导入指定其他路径,请调整 您正在使用的配置文件中的目录,例如directory="c:\导入" 在profiles.zcml中
如果使用默认配置文件,则通用安装程序将自动创建 为plone站点重新安装或选择带有配置文件的egg时的内容 创造。如果使用了另一个配置文件(如上面的/import),则必须 首先手动选择,然后通过安装工具或此迁移器工具运行。 对于大内容导入,这可能更可取。
标准通用安装程序在cmfcore.exportimport.content中运行适配器,该适配器将 只填充HTML文档的内容,没有属性或工作流状态 添加。
contentmigrator修改通用设置站点的创建以执行以下操作
< Buff行情>- 如果找到匹配的二进制内容格式和原型,则填充它们。
- 使用Marshall的RFC822 Marshaller提取和应用属性数据。
- 应用工作流状态转换。 注意:工作流迁移需要 ilrt.migrationtool egg.
- 转换旧内容类型并添加MemberData(请参见下文)
请注意,进口要比出口长得多。 例如,一个千兆字节的内容可能只需要5分钟就可以导出,但是 一个小时就到了!
内容类型转换
有一个旧类型到新原型的老普隆遗址的地图。 目前这只处理"事件"的"日历项"和"链接"到"atlink"。 它位于ilrt/contentmigrator/contentmigrator/config.py文件中。 通过修改配置数据的typemap和nonatrops字典,可以映射 其他旧的自定义类型到新内容,甚至使用它从一个新类型迁移内容 到另一个。
用户迁移
contentmigrator还将导出和导入zope持有的用户,包括密码。 它通过生成用户、角色和组数据frOM GRUF或 在/structure/acl_users文件夹中,将基于PAS的站点作为通用设置XML文件。 MemberData被保存为门户成员数据目录中每个成员的CSV文件 在acl用户中。
谷歌网站导入
谷歌网站的导入不在plone的范围内。 它只需要安装googles gdata库的命令行python。 请参阅ilrt.contentmigrator/ilrt/contentmigrator/google/readme.txt 注意:当前它不处理自定义内容类型
XML格式
可以选择将内容导出为XML以导入其他系统, 要重新导入到当前plone中,请使用默认csv格式。