在Alfresco Share中,如何在自定义配置文件中引用nodeRef id?

时间:2011-10-24 16:29:28

标签: share alfresco document-library

我正在尝试使用新操作扩展Share DocumentLibrary,该操作根据nodeRef Id提供指向某个网址的链接(通过 share-config-custom.xml

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

但Share不解释{node.nodeRef.id}

它确实正确解释了{node.nodeRef},但我不需要完整的URI

赞:workspace://SpacesStore/158f0ed4-a575-40c2-a6ef-7e7ed386ba94 我只想要节点引用​​ID:158f0ed4-a575-40c2-a6ef-7e7ed386ba94

任何人都可以向我解释这背后的逻辑并提出解决方案吗?感谢

2 个答案:

答案 0 :(得分:1)

只需使用node.id,如Javascript API Wiki

所示

答案 1 :(得分:1)

首先,我假设你要求Alfresco 4.0。行动如何扩展的方式在4.0中是全新的,我们大多数人还没有使用过。

创建占位符的逻辑可能是Share webapp中的Java代码(尚未找到确切的位置)。 node.nodeRef是一个String,因此您无法调用nodeRef.id。在我看来,你有两个选择:

  • 您可以保留 type =“link”和node.nodeRef,但链接到自定义存储库端webscript,然后生成正确的URL并转发(HTTP状态301)到正确的目标。
  • 您将类型更改为 type =“javascript”,并在Javascript中实现回调函数。单击链接时将调用此方法,并可以构建正确的URL。要包含自定义JavaScript,您可以在共享配置中使用依赖项

           

据我所知,可用于扩展新操作的唯一文档是: