1

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

当我与受让人创建工作流时,如何共享文件?

提前致谢。

4

1 回答 1

1

在工作流开始时使用 executionflowlistener 来获取工作流包中的节点,然后将“用户主目录”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());
    }
 }
于 2016-03-07T09:28:53.380 回答