Рабочий процесс Alfresco Activiti: как добавить пользовательские действия с заданиями вместо действий по умолчанию "Задание выполнено" и "Отмена"?
Я использую Alfreso 4.2c и Activiti для создания своих рабочих процессов. У меня есть требование, когда в каждой задаче мне нужно предоставлять разные Действия пользователям. Например, в Задаче мне нужно указать Действия, такие как "Перепланировать собрание", "Отменить собрание", "Отправить на тренировку" и "Отмена" вместо только "Задача выполнена" и "Отмена". Я переопределил "bpm: resultPropertyName", но он только изменяет метку результата в истории рабочего процесса.
Кто-нибудь может подсказать мне, как мне этого добиться? Заранее спасибо.
2 ответа
Вы должны определить свой собственный конечный результат для вашей модели рабочего процесса, например:
<type name="my:myTask">
<parent>wf:activitiReviewTask</parent>
<overrides>
<property name="wf:reviewOutcome">
<default>Restart Review</default>
<constraints>
<constraint name="my:myOutcomeOptions" type="LIST">
<parameter name="allowedValues">
<list>
<value>Approve</value>
<value>Restart Review</value>
<value>Reject</value>
</list>
</parameter>
</constraint>
</constraints>
</property>
</overrides>
</type>
Конечно, вам нужно будет добавить свои собственные потоки последовательности в определение вашего рабочего процесса.
<exclusiveGateway id="reviewDecision" name="Review Decision"></exclusiveGateway>
<sequenceFlow id="flow3" name="" sourceRef="reviewDecision" targetRef="ReviewRejected">
<conditionExpression xsi:type="tFormalExpression">${wf_reviewOutcome == 'Reject'}</conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow3" name="" sourceRef="reviewDecision" targetRef="RestartReview">
<conditionExpression xsi:type="tFormalExpression">${wf_reviewOutcome == 'Restart Review'}</conditionExpression>
</sequenceFlow>
...
Пользовательские действия реализуются с помощью кнопок - в примере приложения запроса на отпуск. Например, сохранить введенные данные задачи, а не завершить задачу. Тем не менее, пользовательский код в Grails написан для достижения этой функциональности. Я хотел бы, чтобы в activiti был какой-то стандартный способ добавления кнопок в качестве стандартных компонентов формы.