Workflow совместное утверждение

Создал маршрут согласно образцу
Маршрут согласования
В пути следования указал пользователей activiti:assignee="user_name"
Сейчас нужно отредактировать workflow так, чтоб на одном этапе задача была отправлена не одному пользователю, а трем одновременно. Если хотя бы один пользователь из трех утвердил, то задачи у других снимаются, а workflow следует по маршруту далее.
Примером вышеописанного этапа маршрута может быть workflow из пакета Alvex Enterprise "Отправить документ на согласование (Отправить документ на согласование одному или нескольким коллегам) "
Подскажите пожалуйста, как подойти к реализации данной задачи.


Комментарии

Angelina аватар
Вы можете использовать конструкцию multiInstanceLoopCharacteristics

Пример можно увидеть в самой альфреске, в файле tomcat/webapps/alfresco/WEB-INF/classes/alfresco/workflow/parallel-review-group.bpmn20.xml
Angelina, спасибо большое за подсказку. В соседней теме нашел ваши пояснения к предложеной инструкции.
Пока задачу решил следующим образом:
В userTask прописал activiti:candidateUsers="user1,user2" и процес пошел по нужному пути.
Вот только в задаче taskOwner никто не указан. Соответственно в истории бизнес-процесса в этих полях нет информации.

Angelina аватар
Есть задачи, что выписываются на конкретного юзера (юзеров). В этом случае в поле taskOwner-а изначально стоит юзер. А вот в задачах, которые поднимаются на группу или несколько юзеров - а аттрибут activiti:candidateUsers как раз указыват на это - изначально юзеров нет: задача приходит в пул юзеров или групп.

Чтобы задача получила конкретного юзера, надо взять задачу на себя. Т е зайти в задачу и нажать кнопку Claim (она в верхнем право углу формы задачи). При это происходит следующее:
- в поле TaskOwner прописывается юзер, взявший задачу себе;
- задача уходит со столов остальных юзеров и остается на столе у данного юзера
 выполнил с использованием activiti:candidateGroups
Теперь возникла задача отправить на почту извещение что такой-то пользователь завершил этап бизнес-процесса.
Может кто знает как взять имя пользователя при выполнении задачи?
 Нашел! 
person.properties.userName
Скажите, а можно как-нибудь использовать группы пользователей из Alfresco  вместо того, чтобы задавать список пользователей ?
И в том числе можно ли захардкодить эту группу, чтобы заданный workflow всегда перемещал документ в предопределенную группу на каждом этапе workflow. Например, сразу после создания направлял документ на review в группу инженеров, оттуда на согласование в группу например юристов, и на согласование в группу бухгалтеров. И группу нельзя было поменять в процессе работы в alfresco.