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 依赖。[汉诺施]
使用来自OFS和Archetypes的 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。[德里克理查森]
第一个蛋化版本。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。