与受让人共享工作流程文件 - Alfresco

时间:2016-03-03 17:53:04

标签: workflow alfresco activiti alfresco-share alfresco-webscripts

我正在制作自定义工作流程,并且我想与受让人共享我创建工作流程的文件,否则,用户只会通过"我最近修改过的"来访问该文件#34;当任务完成后,文件消失。

在与受让人创建工作流程时如何共享文件?

提前致谢。

1 个答案:

答案 0 :(得分:1)

在启动工作流时使用executionflowlistener获取工作流包中的节点,然后将“user home”noderef添加为辅助父级。

获取工作流程序包节点:

 ActivitiScriptNode packageItemsbpm = (ActivitiScriptNode) execution.getVariable(BPM_PACKAGE);
List<ChildAssociationRef> packageitemAssociations =  nodeService.getChildAssocs(packageItemsbpm.getNodeRef()); 

然后迭代这些wf包节点,并将它们添加到受理人主文件夹:

for(String assigneeName : assigneesList) {
    ResultSet rs = getServiceRegistry().getSearchService().query(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, SearchService.LANGUAGE_LUCENE, "PATH:\"/app:company_home/app:user_homes/cm:"+ assigneeName  +"\"");
    if(rs.length() > 0){
          NodeRef assigneeHome = rs.getNodeRef(0);                                        
          nodeService.addChild(assigneeHome, nodeRef, ContentModel.ASSOC_CONTAINS, nodeService.getPrimaryParent(nodeRef).getQName());
    }
 }