2011-07-07 28 views
3

背景:工作副本的行爲並不真正支持容器類型,因爲它導致問題複製該文件夾的所有子項。幾乎所有的數據有關的容器存儲在數據對象是容器和其默認視圖的子對象:我們正在使用的子數據類型爲我們的容器類型的工作一輪。我們從列表和搜索中排除數據對象。代表只讀都柏林核心數據訪問使用敏捷的子對象

問題:這將導致不一致且當前我們必須給都柏林核心行爲容器類型,而不是數據類型,因爲所有的核心Plone的代碼期望描述,生效日期等在那裏。這對我們的Plone編輯員來說有點混亂,因爲他們有兩個地方可以編輯有關容器的數據。此數據也只能在實時版本上進行編輯,而不是簽出的工作副本。

我想什麼,能夠做的是:

  • 委託都柏林核心數據的任何請求,從容器到子數據對象(不知道從哪裏開始研究這個)
  • 上節能它將使用子數據都柏林核心數據在目錄中的元數據的容器上搶救孩子的數據(如果第一部分工作這應該只是工作)
  • 將重新索引它的父對象來更新它的元數據(我打算註冊一個事件來實現這一目標)

請能有人爲我提供關於如何實現第一部分的一些指點?

+0

很有趣的問題!如果你有一個可行的解決方案,如果你到達一個解決方案,我很樂意。 – FMM

回答

3

我想你這裏有兩種選擇:

  1. 使自己的元數據的行爲中查找元數據對象上。

  2. 當數據對象被修改中的事件處理程序只需更新父的元數據。

鑑於您需要事件處理程序來強制父重建索引,我可能會使用簡單的元數據複製方法。

+0

我花了好幾個小時嘗試方法1.今天,但有點失落,放棄了。沒有想到方法2,但看起來很有希望。理想情況下,我會從編輯用戶界面中隱藏父項的元數據字段。 – scarba05

相關問題