Alfresco:如何在表单控件中获取用户房屋的节点引用?

时间:2019-09-17 10:25:44

标签: alfresco freemarker alfresco-share

露天电影6.0.1。 我想从表单控件获取存储库中当前用户家的节点引用吗?

因此,假设我在share-config-custom.xml中具有以下表单配置

<config>
<forms>
<dependencies>
</dependencies>
<form id="uploadMIForm">
  <field-visibility>
    <show id="miNode" />
  </field-visibility>
<appearance>
  <field id="miNode" label-id="prop.search.cm_search_in_folder" >
    <control template="controls/managementinfo/picker.ftl">
    </control>
  </field>
</appearance>
</form>
</forms>
</config>

controls / management / picker.ftl具有配置选项

picker.setOptions(
  ...
  parentNodeRef: "workspace://SpacesStore/a3c5f348-355d-4e7d-86a7-8e55bafd4662",
...
)

问题是,如何动态获取用户房屋的节点引用,而不是对其进行硬编码?

根据Alfresco Freemarker API参考文档,我尝试访问我的ftl中的“ userhome”对象-

https://docs.alfresco.com/6.0/references/API-FreeMarker-defaultmodel.html

因此,我希望声明

parentNodeRef: ${userhome.properties.nodeRef},

完成任务。但是不幸的是,我得到了一个运行时错误,因为它的值为空。

我要去哪里错了?以及如何获得这种难以捉摸的节点参考?

1 个答案:

答案 0 :(得分:1)

该userhome对象不在浏览器的上下文中,而是在服务器的上下文中。这样就行不通了。

如何编写一个简单的存储库层Web脚本,该脚本以JSON返回当前用户的用户主文件夹的节点引用?然后,您可以针对Share代理(将调用Alfresco层网络脚本)触发客户端JavaScript请求,以获取包含节点引用的JSON。