跳转到主要内容

提供使用CMFEditions与dexterity内容类型的行为

项目描述

简介

plone.versioning (IVersionable) 行为用于为 dexterity 内容启用 CMFEditions 功能。它向编辑和添加表单添加 changeNote 字段,并在内容被编辑时创建新版本(如果为内容类型启用)。

它基于 Products.CMFEditions。要列出对象的版本,请使用 CMFEdtions 的视图 versions_history_form 或历史视图小部件(参见默认 @@view)。

用法

只需将行为 plone.versioning (plone.app.versioningbehavior.behaviors.IVersionable) 用于您的 dexterity 内容类型。

在您的 profiles/default/types/YOURTYPE.xml 中添加行为 plone.versioning

<?xml version="1.0"?>
<object name="example.conference.presenter" meta_type="Dexterity FTI"
   i18n:domain="example.conference" xmlns:i18n="http://xml.zope.org/namespaces/i18n">

 <!-- enabled behaviors -->
 <property name="behaviors">
     <element value="plone.versioning" />
 </property>

</object>

plone.versioning 行为仅为您的内容类型添加版本支持,但不会启用它。

您必须将 Plone 类型控制面板(/@@content-controlpanel)中的“版本”选项设置为“手动”或“自动”以启用版本控制。

如果您想通过通用设置自动启用自定义内容类型的版本控制,您必须在 gs 配置文件(例如,“profiles/default”)中创建一个名为“repositorytool.xml”的文件,其内容如下

<?xml version="1.0"?>
<repositorytool>
    <policymap>
        <type name="MyType">
            <policy name="at_edit_autoversion"/>
            <policy name="version_on_revert"/>
        </type>
        <type name="AnotherType">
            <policy name="at_edit_autoversion"/>
            <policy name="version_on_revert"/>
        </type>
    </policymap>
</repositorytool>

有关更多详细信息,请参阅http://plone.org/documentation/manual/upgrade-guide/version/upgrading-plone-4.0-to-4.1/updating-add-on-products-for-plone-4.1/use-generic-setup-for-defining-versioning-policies

更多信息

有关版本控制工作原理的更多信息,请参阅 Products.CMFEditions 的文档

变更日志

2.0.3 (2024-07-31)

错误修复

  • 删除 setuptools 化石。 [maurits] (#72)

内部

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

2.0.2 (2024-01-19)

错误修复

  • 更新配置。 [plone 开发者] (#12345)

2.0.1 (2023-03-22)

内部

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

2.0.0 (2022-11-30)

错误修复

  • 最终发布。 [gforcada] (#600)

2.0.0b1 (2022-07-21)

错误修复

  • 修复 Products.CMFEditions 中更改标签的测试。 [petschki] (#64)

  • 提高 CloneNamedFileBlobs 修改器的性能,该修改器用于在创建和检索版本时处理 Dexterity NamedBlobFile 和 NamedBlobImage 字段。以前,将 Blob 的内容复制到新的 Blob,但这是不必要的,也是缓慢的。现在,修改器仅确保版本保留对现有 Blob 的引用。这还减少了数据存储的使用,因为只需要一个 Blob 的副本,而不是两个。 [davisagli] (#66)

1.4.6 (2022-02-04)

错误修复

  • 从测试需求中删除已弃用的 plone.namedfile[blobs]。 [maurits] (#106)

1.4.5 (2022-01-28)

错误修复

  • 依赖 plone.namedfile 核心,而不是其空的 [blobs] 额外内容。 [maurits] (#106)

1.4.4 (2021-11-26)

错误修复

  • 修复使用 Python 2 和较新 plone.dexterity 的测试问题,使用 repr 对架构进行表示。 [wesleybl] (#60)

1.4.3 (2021-05-03)

错误修复

  • 修复由于 plone.dexterity >= 2.10.0 的动态架构标识符更改而导致架构更新后版本化动态内容类型(具有 blob 字段)的问题 [datakurre] (#57)

1.4.2 (2021-02-16)

错误修复

  • 如果找不到 portal_repository 工具,则不会中断 (#53)

1.4.1 (2020-07-30)

错误修复

  • 避免在无主字段的内容类型上转换链接时发生回溯 [laulaz] (#51)

1.4.0 (2020-04-30)

新功能

  • 将比较blob的差异的方法更改为使用Python内置的filecmp.cmp(shallow=False),而不是之前逐行比较的方法。[datakurre] (#50)

1.3.9 (2020-04-20)

错误修复

  • 更新指向已废弃的@@types-controlpanel的文档(应为@@content-controlpanel)。[gforcada] (#33)

1.3.8 (2019-06-27)

错误修复

  • 为可变版本对象创建初始版本。[ale-rt] (#47)

1.3.7 (2019-02-13)

错误修复

  • 如果重命名了提供NamedBlobFile的行为,现在我们仍然可以找到blob文件,前提是旧行为的点分名称已正确注册。[pysailor] (#45)

1.3.6 (2018-12-10)

错误修复

1.3.5 (2018-11-02)

错误修复

  • 减少了写入Blob的积极性。(问题#42)[iham]

  • 删除对zope.app.intid的(测试)依赖。[gforcada]

1.3.4 (2018-09-25)

错误修复

  • 将测试迁移到PloneTestCase之外。[pbauer]

  • 为py3修复导入。[pbauer]

1.3.3 (2018-04-03)

新功能

错误修复

  • 删除过时的grok使用。[tomgross]

1.3.2 (2018-02-02)

错误修复

  • 导入兼容Python3。[ale-rt, robbuh]

1.3.1 (2017-06-06)

错误修复

  • 添加缺失的TTW编辑表单。[Rotonen]

1.3 (2016-12-30)

新功能

  • 为行为添加短名 plone.versioning。[jensens]

1.2.10 (2016-09-23)

错误修复

  • 对于从其他内容(通常是Archetypes)迁移的关系,不要中断Dexterity对象。[ale-rt]

1.2.9 (2016-08-18)

错误修复

  • 使用zope.interface装饰器。[gforcada]

1.2.8 (2016-05-15)

修复

  • 修复 #25:像 ${absolute_url}/@@images/${uuid}.png 这样的URL在 @@version-view 上不会转换。[rafaelbco]

1.2.7 (2016-02-11)

  • 使用plone i18n域并删除本地化文件夹。[klinger]

修复

  • 更新繁体中文翻译。[l34marr]

1.2.6 (2015-11-28)

修复

  • 更新意大利语翻译。[ale-rt, cekk]

  • 修复 #10:图像和文件版本的视图不起作用。[rafaelbco]

1.2.5 (2015-09-20)

  • 更新法语翻译。[enclope]

1.2.4 (2015-09-11)

  • 更新巴斯克语翻译。[erral]

1.2.3 (2015-07-18)

  • 正确修正功能测试,它没有正确检查版本1。[bloodbare]

1.2.2 (2015-05-13)

  • 同步翻译。[vincentfretin]

  • 提供在手动模式下创建新版本时更好的描述。[vangheem]

1.2.1 (2015-03-13)

  • 将测试迁移到plone.app.testing。删除PloneTestCase / p.a.testing兼容性黑客。[jone]

  • 删除对zope.app.container和rwproperty的依赖。[davisagli]

  • 添加意大利语翻译。[cekk]

1.2.0 (2014-09-11)

  • 删除对versions_history_form的定制,因为这些更改已迁移到Products.CMFEditions>2.2.9。[rafaelbco]

1.1.4 (2014-08-25)

  • 处理尝试通过属性存储访问行为提供的字段时出现的AttributeError。[lgraf]

  • 添加繁体中文翻译。[marr]

1.1.3 (2014-02-26)

  • 在发布中包含 *.rst 文件。1.1.2是一个棕色袋子发布。[timo]

1.1.2 (2014-02-26)

  • 删除对plone.directives.form的依赖,因为它会获取five.grok,这是不允许在Plone核心中使用的。[timo]

1.1.1 (2013-07-19)

  • 合并Rafael Oliveira (@rafaelbco) 从collective.cmfeditionsdexteritycompat的versions_history_form修复。[rpatterson]

  • 添加丹麦语翻译。[tmog]

  • 修复了一个问题,其中克隆修改器会由于CPython内存分配例程(在Python中作为对象 id)的实现细节而导致不正确的pickle。[malthe]

  • 当安装grok包时包含grok。这确保加载了 grok 指令的ZCML。[lgraf]

  • 为了与dexterity 1.x兼容,如果安装了grok,则grok包。[jone]

  • 添加荷兰语翻译。[kingel]

  • 修复了blob版本化导致错误的案例,如果在修订之间从模式中删除了字段。[mikerhodes]

1.1 (2012-02-20)

  • 添加法语翻译。[jone]

  • 修复了SkipRelations修改器,使其也能与存储在属性中的行为一起工作。[buchi]

  • 添加西班牙语翻译。[hvelarde]

1.0 (2011-11-17)

  • 添加pt_BR翻译。[rafaelbco, davisagli]

  • 添加对具有关系的项目(plone.app.relationfield)版本化的支持。在克隆时跳过关系,在恢复时从工作副本中添加关系。[buchi]

1.0b7 (2011-10-03)

  • 修复了CloneNamedFileBlobs修改器中的错误,当上一个版本没有blob而工作副本有一个blob时,会导致AttributeError。[buchi]

1.0b6 (2011-09-25)

  • 在plone.namedfile[blobs]上添加缺失的依赖声明。[davisagli]

1.0b5 (2011-09-01)

  • 修复了setuphandler,使其不会在缺少Skip_z3c_blobfile修饰符的旧版Products.CMFEditions中失败。[buchi]

  • 修复了CloneNamedFileBlobs修饰符,使其能够处理值为None的字段。[buchi]

1.0b4 (2011-08-11)

  • 添加了通用设置配置文件,该配置文件安装并启用克隆blob的修饰符,并禁用Skip_z3c_blobfile修饰符。[buchi]

  • 添加了对版本化blob(NamedBlobFile,NamedBlobImage)的支持。[buchi]

1.0b3 (2011-03-01)

  • 删除了grok的使用,整理并声明了zope.app.container依赖。[elro]

  • 仅在修改时对修改的对象进行版本控制,而不是其容器。[elro]

1.0b2 (2011-01-25)

  • 更改了行为,使得changeNote字段仅在添加和编辑表单中渲染。[deo]

  • 确保在create_version_on_save中始终尝试捕获ArchivistUnregisteredError异常(这模仿了CMFEditions的原始处理)。[deo]

1.0b1 (2010-11-04)

  • 将包重命名为plone.app.versioningbehavior。[jbaumann]

  • 在测试之前加载Products.CMFEditions。[jbaumann]

  • 添加了一些更多的测试。[jbaumann]

  • 将包重命名为plone.versioningbehavior(参见dexterity邮件列表)。[jbaumann]

  • 重新启用了IObjectAddedEvent-事件处理器。在CMFEditions的主分支中修复了序列化错误。[jbaumann]

  • 将行为标记接口IVersionOnSave重命名为IVersioningSupport,因为它依赖于类型控制面板中的“版本”设置,如果内容在保存时自动进行版本控制。标记接口应仅指示类型是否可以进行版本控制。[jbaumann]

  • 添加了带有自己域的本地化目录。[jbaumann]

  • 更新了README.txt,在long-description中包含了doctests。[jbaumann]

  • 更新了测试:现在正确地测试了事件和版本创建。[jbaumann]

  • 添加了一个从请求注释中获取变更注释的辅助方法。[jbaumann]

  • 在字段适配器和创建版本的请求处理程序之间在请求注释中存储变更注释。这使得可以使用不同的表单和窗口小部件管理器前缀。[jbaumann]

  • 为注释字段添加了本地化。[jbaumann]

  • 禁用了Added-事件,因为它由于序列化问题而无法正常工作。[jbaumann]

  • 添加了一个changeNote表单字段。它的内容用作创建的版本的注释。[jbaumann]

  • 添加了一个在保存时创建新版本的事件处理程序。[jbaumann]

  • 实现了行为plone.behaviors.versioning.behaviors.IVersionable。[jbaumann]

项目详细信息


下载文件

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

源分发

plone_app_versioningbehavior-2.0.3.tar.gz (30.8 kB 查看哈希值)

上传时间

构建分发

plone.app.versioningbehavior-2.0.3-py3-none-any.whl (31.9 kB 查看哈希值)

上传时间 Python 3

由以下支持