Skip to main content

Plone 的通用内容迁移框架。

项目描述

内容迁移实用程序

马丁·阿斯佩利(Martin Aspeli)< optilude @ gmx > 和其他

根据 GNU 宽松通用公共许可证 (LGPL) 2.0 版发布

这是一个通用的内容迁移框架,应该可以帮助您编写自己的内容迁移。它本身没有 UI,也没有任何价值,但可以轻松编写某些类型的内容迁移。

这取代了 ATContentTypes 迁移框架,并提供了三个有用的扩展:

  • CustomQueryWalker 可用于指定更具体的目录查询供walker 使用(例如,实际迁移哪些内容)。这可以与任何迁移器一起使用。

  • BaseInlineMigrator 类似于 BaseMigrator,但不会通过将旧对象复制到临时位置、创建新对象和应用迁移方法来迁移。相反,迁移方法是就地应用的。这显着简化了代码,因为不需要复制属性、本地角色等。

    请注意,虽然 BaseMigrator 将 self.old 和 self.new 作为被迁移的对象,但 BaseInlineMigrator 只有一个对象,存储在 self.obj 中。这可以与任何助行器一起使用。

  • 此类称为 FieldActionMigrator 的扩展使用 field.py 中的 Archetypes 字段的基于操作的迁移框架。请参阅该文件以获取完整的详细信息,但简而言之,您指定要在存储级别迁移的属性列表,指示迁移器是否重命名、转换、取消设置或更改属性的存储。

请参阅 walker.py、migrator.py 和 field.py 中的文档字符串以获取完整的详细信息。例如,请参阅 tests/cmtc.py 和 tests/testATFieldMigration.py。

变更日志

2.2.2 (2021-10-07)

Bug修复:

  • 防止在 Python 3 上安装,因为我们知道 Archetypes 在那里不起作用。[maurits] (#3330)

2.2.1 (2020-04-23)

Bug修复:

  • 小的包装更新。(#1)

2.2.0 (2018-10-31)

Bug修复:

  • 在 PloneTestcase 现在是 DX 之后,使用 AT 切换到新的 TestCase。[pbauer] (#19)

  • 防止附加查询溢出到其他调用和测试层。[pbauer] (#21)

2.1.19 (2018-02-02)

新的功能:

  • 更多 Python 2 / 3 兼容性调整 [davilima6]

2.1.18 (2018-01-30)

新的功能:

  • 准备 Python 2 / 3 兼容性 [davilima6]

2.1.17 (2017-09-03)

Bug修复:

  • 打开大脑以便能够在迁移过程中记录损坏的目录记录。[pbauer]

2.1.16 (2017-03-09)

Bug修复:

  • 修复 Products.ATContentTypes.interfaces 的导入位置。[主题]

2.1.15 (2017-02-12)

Bug修复:

  • 错误已从 OFS.CopySupport 中删除/弃用。[tschorr]

2.1.14 (2016-11-01)

Bug修复:

  • 删除未使用的原型导入。[达维萨利]

2.1.13 (2016-08-11)

修复:

  • 使用 zope.interface 装饰器。[gforcada]

2.1.12 (2016-03-31)

修复:

  • HAS_LINGUA_PLONE 现在只检查是否安装了 LinguaPlone。如果安装了 LinguaPlone 或 plone.app.multilingual,则不再需要。[支持者]

2.1.11 (2015-07-18)

  • 通过将测试内容移动到产品来移除对 CMFDefault 的隐式依赖。[汤姆格罗斯]

2.1.10 (2015-04-17)

  • 移植到 plone.app.testing [acattla, tomgross]

2.1.9 (2014-09-07)

  • 当 plone.app.multilingual 或 LinguaPlone 存在时迁移翻译项目。[pbauer]

2.1.8 (2014-04-14)

  • 将所有旧式类更改为新式类,以便更轻松地从派生类重载方法。[主题]

2.1.7 (2014-01-27)

  • 什么都没有改变。

2.1.6 (2013-09-23)

  • 使用 webdav 解锁项目。[毛里求斯]

2.1.5 (2013-07-15)

  • 迁移时保留来自 plone.app.redirect 的重定向。[毛里求斯]

2.1.4 (2013-04-06)

  • 如果未指定文件夹位置,则默认为位置 0。[kroman0,pbauer]

2.1.3 (2013-03-05)

  • 修改 UIDMigrator 使其也适用于提供 IMutableUUID 的项目。[帕博]

2.1.2 (2012-12-21)

  • 当 Joe 是对象的创建者而 Jane 是所有者时,请确保 Joe 在迁移后仍然是创建者。[毛里求斯]

2.1.1 (2012-04-15)

  • 迁移标记接口。修复http://dev.plone.org/ticket/11424 [maurits]

  • 也迁移扩展字段(archetypes.schemaextender)。[毛里求斯]

  • 使用 obj.__parent__ 而不是 obj getParentNode() 以获得 Zope 中继兼容性。[埃尔罗]

2.1.0 (2011-10-06)

  • 添加对基于目录的步行者的限制选项的支持,因此它一次只尝试加载限制项目,默认为无限制。[汉诺施]

  • 在brain.getObject期间捕获属性错误并记录它们而不是中断升级。[汉诺施]

2.0.3 (2011-08-11)

  • 正确撤消补丁 [jfroche]

2.0.2 (2011-08-10)

  • 通过修补 WorkflowAware 类 [jfroche] 上的“notifyWorkflowCreated”方法来修复包含对象的文件夹的迁移(通常是这种情况)

  • 修复文件夹项目,也使用 ATItemMigratorMixin [jfroche]

  • 添加本地构建配置 [jfroche]

  • 使用模块名称,而不是完整的文件路径,来注册日志模块。[兆焦耳]

2.0.1 - 2010-12-08

  • 在迁移之前解锁锁定的对象。[格扎德]

2.0 - 2010-07-18

  • 没有变化。

2.0b1 - 2010-06-13

  • 避免 Zope 2.13 下的弃用警告。[汉诺施]

  • 添加了对 archetypes.schemaextender >= 2.0 的支持,并在迁移期间禁用模式缓存。[汉诺施]

2.0a3 - 2009-11-15

  • 修复了我对 _createObjectByType 函数的调整问题,其中 portal_type 在 Plone 3 中没有正确设置。 [davisagli]

2.0a2 - 2009-11-15

  • 让 _createObjectByType 函数调用 FTI 的 _constructInstance 方法,而不是试图复制它的逻辑。这增加了与 CMF 2.2 的兼容性。[达维萨利]

2.0a1 - 2009-11-14

  • 避免 zope.app 依赖。[汉诺施]

  • 使用来自OFSArchetypes的 Zope 接口。[巫术]

1.2 - 2009-08-09

  • 修复测试以在 Plone 3.3 上运行。[巫术]

  • 修复已删除用户的剩余本地角色分配问题。[pbugni, rossp]

1.1 - 2009-03-05

  • 在各个地方添加缺失的导入。[威彻特]

  • 修复权限迁移逻辑​​中导致Manager角色获得所有权限的BUG。[ivo, wichert]

1.0 - 2008-09-17

  • 更新文档以适应代码。[pbugni]

  • 修改 CatalogWalker 以在传入的门户中根搜索。这使得仅在站点的某些部分中迁移成为可能。[威彻特]

  • 正确的路径处理,清理分类器,使简短的描述简短。[威彻特]

  • 对 contentmigration 包使用标准命名约定。[威彻特]

  • 更优雅地处理模式不匹配。[威彻特]

  • 将弃用的 transaction.commit(1) 替换为 transaction.savepoint(optimistic=True)。[震颤]

1.0b4 - 2007-06-11

  • 为 os 添加导入,以便可以构建 egg。[德里克理查森]

  • 添加了缺少的configure.zcml。[巫术]

  • 重组内容迁移主干以进行蛋化。如果您将主干用作产品,请固定到以前的版本或更改您的外部以使用 src/Products/contentmigration。[德里克理查森]

  • 第一个蛋化版本。

项目详情


下载文件

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

源分布

Products.contentmigration-2.2.2.tar.gz (38.6 kB 查看哈希

已上传 source

内置分布

Products.contentmigration-2.2.2-py2-none-any.whl (47.3 kB 查看哈希

已上传 py2