Workflow 为Plone 4自定义内容类型创建工作副本

Workflow 为Plone 4自定义内容类型创建工作副本,workflow,plone,Workflow,Plone,我在我的软件包中创建了一个自定义的Plone内容类型,即my.product 我需要集成工作副本支持:以便“已发布”文档(在我的例子中,是已发布的内容类型)在编辑时保持在线。基本上,我想利用提供的“工作副本支持(迭代)”来实现。这将使我能够签入/签出我的更改 在Plone 4中,使用原型的自定义内容类型是否可能实现这一点?如果是,你会怎么做?我从未使用过plone.app.iterate,但这是解决问题的通用方法 操作由plone.app.iterate GenericSetup配置文件安装。您

我在我的软件包中创建了一个自定义的Plone内容类型,即
my.product

我需要集成工作副本支持:以便“已发布”文档(在我的例子中,是已发布的内容类型)在编辑时保持在线。基本上,我想利用提供的“工作副本支持(迭代)”来实现。这将使我能够
签入
/
签出
我的更改


在Plone 4中,使用原型的自定义内容类型是否可能实现这一点?如果是,你会怎么做?

我从未使用过plone.app.iterate,但这是解决问题的通用方法

操作由plone.app.iterate GenericSetup配置文件安装。您可以在此处看到操作:

请注意行*available_expr*,该行指示何时显示操作或不显示操作。它使用条件指向辅助视图

视图在这里定义

为内容项执行的检查(如果它是可归档的)


最有可能的故障来自
if not interfaces.iiteraaware.providedBy
条件。您的自定义内容必须声明此接口。但是,您可以在
checkin_allowed(self)
中设置一个pdb断点来确认这一点,然后逐行执行,查看您的内容类型发生了什么。

我在
my.product/my/product/profiles/default
文件夹中添加了以下两个文件,它似乎可以工作:

diff_tool.xml

<?xml version="1.0"?>
<object>
    <difftypes>
        <type portal_type="MyCustomType">
            <field name="any" difftype="Compound Diff for AT types"/>
        </type>
    </difftypes>
</object>

repositorytool.xml

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


自定义原型类型与库存类型没有区别;这应该行得通™.就我而言,情况并非如此。我添加了一个页面,可以清楚地看到Actions下拉列表下的选项。但不是在我的自定义类型上。我可以看到灵巧类型()有一个解决方法,我想知道这是否适用于自定义类型。这也可以通过类型控制面板配置TTW。