我正在制作自定义工作流程,并且我想与受让人共享我创建工作流程的文件,否则,用户只会通过"我最近修改过的"来访问该文件#34;当任务完成后,文件消失。
在与受让人创建工作流程时如何共享文件?
提前致谢。
答案 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());
}
}