Мой пример использования довольно прямолинейный для использования единого рабочего процесса утверждения для веб-содержимого.Liferay kaleo workflow issue
- пользователя создать веб-контент
- It Goes для обзора
- Если рецензент одобрил он получил дисплей
- Если Рецензент отвергает, он должен смотреть, как отрицаются и пользователь должен иметь возможность повторно отправить его снова для рассмотрения
у меня вопрос в пункте 4.
Когда рецензент отвергает, то г как отрицается. Но когда созданный пытается переконфигурировать веб-контент и «отправить на публикацию», он всегда остается в режиме «Черновик». Рецензент не выполнял никаких задач в своей задаче рабочего процесса.
Я использую liferay 6.2 ce ga 3. Следующее определение моего рабочего процесса.
<?xml version="1.0"?>
<workflow-definition
xmlns="urn:liferay.com:liferay-workflow_6.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:liferay.com:liferay-workflow_6.2.0 http://www.liferay.com/dtd/liferay-workflow-definition_6_2_0.xsd"
>
<name>Single Approver</name>
<description>A single approver can approve a workflow content.</description>
<version>1</version>
<state>
<name>created</name>
<metadata>
<![CDATA[{"xy":[36,51]}]]>
</metadata>
<initial>true</initial>
<transitions>
<transition>
<name>review</name>
<target>review</target>
</transition>
</transitions>
</state>
<task>
<name>update</name>
<metadata>
<![CDATA[{"transitions":{"resubmit":{"bendpoints":[[303,140]]}},"xy":[328,199]}]]>
</metadata>
<actions>
<action>
<name>reject</name>
<script>
<![CDATA[
Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("denied"), workflowContext);
]]>
</script>
<script-language>javascript</script-language>
<execution-type>onAssignment</execution-type>
</action>
<notification>
<name>Creator Modification Notification</name>
<template>Your submission was rejected by ${userName}, please modify and resubmit.</template>
<template-language>freemarker</template-language>
<notification-type>email</notification-type>
<notification-type>user-notification</notification-type>
<execution-type>onAssignment</execution-type>
</notification>
</actions>
<assignments>
<user />
</assignments>
<transitions>
<transition>
<name>resubmit</name>
<target>review</target>
<default>true</default>
</transition>
</transitions>
</task>
<task>
<name>review</name>
<metadata>
<![CDATA[{"xy":[168,36]}]]>
</metadata>
<actions>
<notification>
<name>Review Notification</name>
<template>${userName} sent you a ${entryType} for review in the workflow.</template>
<template-language>freemarker</template-language>
<notification-type>email</notification-type>
<notification-type>user-notification</notification-type>
<execution-type>onAssignment</execution-type>
</notification>
<notification>
<name>Review Completion Notification</name>
<template>
Your submission has been reviewed and the reviewer has applied the following ${taskComments}.</template>
<template-language>freemarker</template-language>
<notification-type>email</notification-type>
<recipients>
<user />
</recipients>
<execution-type>onExit</execution-type>
</notification>
</actions>
<assignments>
<roles>
<role>
<role-type>organization</role-type>
<name>Organization Administrator</name>
</role>
<role>
<role-type>organization</role-type>
<name>Organization Content Reviewer</name>
</role>
<role>
<role-type>organization</role-type>
<name>Organization Owner</name>
</role>
<role>
<role-type>regular</role-type>
<name>Administrator</name>
</role>
<role>
<role-type>regular</role-type>
<name>Portal Content Reviewer</name>
</role>
<role>
<role-type>site</role-type>
<name>Site Administrator</name>
</role>
<role>
<role-type>site</role-type>
<name>Site Content Reviewer</name>
</role>
<role>
<role-type>site</role-type>
<name>Site Owner</name>
</role>
</roles>
</assignments>
<transitions>
<transition>
<name>approve</name>
<target>approved</target>
</transition>
<transition>
<name>reject</name>
<target>update</target>
<default>false</default>
</transition>
</transitions>
</task>
<state>
<name>approved</name>
<metadata>
<![CDATA[
{"xy":[380,51]}
]]>
</metadata>
<actions>
<action>
<name>approve</name>
<script>
<![CDATA[
import com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil;
import com.liferay.portal.kernel.workflow.WorkflowConstants;
WorkflowStatusManagerUtil.updateStatus(WorkflowConstants.toStatus("approved"), workflowContext);
]]>
</script>
<script-language>groovy</script-language>
<execution-type>onEntry</execution-type>
</action>
</actions>
</state>
</workflow-definition>
Нужно ли добавить любое другое состояние или действие для достижения пункта 4?
Тот, который приходит OOTB с Liferay, когда рецензент отвергает веб-контент, который он идет с «до» состояния в виде списка и до (обновлений) в полном виде. Это немного запутанно для обычных пользователей. То, что я ищу, это показывает «отклонено» на панели управления, и оттуда пользователь может обновить контент и затем повторно отправить. Несмотря на то, что рабочий процесс по умолчанию с одним утверждением дает то же самое с состоянием «Ожидание (обновление)». – aston
Я не уверен, что полностью преследую вас, но похоже, что вы хотите изменить поведение контейнера поиска больше, чем поведение рабочего процесса. Вероятно, ваш статус задан в рабочем процессе, и контейнер поиска может быть настроен для отображения только записей определенного статуса. Это стоит проверить. Найдите JSP, в котором интересующий вас контейнер поиска настроен и выполните поиск 'WorkflowConstants'. Я просто угадываю здесь. –