Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何隐藏特定角色的自定义工作流?_Java_Xml_Alfresco - Fatal编程技术网

Java 如何隐藏特定角色的自定义工作流?

Java 如何隐藏特定角色的自定义工作流?,java,xml,alfresco,Java,Xml,Alfresco,我正在使用角色和权限。我必须创建一个权限来隐藏为特定角色创建的自定义工作流。当我以xml添加此bean文件和向导时,我根本无法启动工作流。请告诉我是否还有其他方法。 这是我创建的bean文件 公共列表getResources() { this.resources=newarraylist(4) UserTransaction tx=null; 尝试 { FacesContext context=FacesContext.getCurrentInstance(); tx=Repository.g

我正在使用角色和权限。我必须创建一个权限来隐藏为特定角色创建的自定义工作流。当我以xml添加此bean文件和向导时,我根本无法启动工作流。请告诉我是否还有其他方法。


这是我创建的bean文件

公共列表getResources() { this.resources=newarraylist(4)

UserTransaction tx=null;
尝试
{
FacesContext context=FacesContext.getCurrentInstance();
tx=Repository.getUserTransaction(上下文,true);
tx.begin();
for(字符串newItem:this.packageItemsToAdd)
{
NodeRef NodeRef=新的NodeRef(newItem);
如果(this.getNodeService()存在(nodeRef))
{
//创建我们的节点表示
MapNode节点=新的MapNode(nodeRef,this.getNodeService(),true);
this.browseBean.setupCommonBindingProperties(节点);
//添加属性解析程序以显示路径信息
node.addPropertyResolver(“路径”,this.browseBean.resolverPath);
node.addPropertyResolver(“显示路径”,this.browseBean.resolverDisplayPath);
this.resources.add(节点);
}
其他的
{
if(logger.isDebugEnabled())
debug(“忽略”+nodeRef+,因为它已从存储库中删除”);
}
}
//提交事务
tx.commit();
}
捕获(可丢弃错误)
{
Utils.addErrorMessage(MessageFormat.format(Application.getMessage(
FacesContext.getCurrentInstance(),Repository.ERROR\u GENERIC),err.getMessage(),err);
this.resources=Collections.emptyList();
尝试{if(tx!=null){tx.rollback();}}}catch(异常tex){}
}
归还此资源;
}

这是豆子种植 受保护的void resetRichList() { if(this.packageItemsRichList!=null) { this.packageItemsRichList.setValue(null); this.packageItemsRichList=null; } }

这是xml文件 合作者
我可以回答这个问题,但你的问题太模糊了

如果我只看这个问题,那么非常简单-->只需创建一个检查自定义工作流操作的计算器

查找文件web客户端配置工作流操作

更改或覆盖此代码:

    <action id="start_workflow">
            <label-id>start_workflow</label-id>
            <image>/images/icons/new_workflow.gif</image>
            <evaluator>org.alfresco.web.action.evaluator.StartWorkflowEvaluator</evaluator>
            <action>wizard:startWorkflow</action>
            <action-listener>#{WizardManager.setupParameters}</action-listener>
            <params>
               <param name="item-to-workflow">#{actionContext.id}</param>
            </params>
    </action>

启动工作流程
/图像/图标/new_workflow.gif
org.alfresco.web.action.evaluator.StartWorkflowEvaluator
向导:startWorkflow
#{WizardManager.setupParameters}
#{actionContext.id}
更改此行:

<evaluator>org.alfresco.web.action.evaluator.StartWorkflowEvaluator</evaluator>
org.alfresco.web.action.evaluator.StartWorkflowEvaluator
添加到自定义Java类并检查正确的权限,或者只添加

<permissions>
    <permission allow="true">Your Role aka Write, Collaborator, etc</permission>
</permissions>

你的角色是写作、合作者等

有关信息,
web客户端配置工作流操作.xml
位于
tomcat\webapps\alfresco\web-INF\classes\alfresco
(默认安装在alfresco Community 4.0.d中)
<permissions>
    <permission allow="true">Your Role aka Write, Collaborator, etc</permission>
</permissions>