掲示板

use of <fork> tag in Kaleo workflow

thumbnail
13年前 に Sagar A Vyas によって更新されました。

use of <fork> tag in Kaleo workflow

Liferay Master 投稿: 679 参加年月日: 09/04/17 最新の投稿
Hi Everyone,

I need to know how to use fork-join tag in xml definition with proper syntax.

or

If any live sample xml-definition (same as single-approver-definition.xml) which contains <fork> and <join> tags will really appreciable.


Thanks,
Sagar Vyas
CIGNEX
thumbnail
13年前 に Sagar A Vyas によって更新されました。

RE: use of <fork> tag in Kaleo workflow

Liferay Master 投稿: 679 参加年月日: 09/04/17 最新の投稿
Hi Friends,

I have just gone through the .xsd description for Kaleo Workflow and I have found following way to use of <fork> tag in costume definition.



<workflow-definition>
        <name></name>
        <description>  </description>
        <version> </version>
     		<state>
			<name>created</name>
			<initial>true</initial>
			<transitions>	
				<transition>
					<name>phase1</name>
                    [b]<target>TestingFork</target>[/b]
					<default>true</default>
				</transition>
			</transitions>
		</state>
	<fork>
        [b]<name>TestingFork</name>[/b]
		<transitions>
			<transition>
				<name>review</name>
				<target>approval_one</target>
				<default>true</default>
			</transition>
			<transition>
				<name>reviewtwo</name>
				<target>approval_two</target>
				<default>true</default>
			</transition>
		</transitions>
	</fork>	
</workflow-definition>
[/size]



Hope this will help people like me emoticon


Thanks,
Sagar Vyas
CIGNEX
thumbnail
13年前 に Sheikh Sajid によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 17 参加年月日: 10/10/04 最新の投稿
how is one of the two transitions selected in a fork?
how to join from forks?
thumbnail
13年前 に Sagar A Vyas によって更新されました。

RE: use of <fork> tag in Kaleo workflow

Liferay Master 投稿: 679 参加年月日: 09/04/17 最新の投稿
Hi Sajid,

Here is answers of you Questions.


Question 1) How is one of the two transitions selected in a fork?


Ans : We uses fork for parallel transitions. both transition is execute parallel.so no worry about which one will be executed first or which one will be executed last emoticon

Question 2) How to join from forks?


Ans :


<workflow-definition>
	<fork>
        [b]<name>TestingFork</name>[/b]
		<transitions>
			<transition>
				<name>review</name>
				<target>approval_one</target>
				<default>true</default>
			</transition>
			<transition>
				<name>reviewtwo</name>
				<target>approval_two</target>
				<default>true</default>
			</transition>
		</transitions>
	</fork>	
	<task>
		<name>approval_one</name>
		<actions></actions>
		<assignments></assignments>
		<transitions>
			<transition>
				<name>result</name>
				<target>[color=#F52153]join_task[/color]</target>
				<default>true</default>
			</transition>
		</transitions>
	</task>
	<task>
		<name>approval_two</name>
		<actions></actions>
		<assignments>	</assignments>
		<transitions>
			<transition>
				<name>result</name>
				<target>[color=#F52153]join_task[/color]</target>
				<default>true</default>
			</transition>
		</transitions>
	</task>
        <join>
               <name>[color=#F52153]join_task[/color]<name>
               <actions></actions>
	       <transitions>
			<transition>
				<name>result</name>
				<target>[color=#C42AE9]final_approval_task[/color]</target>
				<default>true</default>
			</transition>
		</transitions> 
         </name></name></join>
         <task>
		<name>[color=#C42AE9]final_approval_task[/color]</name>
		<actions></actions>
		<assignments></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>
[/size]



So,as mention in above xml file fork will execute two transitions (approval_one & approval_two) parallel and from there they both call join_task so unless and until both task responds will not come it will wait and once both response will arrive it will execute next task (final_approval_task).

Hope you will get your answers.

Best luck.


Thanks,
Sagar Vyas
CIGNEX
12年前 に Bradai Salma によって更新されました。

RE: use of <fork> tag in Kaleo workflow

Junior Member 投稿: 53 参加年月日: 11/02/05 最新の投稿
Hi Sagar,
thanks for your clarifications,but i want to know what version of Liferay have you used?
in fact i'm using Liferay-6.0.5 and i have a problem(an error occure when i browse my xml file) when i use <fork> and <join> although i have followed what you have put in this forms.
this is my xml file:
<?xml version="1.0" encoding="UTF-8"?>

<workflow-definition
xmlns="urn:liferay.com:liferay-workflow_6.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:liferay.com:liferay-workflow_6.0.0 http://www.liferay.com/dtd/liferay-workflow-definition_6_0_0.xsd"
>
<name>test</name>
<description>de forum</description>
<version>1</version>
<state>
<name>CREATED</name>
<initial>true</initial>
<transitions>
<transition>
<name>phase</name>
<target>TestingFork</target>
<default>true</default>
</transition>
</transitions>
</state>
<task>
<name>update</name>
<assignments>
<user />
</assignments>
<transitions>
<transition>
<name>resubmit</name>
<target>TestingFork</target>
<default>true</default>
</transition>
</transitions>
</task>
<fork>
<name>TestingFork</name>
<transitions>
<transition>
<name>review</name>
<target>approval_one</target>
<default>true</default>
</transition>
<transition>
<name>reviewtwo</name>
<target>approval_two</target>
<default>true</default>
</transition>
</transitions>
</fork>
<task>
<name>approval_one</name>
<actions></actions>
<assignments>
<roles>
<role>
<role-type>organization</role-type>
<name>Organization Administrator</name>
</role>
<role>
<role-type>organization</role-type>
<name>Organization Owner</name>
</role>
<role>
<role-type>organization</role-type>
<name>Approval one</name>
</role>
</roles>
</assignments>
<transitions>
<transition>
<name>result</name>
<target>join_task</target>
<default>true</default>
</transition>
</transitions>
</task>
<task>
<name>approval_two</name>
<actions></actions>
<assignments>
<roles>
<role>
<role-type>organization</role-type>
<name>Organization Administrator</name>
</role>
<role>
<role-type>organization</role-type>
<name>Organization Owner</name>
</role>
<role>
<role-type>organization</role-type>
<name>approval_two</name>
</role>
</roles>
</assignments>
<transitions>
<transition>
<name>result</name>
<target>join_task</target>
<default>true</default>
</transition>
</transitions>
</task>
<join>
<name>join_task<name>
<actions></actions>
<transitions>
<transition>
<name>result</name>
<target>final_approval_task</target>
<default>true</default>
</transition>
</transitions>
</join>
<task>
<name>final_approval_task</name>
<actions></actions>
<assignments>
<roles>
<role>
<role-type>organization</role-type>
<name>Organization Administrator</name>
</role>
<role>
<role-type>organization</role-type>
<name>Organization Owner</name>
</role>
<role>
<role-type>organization</role-type>
<name>final approval</name>
</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>
<state>
<name>APPROVED</name>
<actions>
<action>
<name>Approve Asset</name>
<execution-type>onEntry</execution-type>
<script>
<![CDATA[
Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("approved"), workflowContext);
]]>
</script>
<script-language>javascript</script-language>
</action>
</actions>
</state>
</workflow-definition>
thumbnail
12年前 に Sagar A Vyas によって更新されました。

RE: use of <fork> tag in Kaleo workflow

Liferay Master 投稿: 679 参加年月日: 09/04/17 最新の投稿
Hi Salma,

I have used same version as you mentioned,

Would you please attached xml file with forum so i can understand more from that.

Thanks,
Sagar Vyas
CIGNEX
thumbnail
12年前 に Jakob Fahrner によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 10 参加年月日: 11/07/19 最新の投稿
Hi all,

I have tried to add an example workflow implementation with fork and join my LifeRay version (CE 6.0.6)
Unfortunately everytime I upload the xml file and say save there occurs an error:
No specific error it's simply shows "ERROR" as in the attached image (nothing in the tomcat logs either)

If I try to upload a simple workflow definition without fork or join everything works fine.
I checked my workflow defenition code several times and didn't found an error
For checking purpose I used the dtd from http://www.liferay.com/dtd/liferay-workflow-definition_6_0_0.xsd

After some testing I figured out that the workflow definiton works if I simply comment out the join and put the targets of the tasks before to the next one.
The bad thing is when one of the tasks prevesouly pointing to the join is submitted the final task is available (didn't wait for the second to finish)
So in my opinion the error has to be somewhere at the join

My code for the join

<join>
        <name>join_task<name>
        <transitions>
            <transition>
                <name>result</name>
                <target>final_approval_task</target>
            </transition>
        </transitions>
    </name></name></join>


If you have any idea or help I would be really happy
The two workflow-definition xml files are attached. (one with join not working, and one without working but not properly)
thumbnail
12年前 に jake kuang によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 4 参加年月日: 10/09/05 最新の投稿
me too. can not import the workflow-definition which has the Label <Fork> and <Join>.

the code of the definition as follow....

<?xml version="1.0" encoding="UTF-8"?>

<workflow-definition
xmlns="urn:liferay.com:liferay-workflow_6.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:liferay.com:liferay-workflow_6.0.0 http://www.liferay.com/dtd/liferay-workflow-definition_6_0_0.xsd"
>
<name>Some Approvers Test</name>
<description>None.</description>
<version>1</version>
<state>
<name>created</name>
<initial>true</initial>
<transitions>
<transition>
<name>review</name>
<target>review</target>
<default>true</default>
</transition>
</transitions>
</state>
<task>
<name>update</name>
<actions>
</actions>
<assignments>
<user />
</assignments>
<transitions>
<transition>
<name>resubmit</name>
<target>review</target>
<default>true</default>
</transition>
</transitions>
</task>
<task>
<name>review</name>
<actions>
</actions>
<assignments>
<roles>
<role>
<role-type>regular</role-type>
<name>Tester A</name>
</role>
<role>
<role-type>regular</role-type>
<name>Administrator</name>
</role>
</roles>
</assignments>
<transitions>
<transition>
<name>approve</name>
<target>fork_task</target>
<default>true</default>
</transition>
<transition>
<name>reject</name>
<target>update</target>
<default>false</default>
</transition>
</transitions>
</task>

<fork>
<name>fork_task</name>
<transitions>
<transition>
<name>reviewone</name>
<target>approve11</target>
<default>true</default>
</transition>
<transition>
<name>reviewtwo</name>
<target>approve12</target>
<default>true</default>
</transition>
</transitions>
</fork>

<task>
<name>approve11</name>
<actions>
</actions>
<assignments>
<roles>
<role>
<role-type>regular</role-type>
<name>Tester B</name>
</role>
<role>
<role-type>regular</role-type>
<name>Administrator</name>
</role>
</roles>
</assignments>
<transitions>
<transition>
<name>approve</name>
<target>join_task</target>
<default>true</default>
</transition>
<transition>
<name>reject</name>
<target>update</target>
<default>false</default>
</transition>
</transitions>
</task>

<task>
<name>approve12</name>
<actions>
</actions>
<assignments>
<roles>
<role>
<role-type>regular</role-type>
<name>Tester B</name>
</role>
<role>
<role-type>regular</role-type>
<name>Administrator</name>
</role>
</roles>
</assignments>
<transitions>
<transition>
<name>approve</name>
<target>join_task</target>
<default>true</default>
</transition>
<transition>
<name>reject</name>
<target>update</target>
<default>false</default>
</transition>
</transitions>
</task>

<join>
<name>join_task<name>
<actions></actions>
<transitions>
<transition>
<name>result</name>
<target>approve2</target>
<default>true</default>
</transition>
</transitions>
</join>

<task>
<name>approve2</name>
<actions>
</actions>
<assignments>
<roles>
<role>
<role-type>regular</role-type>
<name>Tester C</name>
</role>
<role>
<role-type>regular</role-type>
<name>Administrator</name>
</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>
<state>
<name>approved</name>
<actions>
<action>
<name>approve</name>
<execution-type>onEntry</execution-type>
<script>
<![CDATA[
Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("approved"), workflowContext);
]]>
</script>
<script-language>javascript</script-language>
</action>
</actions>
</state>
</workflow-definition>

添付ファイル:

12年前 に tobe tiny301 によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 1 参加年月日: 11/08/17 最新の投稿
This is also my problem. Anyone can give me an example with fork tag? I very tired to try to do it but it doesn't work. emoticon
thumbnail
12年前 に Arvind Mishra によって更新されました。

RE: use of <fork> tag in Kaleo workflow

Regular Member 投稿: 226 参加年月日: 08/02/13 最新の投稿
Task approval_one and approval_two both go to Join. Then Join goes to final approval and final approval can reject or approve the task.

What happens, if Approval One or Approval two itself want to reject the task.

How will that work

Thanks
thumbnail
12年前 に jake kuang によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 4 参加年月日: 10/09/05 最新の投稿
the example as the attachment, but the liferay system reported me an erro when I imported the workflow-definition.xml

hope can help.
thumbnail
12年前 に Arvind Mishra によって更新されました。

RE: use of <fork> tag in Kaleo workflow

Regular Member 投稿: 226 参加年月日: 08/02/13 最新の投稿
Hi Jake

If you are using the attached XML for workflow defintion, then there is an error in this xml
At line 137, <name> tag is not closed


<join>
<name>join_task<name>
.....
.....
</name></name></join>


Could you please try same xml, after closing the name tag

-Arvind
thumbnail
12年前 に jake kuang によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 4 参加年月日: 10/09/05 最新の投稿
It's work .
Thank you ,Arvind. Thank you very much.
12年前 に krishna kumar によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 9 参加年月日: 10/09/03 最新の投稿
Hi all,

I have selected fork-join xml in the workflow configuration. If i create any blog it is in pending state. when i login as an administrator and gone through my tasks it is showing parllel approvals when i select two approvals for me it went to assign to me tab then if i approve both of that it didn't create any final approve task.

I think in the above case fork is executing successfully but join is not working. Can any body explain where can i find final approval.

Please explain the flow of <fork> <join>.

Thanks in advance.


Thanks & Regards,

krishna kumar
12年前 に Paro Nasser によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 15 参加年月日: 12/01/12 最新の投稿
Hi Jake,

i try your example, but i never come to the State approve. How you fix it?
thumbnail
12年前 に Jake Kuang によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 4 参加年月日: 10/09/05 最新の投稿
Paro Nasser:
Hi Jake,

i try your example, but i never come to the State approve. How you fix it?


hi Paro
I can import the workflow and let the approver on both sides of the fork catch the task by using that code.
as ups say, I lost the fork end label last time.
12年前 に Paro Nasser によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 15 参加年月日: 12/01/12 最新の投稿
Hi Jake,

that will be great, thanks a lot!
thumbnail
11年前 に Vishal Panchal によって更新されました。

RE: use of <fork> tag in Kaleo workflow

Expert 投稿: 289 参加年月日: 12/05/20 最新の投稿
Hi All,

Thanks for your contribution.
Learnt a lot and saved my time too..

Thanks & Regards,
Vishal R. Panchal
11年前 に Enrico Maria Rossi によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 22 参加年月日: 13/01/15 最新の投稿
Hi, is it possible assign-to a list of users?, With kaleo i can assign-to only one user. Thanks.

Enrico
10年前 に Bhargav reddy によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 2 参加年月日: 13/04/24 最新の投稿
it works fine until fork but as soon as i approve one of the requests it jumps to update, and not final review. how to fix it ?? emoticon emoticon
8年前 に yashika seth によって更新されました。

RE: use of <fork> tag in Kaleo workflow

New Member 投稿: 9 参加年月日: 13/11/06 最新の投稿
Jake Kuang:
the example as the attachment, but the liferay system reported me an erro when I imported the workflow-definition.xml

hope can help.



Hello, Please help I'm unable to apply reject transition in fork.. it's very urgent please help. For one transition that is "approve" it's working fine but when am using two transitions it's causing problem emoticon
thumbnail
10年前 に Pradip A Bhatt によって更新されました。

RE: use of <fork> tag in Kaleo workflow

Junior Member 投稿: 51 参加年月日: 13/01/29 最新の投稿
Hello All....

I am using liferay version 6.1.1 CA GA2. I installed and used Kaleo workflow in liferay.
Kaleo provides just accept - reject states.

Now my requirement is like that i have to provide three state
1) Accept
2) Reject
3) Revise or Resubmit

So.. What i have to do??
Many friends suggests me to use JBPM.. I am very new in liferay.. I have no idea that what is JBPM.. but yes... if some one can direct me properly then i can do further.


Please Help me regarding this..
Thankssssssssssss in Advanceeeeeeeeeeee,,,,,,,,,,,

Pradip Bhatt