我需要显示特定类型的doc lib操作(qwe:customtype)。更改仅反映在特定站点和非站点区域(Myfiles / Repository)。
alfrescoShare-弹弓应用context.xml中
<bean id="for-specifictype-only" parent="evaluator.doclib.action.nodeType">
<property name="types">
<list>
<value>qwe:customtype</value>
</list>
</property>
</bean>
份额-CONFIG-custom.xml
<action id="document-assign-workflow" type="javascript" label="actions.document.assign-workflow">
<param name="function">onActionAssignWorkflow</param>
<evaluator>for-specifictype-only</evaluator>
</action>
ForEx ::只有qwe类型的节点:customtype at&#34; abc&#34;网站应该能够查看doc lib动作。
对于其他网站,它应该对所有类型的节点都可见。(如cm:其他网站上的文件夹类型节点应该能够查看此操作) 我们是否需要在此处使用任何自定义网站评估程序?因为没有默认的eveluater将特定的网站名称作为参数。
答案 0 :(得分:2)
这可以通过一点点工作来实现。首先,查看ChainedMatchAll评估器(evaluator.doclib.action.chainedMatchAll)。您可以在slingshot-documentlibrary-context.xml中找到它。
您可以创建自己的评估程序,将其作为父项,然后列出所有需要为true的评估程序,以使链式求值程序为true。 slingshot-documentlibrary-context.xml中有几个例子 - 一个简单的例子是evaluateator.doclib.metadata.hasSyncFailedBanner。
在您的情况下,您将使用您已经发现的nodeType评估程序,以及您必须编写的自定义网站评估程序。
要开发一个可用于在特定网站上进行匹配的评估程序,请先查看Alfresco文档中的this tutorial。它包括创建自定义评估程序。
该网站位于URL中,因此您应该能够使用RequestContext对其进行解析,该RequestContext将传递给评估者的applyModule方法。
使用自定义网站评估程序,现有nodeType评估程序和chainedMatchAll评估程序,您可以根据节点类型和特定网站ID显示或隐藏操作。