Plone的通用内容迁移框架。
项目描述
内容迁移工具
由Martin Aspeli <optilude@gmx.net>等人编写
在GNU较弱的通用公共许可证(LGPL)版本2.0下发布
这是一个通用的内容迁移框架,可以帮助您编写自己的内容迁移。它没有用户界面,本身也没有价值,但可以轻松编写某些类型的内容迁移。
这取代了ATContentTypes迁移框架,并提供了三个有用的扩展
CustomQueryWalker可以用来为walker指定更具体的目录查询,例如实际要迁移的内容。这可以与任何migrator一起使用。
BaseInlineMigrator与BaseMigrator类似,但不通过将旧对象复制到临时位置、创建新对象并应用迁移方法来迁移。相反,迁移方法就地应用。这大大简化了代码,因为不需要复制属性、本地角色等。
请注意,BaseMigrator通过self.old和self.new作为迁移的对象来工作,而BaseInlineMigrator只有一个对象,存储在self.obj中。这可以与任何walker一起使用。
这个类的扩展FieldActionMigrator使用基于操作的迁移框架,用于在field.py中找到的Archetypes字段。请参阅该文件以获取完整详细信息,但简要来说,您指定要迁移的属性列表,指示migrator是否要重命名、转换、取消设置或更改属性的存储。
有关完整详细信息,请参阅walker.py、migrator.py和field.py中的docstrings。有关示例,请参阅tests/cmtc.py和tests/testATFieldMigration.py。
变更日志
2.2.2 (2021-10-07)
错误修复
防止在Python 3上安装,因为我们知道Archetypes在那里无法工作。[maurits] (#3330)
2.2.1 (2020-04-23)
错误修复
包装更新。 (#1)
2.2.0 (2018-10-31)
错误修复
在PloneTestcase现在是DX之后,切换到新的TestCase。[pbauer] (#19)
防止additionalQuery溢出到其他调用和testlayers。[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)
错误修复
在迁移过程中拆包brains,以便记录损坏的目录记录。[pbauer]
2.1.16 (2017-03-09)
错误修复
修复Products.ATContentTypes.interfaces的导入位置。[thet]
2.1.15 (2017-02-12)
错误修复
从OFS.CopySupport删除/弃用了has been dropped/deprecated errors。[tschorr]
2.1.14 (2016-11-01)
错误修复
移除对Archetypes的未使用导入。[davisagli]
2.1.13 (2016-08-11)
修复
使用zope.interface装饰器。[gforcada]
2.1.12 (2016-03-31)
修复
HAS_LINGUA_PLONE现在仅检查LinguaPlone是否已安装。不再检查是否安装了LinguaPlone或plone.app.multilingual。[bsuttor]
2.1.11 (2015-07-18)
通过将testcontent移动到产品来移除对CMFDefault的隐式依赖。[tomgross]
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)
将所有旧式类更改为新式类,以便更容易从派生类中重载方法。[thet]
2.1.7 (2014-01-27)
尚未更改。
2.1.6 (2013-09-23)
使用webdav解锁项目。[maurits]
2.1.5 (2013-07-15)
在迁移时保留来自plone.app.redirect的重定向。[maurits]
2.1.4 (2013-04-06)
如果文件夹位置未分配,则默认为位置0。[kroman0, pbauer]
2.1.3 (2013-03-05)
修改UIDMigrator,使其对提供IMutableUUID的项目也有效。[pabo]
2.1.2 (2012-12-21)
如果Joe是对象的创建者而Jane是所有者,确保在迁移后Joe仍然是创建者。[maurits]
2.1.1 (2012-04-15)
迁移标记接口。修复 http://dev.plone.org/ticket/11424 [maurits]
迁移扩展字段(archetypes.schemaextender)。[maurits]
使用 obj.__parent__ 代替 obj.getParentNode() 以实现 Zope trunk 兼容。[elro]
2.1.0 (2011-10-06)
为基于目录的遍历添加 limit 选项,使其一次只尝试加载 limit 个项目,默认无限制。[hannosch]
在 brain.getObject 期间捕获属性错误并将其记录,而不是中断升级。[hannosch]
2.0.3 (2011-08-11)
正确撤销补丁。[jfroche]
2.0.2 (2011-08-10)
通过修补 WorkflowAware 类的 'notifyWorkflowCreated' 方法修复包含对象的文件夹的迁移问题(这通常是情况)。[jfroche]
修复文件夹项,同时使用 ATItemMigratorMixin。[jfroche]
添加本地构建配置。[jfroche]
使用模块名而不是完整文件路径注册到日志模块。[mj]
2.0.1 - 2010-12-08
在迁移之前解除锁定对象。[ggozad]
2.0 - 2010-07-18
无更改。
2.0b1 - 2010-06-13
避免 Zope 2.13 下的弃用警告。[hannosch]
添加对 archetypes.schemaextender >= 2.0 的支持,并在迁移期间禁用架构缓存。[hannosch]
2.0a3 - 2009-11-15
修复了我在 _createObjectByType 函数中的调整问题,其中 portal_type 在 Plone 3 中设置不正确。[davisagli]
2.0a2 - 2009-11-15
使 _createObjectByType 函数调用 FTI 的 _constructInstance 方法,而不是尝试复制其逻辑。这增加了与 CMF 2.2 的兼容性。[davisagli]
2.0a1 - 2009-11-14
避免 zope.app 依赖。[hannosch]
使用 OFS 和 Archetypes 的 Zope 接口。[witsch]
1.2 - 2009-08-09
修复测试,使其能够在 Plone 3.3 上运行。[witsch]
修复删除用户留下的本地角色分配问题。[pbugni, rossp]
1.1 - 2009-03-05
在各个地方添加缺少的导入。[wichert]
修复了权限迁移逻辑中的错误,导致管理员角色获得了所有权限。[ivo, wichert]
1.0 - 2008-09-17
更新文档以适应代码。[pbugni]
修改 CatalogWalker,使其以传入的门户网站为根进行搜索。这使得仅迁移站点的一部分成为可能。[wichert]
正确处理路径,清理分类器,缩短简短描述。[wichert]
使用 contentmigration 包的标准命名约定。[wichert]
在架构不匹配方面更加优雅。[wichert]
将过时的 transaction.commit(1) 替换为 transaction.savepoint(optimistic=True)。[stonor]
1.0b4 - 2007-06-11
添加 os 的导入,以便可以构建 egg。[derek_richardson]
添加缺少的 configure.zcml。[witsch]
重新组织 contentmigration trunk 以进行 eggification。如果您正在将 trunk 作为产品使用,请将其固定到上一个修订版或更改外部以使用 src/Products/contentmigration。[derek_richardson]
首次 eggified 版本。
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
哈希值 for Products.contentmigration-2.2.2-py2-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9566cd3f2126fa7497217b8cde4061093409dcba20d883adb3578d330261718c |
|
MD5 | a14d22225af3bcef5dacc7cd99c64a74 |
|
BLAKE2b-256 | 81047bec6f25142551d164b6ceaf21c8945e61666a6a3c4da45b931844a70e8b |