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

Share file of a workflow with assignees - Alfresco

我正在制作一个自定义工作流程,我想与受让人共享我创建工作流程的文件,否则,用户只能通过 "I've recently modified" 以及任务完成时访问该文件,文件消失。

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

提前致谢。

在工作流开始时使用执行流监听器获取工作流包中的节点,然后将 "user home" 节点引用添加为辅助父节点。

获取工作流包节点:

 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());
    }
 }