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>联系我们寻求帮助。我们感兴趣的是使迁移更加安全。
反馈
请<https://github.com/plone/Products.CMFEditions/issues>向plone.org上的CMFEditions跟踪器报告错误。
有关反馈和问题,请通过<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)
将各种项目从皮肤移动到浏览器视图:saveasnewversion、revertversion、diff_legend、versions_history_form、compare.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的修饰符:RetainATRefs、NotRetainATRefs、SkipBlobs、CloneBlobs。添加了升级步骤,从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)
新特性
允许按对象禁用版本控制。Plone问题2341 [tomgross]
错误修复
使导入与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。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。