跳转到主要内容

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]

  • 使用 OFSArchetypes 的 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 版本。

项目详情


下载文件

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

源分发

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

上传时间

构建分发

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

上传时间 Python 2