2011-10-24 46 views
2

我想分享DocumentLibrary用新的行動,提供一個鏈接基礎上,nodeRef ID某些URL(通過共享配置,custom.xml)延長在Alfresco Share中,如何在自定義配置文件中引用nodeRef ID?

<action id="blabla" type="link" label="label"> 
     <param name="page">../../alfresco/wcs/myPlugin/editor/{node.nodeRef.id}/param> 
     <param name="target">_blank</param> 
</action> 

但份額不解釋{node.nodeRef.id}

它不正確解釋{node.nodeRef}但我並不需要完整的URI

像:workspace://SpacesStore/158f0ed4-a575-40c2-a6ef-7e7ed386ba94 我只想節點參考編號:158f0ed4-a575-40c2-a6ef-7e7ed386ba94

任何人都可以解釋我背後的邏輯和建議的解決方案?由於

回答

1

首先,我假設你看到所要求的露天4.0。行動的擴展方式在4.0中是全新的,我們大多數人還沒有使用過。

創建佔位符的邏輯可能是共享web應用程序中的Java代碼(未找到確切位置)。 node.nodeRef是一個String,所以你不能調用nodeRef.id。在我看來,你有兩個選擇:

  • 你可以保持TYPE =「鏈接」和node.nodeRef但你鏈接到一個自定義的庫側webscript然後生成正確的URL和轉發(HTTP狀態301)到正確的目的地。
  • 您將類型更改爲type =「javascript」並在Javascript中實現回調函數。當鏈接被點擊並且可以建立正確的Url時,這將被調用。若要包括自定義JavaScript,你可以在共​​享配置使用依賴

據我所知可用於擴展新的行動的唯一文檔:

1

只需使用node.id作爲JavaScript API中Wiki

+0

我試過它已經不起作用了。這是一個不是javascript的配置文件 –

+0

但是你已經定義了一個自定義操作了嗎?您可以在那裏選擇NodeRef並將其轉換爲Node並執行node.id.因此,在Freemarker中提供Freemarker語言和/或Javascript可用 –

+0

的操作後,如何將NodeRef轉換爲共享Web應用程序中的節點?導致它無法識別companyhome例如 –

相關問題