我在我的包中创建了一个自定义的 Plone 内容类型,即my.product
.
我需要集成工作副本支持:以便“已发布”文档(在我的情况下是已发布的内容类型)在编辑时保持在线。基本上,我想利用plone.app.iterate提供的“工作副本支持(迭代)”来实现这里解释的内容。这将使我能够check-in
/check-out
我的更改。
这在使用 Archetypes 的自定义内容类型的 Plone 4 中是否可行?如果是的话,人们会怎么做?
我在我的包中创建了一个自定义的 Plone 内容类型,即my.product
.
我需要集成工作副本支持:以便“已发布”文档(在我的情况下是已发布的内容类型)在编辑时保持在线。基本上,我想利用plone.app.iterate提供的“工作副本支持(迭代)”来实现这里解释的内容。这将使我能够check-in
/check-out
我的更改。
这在使用 Archetypes 的自定义内容类型的 Plone 4 中是否可行?如果是的话,人们会怎么做?
我在文件夹中添加了以下两个文件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>
我从未使用过 plone.app.iterate,但这是解决问题的通用方法。
操作由plone.app.iterate GenericSetup 配置文件安装。您可以在此处查看操作:
注意 *available_expr* 行,它告诉何时显示操作。它指向具有条件的助手视图。
视图在这里定义
对内容项执行的检查(如果它是可归档的)
故障很可能来自if not interfaces.IIterateAware.providedBy
条件。您的自定义内容必须声明此接口。但是,您可以确认这一点,在其中放置一个 pdb 断点checkin_allowed(self)
并逐行执行,看看您的内容类型会发生什么。