Поделиться файлом рабочего процесса с правопреемниками - Alfresco
Я делаю собственный рабочий процесс и хочу поделиться с сотрудниками файлом, который я создаю, потому что в противном случае пользователи получают доступ к файлу только через "Я недавно изменил", а когда задача выполнена, файл исчезает.
Как я могу поделиться файлом, когда я создаю рабочий процесс с уполномоченными?
Заранее спасибо.
1 ответ
Решение
При запуске рабочего процесса используйте средство выполнения flowflowlistener, которое получает узлы в вашем пакете workflow, а затем добавляет "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());
}
}