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

Workflow 与受让人共享工作流文件-Alfresco,workflow,alfresco,activiti,alfresco-share,alfresco-webscripts,Workflow,Alfresco,Activiti,Alfresco Share,Alfresco Webscripts,我正在制作一个自定义工作流,我想与受让人共享我创建的工作流文件,因为否则,用户只能通过“我最近修改过”访问该文件,当任务完成时,该文件将消失 当我与受让人创建工作流时,如何共享文件 提前感谢。在工作流开始时使用executionflowlistener,获取workflowpackage中的节点,然后添加“用户主页”节点ref作为辅助父节点 获取工作流包节点: ActivitiScriptNode packageItemsbpm = (ActivitiScriptNode) execution

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

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


提前感谢。

在工作流开始时使用executionflowlistener,获取workflowpackage中的节点,然后添加“用户主页”节点ref作为辅助父节点

获取工作流包节点:

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

“与受让人共享”的确切含义是什么?您是否希望受让人获得更改文件的权限?您是否希望受让人接收带有文件链接的任务?我希望受让人将文件保存在“共享文件”或“我的文件”@StefanDeLaet中。但此共享文件是我在工作流中附加的受让人的共享文件?我不明白如何获取这些节点的副本。共享文件夹在每个人之间共享。如果您想与有限数量的用户共享,您应该与个人受让人的用户主页进行上述操作。通过使用路径搜索,您可以找到这些主文件夹的节点ref,例如路径:“/app:company\u home/app:user\u homes/cm:mjackson”只有一件事,packageNode是附加到工作流的文件的节点ref?是的,正确。您可以这样找到:ActivitiScriptNode packageItemsbpm=(ActivitiScriptNode)execution.getVariable(BPM_包);返回nodeService.getChildAssocs(packageItemsbpm.getNodeRef());函数createAssociation的前两个参数是NodeRef。如何创建指向homefolders路径的nodeRef?我正在尝试:
NodeRef assigneesNodeRef=assignees.get(I).getNodeRef();nodeService.createAssociation(assigneesNodeRef、nodeRef、ContentModel.ASSOC_包含)但这并没有给我路径。
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());
    }
 }