跳转到主要内容

为Plone检查/签入预发布版本

项目描述

摘要

iterate 是一个 Plone 插件,允许用户利用检入/检出流程进行内容编辑。它集成在版本控制、锁定中,并利用 Zope 技术如适配器和事件来实现易于定制的功能。

特性

  • 利用 cmf 版本控制进行版本控制

  • 使用 zope dav 锁定

  • 通过适配器提供策略的插件式行为

  • 通过事件观察行为

  • 对 archetypes 引用的专门处理

  • 与 Plone 用户界面的简单、干净集成

用例

iterate 被设计用来解决/启用以下用例。

协作文档编辑场景

工作组或个人正在编辑文档,能够检出到文档并锁定它,允许进行编辑周期,无需担心覆盖,并且有版本审计轨迹。

CMS 上的发布/修改/审查周期

内容管理中一个常见的主题是发布一个网络文档,然后需要修改它但不改变已发布的内容,直到修改后的文档完成审查周期。

通过用户界面进行 iterate 生命周期

iterate 主要通过操作菜单集成到 Plone 用户界面中。它向菜单中添加了三个条件动作:检出、检入和取消检出。

检出表单

在此表单中,用户被要求选择将当前内容检出到哪个位置,检出词汇可以通过模板定制覆盖,目前是当前文件夹和用户的个人文件夹。如果内容尚未进行版本控制,则在进行检出之前应用版本控制并创建一个新的版本。适配器用于执行检出机制,并生成一个具有基线(起源)和检出作为属性的物体生命周期事件。适配器负责将内容的副本复制到检出位置并对起源内容加锁。此表单和动作是否在特定内容上激活取决于为此内容找到的 iterate 策略适配器。

检出有一些系统附加属性,如版本控制和工作流。它们可以独立于基线进行版本控制,只有在检入时,最新版本的变化才合并到基线。它们可以经历与基线内容不同的单独的工作流。(此功能需要一些定制,请参阅 docs/workflow.rst)。

检出状态表单

视觉上,检出通过一个额外的文档图标(在 sendto 和 rss 链接旁边)区分。单击此图标将转到检出状态页面。该页面允许查看有关检出的信息,例如检出时间和检出者。

检入表单

用户被要求输入检入消息。在检入时,工作副本合并到基线,并创建基线的新版本,并解除基线的锁定。

取消检出

将显示确认对话框,如果取消检出,则工作副本将被销毁,基线将被解锁。

致谢

Kapil Thangavelu <hazmat@objectrealms.net>

Benjamin Saller <bcsaller@objectrealms.net>

来自 tortoisesvn 项目(http://tigris.org)的图标

许可证

GPL,请参阅 license.txt 以获取详细信息

变更日志

6.0.0 (2024-06-26)

重大更改

  • 移除带有 id plone.app.iterate 的旧 GenericSetup 配置文件。请参阅 问题 99。[maurits] (#99)

5.0.5 (2024-02-27)

错误修复

  • 从高级视图中隐藏 to1000 以创建新的 Plone 网站 [gforcada] (#121)

5.0.4 (2024-02-21)

错误修复

  • 将视图小部件样式适配到 Plone 6 [pbauer] (#95)

  • 修复对文件夹式内容工作副本的关联字段处理。[pbauer] (#118)

  • 使用包权限保护视图和工具栏操作。[pbauer] (#120)

5.0.3 (2024-01-19)

内部

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

5.0.2 (2023-04-14)

内部

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

5.0.1 (2023-03-22)

错误修复

  • 在 Plone 6 中使用合适的操作图标。[maurits] (#60)

5.0.0 (2023-03-14)

重大更改

  • 取消对 Plone 5.2、Python 2、Archetypes 的支持。移除了 plone.app.stagingbehavior 的检查和警告。版本 5 仅适用于 Plone 6。[maurits] (#1)

4.0.3 (2022-05-14)

错误修复

  • 修复了调用 reindexObject 中的一个拼写错误 (#101)

4.0.2 (2021-09-08)

错误修复

  • 修复了发布行为字段在基线和工作副本中具有不同值的问题 [ericof] (#97)

4.0.1 (2021-06-29)

错误修复

  • 修复了容器检查/检出过程,因为检出时留下了一个“重置”注释(pos),导致破坏了部分视图 [sneridagh] (#93)

4.0.0 (2021-06-25)

新功能

  • 添加对 DX 文件夹内容的适当支持 [sneridagh] (#92)

3.3.16 (2021-06-14)

错误修复

  • 如果某些自定义代码为 Products.Archetypes 提供别名,则不会破坏。[#85]

  • 遵循 black 和 pep8 规范 [sneridagh] (#88)

  • 通过触发 ObjectModifiedEvent 事件来更新 Check-In 工作副本上的关系,使用 black 和 flake8 格式化。[2silver] (#89)

3.3.15 (2020-09-07)

错误修复

  • 当 wc 被移除时,删除基线和工作副本之间的关系。[frapell] (#77)

  • 修复了 ObjectEvent 和 IObjectEvent 的弃用警告。将所有代码从 profiles.py 移至 setuphandlers.py,以避免与 profiles 目录混淆。[maurits] (#3130)

3.3.14 (2020-04-20)

错误修复

  • 一些包装更新。[#1]

3.3.13 (2019-10-12)

错误修复

  • 显式加载依赖项的 zcml,而不是使用 includeDependencies。[maurits] (#2952)

3.3.12 (2019-06-27)

错误修复

  • 添加缺少的 i18n:translate 调用 [erral] (#73)

3.3.11 (2019-05-04)

错误修复

  • 使删除版本行为不那么严格(命名与点号)[iham] (#71)

3.3.10 (2018-10-31)

错误修复

  • 当 AT 没有安装时,避免测试设置错误 [davisagli]

3.3.9 (2018-09-23)

错误修复

  • 一些 Python 3 修复。[pbauer]

3.3.8 (2018-06-18)

错误修复

  • Python 3 兼容性。[pbauer]

  • 仅在安装 Archetypes 时测试 Archetypes 支持。[davisagli]

3.3.7 (2018-02-05)

错误修复

  • 在一般升级步骤中使用 get_installer。[maurits]

3.3.6 (2017-11-24)

错误修复

  • 修复 #54:取消原始的检出会删除原始文件。[jensens]

3.3.5 (2017-09-08)

错误修复

  • 不再依赖于 Products.Archetypes。 (第 3 部分) [tomgross]

3.3.4 (2017-08-27)

错误修复

  • 不再依赖于 Products.Archetypes。 (第 2 部分) [tomgross]

  • 移除对 ZODB3 的显式依赖。[tomgross]

3.3.3 (2017-05-31)

错误修复

  • 删除了“更改门户事件”权限 [kakshay21]

  • 防止使用 name=None 的 queryUtility。[pbauer]

3.3.2 (2017-03-23)

新功能

  • 为 diff 视图添加每个字段标签,修复视觉 diff 链接并添加断点 [frapell]

错误修复

  • 将 IIterateSettings.checkout_workflow_policy 改为 ASCIILine,以满足 Products.CMFWorkflowPolicy 的要求。

3.3.1 (2017-02-12)

错误修复

  • 修复 Zope 4 中的测试。[davisagli]

3.3.0 (2017-01-02)

新功能

  • 不再依赖于 Products.Archetypes。如果 Archetypes 存在,它仍然注册适配器。[jensens]

错误修复

  • 不再使用 unittest2。[jensens]

  • 清理:isort、zca 装饰器等。[jensens]

  • 更多清理。[gforcada]

3.2.3 (2016-11-10)

错误修复

  • 在 Python 文件上添加编码标题。[gforcada]

  • 在 Plone 安装(高级)表单中隐藏卸载配置文件。[gforcada]

3.2.2 (2016-09-14)

错误修复

  • 在制作检出时删除损坏的引用。修复了问题 30。[maurits]

3.2.1 (2016-08-17)

错误修复

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

3.2.0 (2016-05-26)

新功能

  • 添加了卸载配置文件。[maurits]

错误修复

  • 删除了弃用的 actionicons.xml。[maurits]

3.1.7 (2016-05-15)

错误修复

  • 没有通过 GET 启用检出的特殊情况 [gotcha]

3.1.6 (2016-04-26)

修复

  • 最小化代码清理。[gforcada]

3.1.5 (2016-03-03)

新功能

  • plone.app.iterate 依赖于 GenericSetup >= 1.8.2 以使用 registerProfile 上的 post_handler。[iham]

  • 将默认 GenericSetup 配置文件命名为“默认”。“plone.app.iterate”也存在以保持兼容性。[iham]

  • 为 GS 配置文件“plone.app.iterate”添加弃用警告。[iham]

修复

  • 不再需要注册为 Zope2 产品。[iham]

  • 一些小的 pep8 清理。[iham]

3.1.4 (2015-11-16)

修复

  • 在检查文档时保持默认页面设置。[maurits]

3.1.3 (2015-09-27)

  • 修复 dexterity 检出时的元数据存储 [vangheem]

3.1.2 (2015-09-20)

  • 修复了测试,使其通过最近的 plone.app.content 更改,该更改需要 cmf.ModifyPortalContent 权限来访问内容状态历史页面。[maurits]

3.1.1 (2015-08-20)

  • 检查对象是否没有迭代策略。这解决了迭代在门户根目录上导致工具栏错误的问题。[vangheem]

3.1.0 (2015-07-18)

  • 将plone.app.stagingbehavior合并到plone.app.iterate中,不包含行为实现。这是为了支持Plone 5的迭代。[vangheem]

  • 不要在对象上移除acquisition以进行getToolByName调用。[tomgross]

3.0.1 (2015-03-12)

  • 以zcml/z3风格添加权限名称,并在模块加载时显式加载权限设置,否则默认角色设置不正确。[jensens]

  • 将测试迁移到plone.app.testing。[bogdan, tomgross]

3.0.0 (2014-10-23)

2.1.13 (2014-04-16)

  • 修复测试以与auto csrf一起工作。[vangheem]

  • 修复与最新plone.protect相关的测试。[vangheem]

2.1.12 (2014-02-19)

  • 在使用placeful工作流时,可以隐藏从检查出内容时用户看到的信息消息,请参阅:[anthonygerrard] https://dev.plone.org/ticket/13852

  • 将“锁定”标签替换为“警告”标签。[rristow]

2.1.11 (2014-01-27)

  • 将锁定超时设置为MAX_TIMEOUT以避免10分钟后基线自动解锁。[parruc]

2.1.10 (2013-03-05)

2.1.9 (2013-01-13)

  • 尚未有任何更改。

2.1.8 (2012-10-03)

  • 在检查入时取消标记基线和工作副本,以便正确取消标记dexterity内容。[cewing]

2.1.7 (2012-08-04)

  • 允许在ZCML中定义并覆盖浏览器视图模板。[rpatterson]

2.1.6 (2012-06-29)

  • 从zope.lifecycleevent导入事件。[hannosch]

  • 修复了父文件夹工作副本定位器中的权限检查问题。[mitchellrj]

2.1.5 (2012-03-16)

  • 不要将IIterateAware声明为Archetypes的IReferenceable的扩展,因为还有其他实现(如Dexterity的实现)不使用Archetypes引用。[davisagli]

  • 确保在检查出内容时应用工作副本工作流的权限,修复了http://dev.plone.org/ticket/12780。[anthonygerrard]

2.1.4 (2011-11-24)

  • 在将文件夹检查回时保留内容内容的UID,这防止了编辑器中通过UID的链接中断。[rossp]

  • 修复了将项目添加到已检查出的文件夹后检查入时不可见的问题。修复了#12257。[rossp]

  • 在检查回时保留从最初检查出的项的文件夹顺序位置。[rossp]

  • 允许检查出内容的用户也能看到检查出信息,这样贡献者可以轻松地看到他已检查出页面。[vangheem]

2.1.3 (2011-08-31)

2.1.2 - 2011-06-02

  • 为Plone 4.1兼容性包含Products.CMFCore。[thomasdesvenain, WouterVH]

2.1.1 - 2011-05-13

  • 修复了我们的订阅者始终期望在策略中存在coci_created属性的问题。[erico_andrei]

  • 添加MANIFEST.in。[WouterVH]

  • 查看工作副本或检查出的原始内容不再引发AttributeError。无论如何,我们记录一个警告,因为Manager应该对此做些什么。修复了http://dev.plone.org/plone/ticket/8723。[glenfant]

2.1 - 2011-02-25

  • 没有更改。

2.1a2 - 2011-02-14

  • 修复了合并内容引用中出现陈旧的目录条目的问题。[maurits]

  • 修复了_doAddUser的轻微测试失败。[maurits]

2.1a1 - 2011-01-18

  • 测试Products.CMFPlone版本以设置默认权限,保持4.0兼容性 - 下一个版本可以是2.0.1。[elro]

  • 添加autoinclude入口点。[elro]

  • 更新Plone 4.1的站点管理员角色的权限默认值。[elro]

2.0 - 2010-07-18

  • 修复了信息视图小部件仅显示日期而不是时间的问题。问题是由于ulocalized_time更改了其参数顺序而引入的。这关闭了http://dev.plone.org/plone/ticket/10759。[vincentfretin]

  • 将许可证更新为仅GPL版本2。[hannosch]

  • 为内容div添加id="content"。否则使用deliverance进行主题化会变得困难。[do3cc]

2.0b2 - 2010-06-03

  • 添加了重新安装产品的天真升级步骤。[davisagli]

  • 通过在操作上设置icon_expr来设置动作图标,以避免在Plone 4中的弃用警告。[davisagli]

2.0b1 - 2010-02-17

  • 声明所有包依赖。[hannosch]

  • 更新了diff.pt以遵循最近的标记约定。参考#9981 [spliter]

1.2.5 - 2010-01-03

1.2.4 - 2008-12-21

  • 添加了profiles/default/metadata.xml(版本120:在1.1分支上需要任何配置更改时留下足够的空间)。[maurits]

  • 避免对快速安装程序的测试依赖。[hannosch]

  • 使用我们自己的PloneMessageFactory。我们不再依赖于CMFPlone。[hannosch]

  • 指定包依赖。[hannosch]

  • 使测试与默认内容无关。[hannosch]

1.2.3 - 2008-11-14

1.2.2 - 2008-11-13

1.2.1 - 2008-11-11

  • 细化从1.2.0的权限修复并使测试再次通过

    在原始上检查出时不需要修改门户内容(MPC)权限,这在1.2.0的修复中被省略。

    在取消检查出时,只需在原始副本上要求MPC,而不是在原始副本上。[nouri]

  • 修复了缺失的国际化(#8608,感谢Vincent Fretin) [encolpe]

1.2.0 - 2008-10-24

  • 允许没有修改内容权限(但有迭代检查出权限)的用户检查出项目,并且只有在他们有修改内容权限时才允许他们再次检出。[nouri]

1.1.5 - 2008-08-18

1.1.0 - 2008-04-20

  • 修复了test_iterate.py中的错误测试,该测试依赖于默认工作流的语义。[optilude]

  • 修复了i18n标记并更新了一些消息。这解决了http://dev.plone.org/plone/ticket/7958。[hannosch]

  • 更新了模板中的i18n:domain为plone域。不需要iterate域。[hannosch]

  • 使用README.txt和HISTORY.txt作为包的详细描述。[wichert]

  • 从__init__中删除了不需要的initialize方法。[wichert]

1.0 - 2007-08-17

  • 第一个版本

项目详细信息


发布历史 发布通知 | RSS源

下载文件

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

源代码分发

plone_app_iterate-6.0.0.tar.gz (58.9 kB 查看哈希值)

上传时间 源代码

构建分发

plone.app.iterate-6.0.0-py3-none-any.whl (67.2 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

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