Fórum

usando o Activiti Workflow Engine

george salu, modificado 9 Anos atrás.

usando o Activiti Workflow Engine

Junior Member Postagens: 36 Data de Entrada: 16/04/15 Postagens Recentes
bom dia pessoa instalei este plugin de workflow que parece otimo mas na estou sabendo usar, logo quando tento criar um workflow so me aparece um botão escrito -> upload definição, alguém ja uso este plugin alguma dica ?
thumbnail
Gustavo Vasconcelos, modificado 9 Anos atrás.

RE: usando o Activiti Workflow Engine

New Member Postagens: 15 Data de Entrada: 05/05/14 Postagens Recentes
Olá, George.

As definições de Workflow são no formato XML. A título de referência, abaixo está o fonte da definição Single Approver, que você já tem em seu portal:
<!--?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>
			{"xy":[36,51]}
		</metadata>
		<initial>true</initial>
		<transitions>
			<transition>
				<name>review</name>
				<target>review</target>
				<default>true</default>
			</transition>
		</transitions>
	</state>
	<state>
		<name>approved</name>
		<metadata>
			{"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>
	<task>
		<name>update</name>
		<metadata>
			{"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);
											Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("pending"), 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>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>
			{"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>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>
					<auto-create>false</auto-create>
				</role>
				<role>
					<role-type>organization</role-type>
					<name>Organization Content Reviewer</name>
					<auto-create>false</auto-create>
				</role>
				<role>
					<role-type>organization</role-type>
					<name>Organization Owner</name>
					<auto-create>false</auto-create>
				</role>
				<role>
					<role-type>regular</role-type>
					<name>Administrator</name>
					<auto-create>false</auto-create>
				</role>
				<role>
					<role-type>regular</role-type>
					<name>Portal Content Reviewer</name>
					<auto-create>false</auto-create>
				</role>
				<role>
					<role-type>site</role-type>
					<name>Site Administrator</name>
					<auto-create>false</auto-create>
				</role>
				<role>
					<role-type>site</role-type>
					<name>Site Content Reviewer</name>
					<auto-create>false</auto-create>
				</role>
				<role>
					<role-type>site</role-type>
					<name>Site Owner</name>
					<auto-create>false</auto-create>
				</role>
			</roles>
		</assignments>
		<transitions>
			<transition>
				<name>approve</name>
				<target>approved</target>
				<default>true</default>
			</transition>
			<transition>
				<name>reject</name>
				<target>update</target>
				<default>false</default>
			</transition>
		</transitions>
	</task>
</workflow-definition>


Você pode editá-lo para criar uma nova definição ou utilizar o Kaleo Workflow para criar uma nova através da interface gráfica (Kaleo Workflow no Liferay Marketplace).

Uma vez que tenha as suas definições de fluxo de trabalho prontas para serem utilizadas, você pode configurar seus portlets para utilizá-las navegando para:
[indent]Painel de Controle > Seu Site > Configurar > Configurações de Fluxo de Trabalho[/indent]

A configuração de fluxos de trabalho de alguns portlets como Documentos e Mídia e DDL é feita nos próprios portlets.

Abraços,
Gustavo Vasconcelos