Рабочий процесс 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 был какой-то стандартный способ добавления кнопок в качестве стандартных компонентов формы.

Другие вопросы по тегам