在您的 custom-share-config-custom.xml 中,您可以使用评估器来检查 DocLibActions 的条件。
这是一个仅针对 x:myType 类型的节点显示的操作示例:
share-amp-slingshot-application-context.xml:
<bean id="evaluator.doclib.action.myCondition" class="org.alfresco.web.evaluator.NodeTypeEvaluator" >
<property name="types">
<list>
<value>x:myType</value>
</list>
</property>
</bean>
share-config-custom.xml:
<action id="example-action" type="javascript" label="....">
<evaluator>evaluator.doclib.action.myCondition</evaluator>
</action>
<evaluator>evaluator.doclib.action.myCondition</evaluator
但是对于像 create-content 这样的顶级菜单,这不起作用。
你可以做的是为你的需要创建一个特定的角色,比如this:
<permissionGroup name="SomeUserPermissions" allowFullControl="false" expose="true">
<includePermissionGroup permissionGroup="Collaborator" type="cm:cmobject" />
</permissionGroup>
然后将此特定权限应用于此文件夹上的用户,然后像这样修改您的代码
<config evaluator="string-compare" condition="DocumentLibrary" >
<create-content>
<content id="newFolderId" mimetype="text/plain" icon="folder" label="Create Project" itemid="bd:project">
<param name="page">create-content?destination={nodeRef}&itemId=cm:content&mimeType=text/plain</param>
<permissions>
<permission allow="true">SomeUserPermissions</permission>
</permissions>
<content>
</create-content>
</config>
最后,我建议您在共享战争中查看名为 share-documentlibrary-config.xml 的文档,这将有助于您了解它的工作原理。
例如,有一段关于标签的文档:
创建内容菜单项,可以是与通常的 doclib 操作配置匹配的 3 种类型:
- "link" - 接受一个 "href" 参数,该参数将传递一个 nodeRef 令牌进行替换,用于外部链接
- "pagelink" - 接受一个 "page" 参数,该参数将传递一个 nodeRef 令牌以进行替换,用于共享链接
-
"javascript" - 接受将当前文件夹项作为第一个参数的操作的 & "function" 参数。
I.e.
<content id="plain-text" label="create-content.text" icon="text" type="pagelink">
<param name="page">create-content?destination={nodeRef}&itemId=cm:content&mimeType=text/plain</param>
<permissions>
<permission allow="true">SomeUserPermissions</permission>
</permissions>
</content>
请注意,“CreateChildren”权限始终是必需的,如果未授予文件夹权限,则会禁用整个菜单。
还要注意,旧的/无类型的简单配置仍然是允许的,下面的配置 sn-p 将自动转换为“页面链接”,如上例所示。
<content id="plain-text" label="create-content.text" icon="text" itemid="cm:content" mimetype="text/plain"
permission="SomeUserPermissions"/>