跳转到主要内容

用于zope/plone内容迁移的工具和buildout配方

项目描述

简介

collective.migrator 是一个基于 buildout 的工具,用于帮助在 Plone/Zope 实例之间迁移内容。可以按照以下方式安装

$ easy_install collective.migrator

安装完成后,您可以使用此工具设置迁移环境

$ migrator

这将在 migrator 文件夹中创建一个文件夹并安装一个 buildout 环境。所有后续操作都从此文件夹运行。

此时您需要做的第一件事是自定义 instance.cfg 文件。

默认情况下,它看起来像这样

[remote]
host = xxx.webfactional.com
user = ssh_user
port = 8080
extensions = /usr/Plone-2.5.5/zeocluster/client1/Extensions
zmi_user = admin
zmi_pwd = admin
root = Plone
export = /usr/Plone-2.5.5/zeocluster/client1/var

[local]
host = localhost
port = 8080
extensions = /home/suresh/plone4/parts/instance/Extensions
zmi_user = admin
zmi_pwd = admin
root = Plone
import = /home/suresh/plone4/var/instance/import

这定义了迁移中涉及的所有 Plone 实例的设置。

buildout.cfg 定义了作为迁移一部分要执行的操作。

以下是默认内容

[buildout]
extends = instance.cfg
    migrate_frontpage.cfg
    migrate_users.cfg
    migrate_props.cfg
parts =
tbd =
    ${migrate_frontpage:parts}
    ${migrate_users:parts}
    ${migrate_props:parts}

如你所见,parts 故意留空。此外,之前提到的 instance.cfg 也在此使用。其他 migrate_.cfg* 文件包含一些示例步骤,用于在实例之间移动各种对象。

作为一个简单的测试,您可以将 buildout.cfg 中的 parts 更改为如下所示

parts = export_frontpage

此步骤定义在 migrate_frontpage.cfg 中。

现在,在运行以下命令之后

$ bin/buildout

您应该会注意到在远程 Plone 实例中已导出首页对象。一旦您对工具更有信心,您甚至可以尝试运行 migrate_.cfg* 文件中找到的其他步骤。

PS:这可能不是操作您的 Plone 的“最酷”方式,其中一些操作可能更适合使用 GenericSetup 配置文件完成,但这对我有效!

故障排除

有几个人报告了以下错误

# migrator
INFO: Starting migraton.
Traceback (most recent call last):
  File "/opt/python/bin/migrator", line 5, in ?
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

不确定是什么原因造成的,但我怀疑是Python安装有问题。《virtualenv》是一个很好的工具,可以防止这种情况发生。以下修改后的安装程序可以在此情况下使用

$ easy_install virtualenv
$ virtualenv --no-site-packages <my-folder>
$ . <my-folder>/bin/activate
$ easy_install -U setuptools
$ easy_install -U zc.buildout
$ easy_install collective.migrator
$ migrator

变更日志

1.8 (2012-02-22)

  • 目前没有变化。

1.7 (2012-02-22)

  • 目前没有变化。

1.6 (2012-02-22)

  • 允许使用由UnifiedInstaller创建的文件提供zmi用户名/密码 [sureshvv]

  • 没有install_requires [sureshvv]

  • 在ZODB中删除对象之前检查其存在性 [sureshvv]

1.5 (2011-02-26)

  • 生成 .objects, .preserve 和 .properties 的配方,以方便导入内容 [sureshvv]

  • 如果导入失败,显示错误日志中的错误消息 [sureshvv]

  • 启用/禁用链接完整性检查 [sureshvv]

  • 允许在文件名中使用URL转义,例如在copy_file中允许空格等。 [sureshvv]

  • 允许文件名中使用不良字符,如 ~, (, ) 等。 [sureshvv]

  • 添加测试 [sureshvv]

1.4 (2010-11-27)

  • 添加了pack_db配方 [sureshvv]

  • enable_link_integrity_checks可以切换 [sureshvv]

  • 导出中的错误修复 [sureshvv]

  • 在README.txt中添加了故障排除部分 [sureshvv]

  • 恢复install_requires。野外有很多问题。 [sureshvv]

1.3 (2010-10-25)

  • 删除了migrate_blogs引用(感谢Marcelo Zabaljauregui) [sureshvv]

1.2 (2010-08-11)

  • 在失败时转储错误日志 [sureshvv]

  • 没有install_requires [sureshvv]

  • 允许循环调用外部方法 [sureshvv]

  • 新的发布到URL的配方 [sureshvv]

  • 新的操作和站点配置脚本 [sureshvv]

  • 在导入后删除zexp文件 [sureshvv]

1.1 (2010-06-17)

  • 允许将参数传递给外部方法 [sureshvv]

  • 将脚本分成统一的单元 [sureshvv]

  • 在README.txt中添加了文档 [sureshvv]

1.0 (2010-06-16)

  • 初始发布 [sureshvv]

项目详情


下载文件

下载适用于您平台文件的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分发

collective.migrator-1.8.tar.gz (19.3 kB 查看哈希)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面