2

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

我需要集成工作副本支持:以便“已发布”文档(在我的情况下是已发布的内容类型)在编辑时保持在线。基本上,我想利用plone.app.iterate提供的“工作副本支持(迭代)”来实现这里解释的内容。这将使我能够check-in/check-out我的更改。

这在使用 Archetypes 的自定义内容类型的 Plone 4 中是否可行?如果是的话,人们会怎么做?

4

2 回答 2

2

我在文件夹中添加了以下两个文件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>

存储库工具.xml

<?xml version="1.0"?>
<repositorytool>
    <policymap>
        <type name="MyCustomType">
            <policy name="at_edit_autoversion"/>
            <policy name="version_on_revert"/>
        </type>
    </policymap>
</repositorytool>
于 2013-05-09T05:24:18.250 回答
1

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

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

https://github.com/plone/plone.app.iterate/blob/master/plone/app/iterate/profiles/default/actions.xml

注意 *available_expr* 行,它告诉何时显示操作。它指向具有条件的助手视图。

视图在这里定义

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

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

于 2013-05-08T19:19:13.730 回答