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