我正在通过在alfresco doclib中创建项目操作创建一个项目,我在下面附带的屏幕截图中显示了该项目。我必须只在文档库文件夹中创建该项目。因为我在文档库上设置了一条规则,通过java脚本代码创建一些动态的默认项目结构。工作正常。
但是现在我面临一个很大的挑战,那就是我正在创建项目和上传选项的每个子文件夹中。但我不想让用户在每个子文件夹中创建项目。我只是想表明只在文档库中创建和上传doclib操作。和我通过java脚本代码创建的内部目录。所以有人可以帮助我,我该怎么做。
提前致谢。
答案 0 :(得分:3)
在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” - 接受一个“页面”参数,该参数将传递一个nodeRef令牌进行替换,用于共享链接
“javascript” - 接受&amp;一个动作的“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”权限,如果没有授予文件夹,则会禁用整个菜单。
另请注意,旧的/无类型简单配置仍然是允许的,下面的配置片段将自动转换为“pagelink”,如上例所示。
<content id="plain-text" label="create-content.text" icon="text" itemid="cm:content" mimetype="text/plain" permission="SomeUserPermissions"/>