2013-05-08 184 views
2

我在我的包中創建了一個自定義的Plone內容類型,即my.product爲Plone 4自定義內容類型創建工作副本

我需要集成工作副本支持:以便「正在發佈」的文檔(在我的情況下是發佈的內容類型)在編輯期間保持聯機狀態。基本上,我想利用plone.app.iterate提供的'Working Copy Support(Iterate)'來實現what is explained here。這將使我有能力對check-in/check-out進行更改。

這是可能在Plone 4與自定義內容類型使用Archetypes?如果是的話,會怎麼做呢?

+0

自定義原型類型沒有什麼不同從庫存類型;這應該Just Work™。 – 2013-05-08 10:15:26

+0

在我看來並沒有。我添加了一個頁面,我可以清楚地看到「操作」下拉列表下的選項。但不是我的自定義類型。我可以看到有一個解決敏捷類型([見這裏](https://github.com/plone/plone.app.stagingbehavior)),我想知道是否適用於自定義類型。 – Frankline 2013-05-08 11:22:48

回答

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> 

repositorytool.xml

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

也可以通過類型控制面板配置TTW。 – vangheem 2013-05-09 19:19:30

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 *告訴何時顯示動作與否。它指向幫助者觀點與條件。

的觀點在這裏被定義

那些內容項,如果它是archiveable執行的檢查

最可能失敗來自if not interfaces.IIterateAware.providedBy的條件。您的自定義內容必須聲明此接口。但是,您可以確認這一點,在checkin_allowed(self)中放入一個pdb斷點,然後逐行執行並查看您的內容類型會發生什麼情況。

相關問題