跳转到主要内容

Plone的版本管理

项目描述

CMFEditions为Plone提供版本管理。

  • 它开箱即用。

  • 它高度可扩展以适应特定用例。

开箱即用体验

可版本化内容项编辑视图现在允许在保存时保存版本(自动或手动)。可以从视图视图快速访问版本历史。

可版本化内容类型还有一个包含与版本相关功能的附加标签页

  • 保存新版本

  • 预览旧版本

  • 检索旧版本(替换树中的当前状态)

  • 比较版本

内容面板允许根据内容类型配置版本管理策略

  • 启用或禁用版本管理

  • 保存时自动版本管理

  • 检索时自动版本管理

默认情况下,文件夹的内容独立于文件夹进行版本管理。这可以通过ZMI更改,并在Python级别针对特定情况进行更改。

当前策略是保存内容项的所有信息(包括安全信息、工作流状态等)。在检索时,一些信息会被过滤掉。根据具体需求,此策略可能完全改变(见下文修饰符)。

可扩展性

CMFEditions从一开始就考虑了可扩展性。几个工具提供了全部功能。

  • 仓库层:这是公共主API。仓库层负责从/到Zope 2的对象文件系统(OFS)递归存储和检索内容项。

  • 档案层:它知道如何克隆内容项。档案员是“Mr. Pickle”。

  • 修饰符:由档案员调用,知道要克隆什么。这是主要的定制点。修饰符知道对象上哪些信息是引用,以及引用的对象是否需要版本控制。

  • 存储:负责在历史记录中存储内容项版本。当前存储实现是ZODB存储(它使用ZC的Zope版本控制产品)。可以编写其他存储(svn、基于文件、基于xml等)。存储API相当简单,存储实现不需要关心引用问题,因为上层已经处理了。

  • 清除策略:清除策略在每次保存操作时调用,并完全控制要保存的版本和整个历史。当前实现可能被配置为只保留n个当前版本,通过从仓库中清除旧版本来实现。默认情况下,此功能是禁用的。可以通过ZMI启用。在保存具有许多相互关系的对象时,请小心。清除功能相当新!

附加文档

在文档包中可以找到一些演示和ReSt文档,该文档包需要单独下载(或CMFEditions的doc文件夹)。

CMFEditions团队还在plone.org的下载区域(<http://plone.org/products/cmfeditions/documentation>)添加了文档。欢迎您帮忙。

依赖关系

CMFEditions是Plone发行版的一部分,并且所有依赖项都已包含在内。请参阅Plone的依赖信息以获取任何详细信息。

从CMFEditions旧版本迁移

我们知道从1.0alpha3、1.0alpha4或2006年5月之前的分支检查迁移时存在严重问题。请<mailto:collective-versioning@lists.sourceforge.net>联系我们寻求帮助。我们感兴趣的是使迁移更加安全。

反馈

源代码

贡献者请阅读Plone核心开发流程文档。

源代码位于托管在Github上的Plone代码仓库

致谢与赞助

许多人和组织使CMFEditions成为可能。

见CREDITS.txt

变更日志

4.0.3 (2024-01-18)

内部

  • 更新配置文件。[plone开发者] (cfffba8c)

4.0.2 (2023-10-07)

错误修复

  • 允许在ArchivistTool初始化时sys_metadata中的主体。[#101]

4.0.1 (2023-04-15)

内部

  • 更新配置文件。[plone开发者] (3333c742)

4.0.0 (2022-12-02)

错误修复

  • Plone 6.0.0的最终发布。[#600]

4.0.0b3 (2022-10-03)

错误修复

  • 修复在检索版本后对象仍然锁定的问题。[#93]

4.0.0b2 (2022-09-19)

错误修复

  • 当将项回滚到旧版本时,仅触发一次ObjectModifiedEvent。[davisagli] (#90)

4.0.0b1 (2022-07-21)

错误修复

  • 将标签“工作副本”替换为“当前修订版”。[rristow] (#55)

  • 不依赖于Zope2但依赖于Zope,并删除过渡依赖项。[jensens] (#87)

  • 修复已弃用的导入并不依赖于CMFPlone。同时移除循环依赖。[jensens] (#88)

  • 修复测试以与更新的CMFUid一起工作。[davisagli] (#89)

4.0.0a3 (2022-01-19)

破坏性变更

  • VersionView类已被弃用,因为它只包含一个现在包含在@@plone视图中的方法。[ale-rt] (#84)

4.0.0a2 (2021-12-29)

破坏性变更

  • 从皮肤中移除了versioning_config.py和versioning_config_form.pt。取而代之,您可以在@@content-controlpanel中更改版本配置。[maurits] (#72)

  • 从2006年移除了从1.0alpha3到1.0beta1的迁移代码。移除了存储迁移支持。这包含了创建迁移测试的测试层次结构的代码。[maurits] (#72)

  • 移除了未使用的versions_history.pt,它定义了versions_history宏。我们仍然有versions_history_form。[maurits] (#72)

新特性

  • 将皮肤脚本checkUpToDate合并到versions_history_form视图中。将can_diff视图合并到versions_history_form视图中。[maurits] (#71)

  • 在升级步骤中移除现在为空的CMFEditions皮肤层。[maurits] (#71)

  • 将各种项目从皮肤移动到浏览器视图:saveasnewversionrevertversiondiff_legendversions_history_formcompare.css。[maurits] (#71)

错误修复

  • 移除了version_diff.pt模板。此模板已弃用。请使用@@history视图代替。[maurits] (#71)

  • QA:black、isort、flake8、修复弃用警告、移除six的使用、升级到Python 3.7仅语法。[maurits] (#80)

4.0.0a1 (2021-04-26)

破坏性变更

  • 移除了对Archetypes、Zope 2和Python 2的支持。移除了仅适用于Archetypes的修饰符:RetainATRefsNotRetainATRefsSkipBlobsCloneBlobs。添加了升级步骤,从portal_modifier工具中移除这些修饰符。这仅适用于Plone 6。[maurits] (#74)

  • 为Plone 6更新Bootstrap标记。[petschki] (#79)

新特性

  • 更优雅地处理损坏的VersionPolicies和修饰符。

    • ConditionalModifier.isApplicable:当修饰符损坏时返回False。

    • portal_repository.listPolicies:记录并忽略损坏的版本策略。

    [maurits] (#74)

  • Barceloneta LTS支持[petschki] (#77)

3.3.4 (2020-04-23)

错误修复

  • 小型的打包更新。(#1)

3.3.3 (2019-08-29)

错误修复

  • 修复DeprecationWarning[jensens] (#71)

3.3.2 (2019-05-04)

错误修复

  • 修复3.3.1中的发布问题[esteele] (#69)

3.3.1 (2019-05-04)

错误修复

  • 避免ResourceWarnings。[gforcada] (#65)

  • 使移除版本行为不那么严格(命名与点)。[iham] (#67)

3.3.0 (2018-11-06)

新特性

  • 用human_readable_size替换getObjSize的使用。(#60)

错误修复

  • 修复AT类型控制器动作浏览器视图中的success()响应。(#62)

3.2.2 (2018-09-23)

错误修复

  • 修复由于在受限制的Python中导入six导致的未经授权的错误[https://github.com/plone/Products.CMFPlone/issues/2463](https://github.com/plone/Products.CMFPlone/issues/2463) [davilima6]

  • 将测试从PloneTestCase迁移出去[pbauer]

  • 由于py3中没有webdav支持,因此不要在py3中运行webdav_history.txt(这会破坏测试)。[pbauer]

  • 清理:isort/格式化/安全装饰器[jensens]

  • InitializeClass已移动到AccessControl.class_init - 使用它。[jensens]

  • setDefaultRoles已弃用。使用AccessControl.Permission中的addPermission代替。[jensens]

3.2.1 (2018-06-18)

错误修复

  • 使用plone.app.contenttypes而不是ATContentTypes进行测试[davisagli]

3.2.0 (2018-04-03)

新特性

错误修复

  • 使导入与Python 3兼容[ale-rt, pbauer]

  • 不要直接依赖于ZODB版本3[tomgross]

3.1.1 (2018-02-05)

新特性

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

3.1 (2017-03-31)

新特性

  • 使用合并的collective.indexing中的processQueue。[gforcada]

3.0.1 (2017-02-12)

错误修复

  • 使测试在Zope 4中运行(包括一些清理)。[pbauer]

  • 丢弃CMFFormController脚本[tomgross]

3.0 (2016-12-05)

破坏性变更

  • 清除即将删除的内容的所有旧版本[tschorr]

对于旧更改,2.2.23和更早版本,请参阅docs/old-changelog.rst

项目详情


发布历史 发布通知 | RSS订阅

下载文件

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

源代码分发

Products.CMFEditions-4.0.3.tar.gz (1.8 MB 查看哈希值)

上传时间 源代码

构建分发

Products.CMFEditions-4.0.3-py3-none-any.whl (245.3 kB 查看哈希值)

上传时间 Python 3

由以下支持

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