09-29-2009 12:37 PM
09-29-2009 06:27 PM
09-29-2009 06:57 PM
xml version = "1.0" encoding = "UTF-8"?
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:review">
<swimlane name="initiator" />
<start-state name="start">
<task name="wf:submitReviewTask" swimlane="initiator" />
<transition name="" to="review" />
</ start-state>
<swimlane name="reviewer">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor> # (bpm_assignee) </ actor>
</ assignment>
</ swimlane>
<task-node name="review">
<task name="wf:reviewTask" swimlane="reviewer">
<event type="task-create">
<script>
if (bpm_workflowDueDate! = void) taskInstance.dueDate = bpm_workflowDueDate;
if (bpm_workflowPriority! = void) taskInstance.priority = bpm_workflowPriority;
</ script>
</ event>
</ task>
<transition name="" to="completed" />
<event type="node-enter">
<! - Update the status to Rejected when we enter this task ->
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
for (var i = 0, i <bpm_package.children.length i + +)
(
bpm_package.children [i]. properties [ "my: priority"] = bpm_workflowPriority;
bpm_package.children [i]. properties [ "my: ultimoestado"] = "Pendent";
bpm_package.children [i]. properties [ "my: ultimotecnico"] = bpm_assignee.properties [ "cm: userName"];
if (bpm_package.children [i]. properties [ "my: state"] == null) (
bpm_package.children [i]. properties [ "my: state"] = "Pendent";
bpm_package.children [i]. properties [ "my: tecnico"] = bpm_assignee.properties [ "cm: userName"];
) else (
bpm_package.children [i]. properties [ "my: state"] [bpm_package.children [i]. properties [ "my: state."] length] = "Pendent";
bpm_package.children [i]. properties [ "my: tecnico"] [bpm_package.children [i]. properties [ "my: tecnico."] length] = bpm_assignee.properties [ "cm: userName"];
)
bpm_package.children [i]. save ();
bpm_package.children [i]. setInheritsPermissions (false);
bpm_package.children var permissions = [i]. permissions;
var acl = [];
for (var j = 0, j <permissions.length j + +)
(
acl = permissions [j]. (";"); split
var perm = acl [2];
var grp = acl [1];
bpm_package.children [i]. removePermission (perm, grp);
)
bpm_package.children [i]. setPermission ( "Consumer" bpm_assignee.properties [ "cm: userName"]);
)
var mail = actions.create ( "mail");
bpm_assignee.properties mail.parameters.to = [ "cm: email"];
mail.parameters.subject = "Notice of assignment" + bpm_workflowDescription;
mail.parameters.from = "noreply@edu.gva.es";
mail.parameters.text = "No reply to this task mensaje.La" + bpm_workflowDescription + "has been assigned must review here http://notasinternas.edu.gva.es";
mail.execute (bpm_package);
</ script>
</ action>
</ event>
</ task-node>
<task-node name="completed">
<event type="node-enter">
<! - Update the status to Rejected when we enter this task ->
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
for (var z = 0, z <bpm_package.children.length, z + +)
(
bpm_package.children [z]. properties [ "my: priority"] = bpm_workflowPriority;
bpm_package.children [z]. properties [ "my: ultimoestado"] = "acabat";
bpm_package.children [z]. properties [ "my: ultimotecnico"] = bpm_assignee.properties [ "cm: userName"];
if (bpm_package.children [z]. properties [ "my: state"] == null) (
bpm_package.children [z]. properties [ "my: state"] = "acabat";
bpm_package.children [z]. properties [ "my: tecnico"] = bpm_assignee.properties [ "cm: userName"];
) else (
bpm_package.children [z]. properties [ "my: state"] [bpm_package.children [z]. properties [ "my: state."] length] = "acabat";
bpm_package.children [z]. properties [ "my: tecnico"] [bpm_package.children [z]. properties [ "my: tecnico."] length] = bpm_assignee.properties [ "cm: userName"];
)
bpm_package.children [z]. save ();
)
</ script>
</ action>
</ event>
<transition name="" to="end" />
</ task-node>
<end-state name="end" />
</ process-definition>
xml version = "1.0" encoding = "UTF-8"?
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:parallelreview">
<swimlane name="initiator"> </ swimlane>
<start-state name="start">
<task name="wf:submitParallelReviewTask" swimlane="initiator" />
<transition name="" to="startreview"/>
</ start-state>
<node name="startreview">
<action class="org.alfresco.repo.workflow.jbpm.ForEachFork">
<foreach> # (bpm_assignees) </ foreach>
<var> reviewer </ var>
</ action>
<event type="node-enter">
<script>
<variable name="wf_approveCount" access="write" />
<expression>
wf_approveCount = 0;
</ expression>
</ script>
</ event>
<transition name="review" to="review" />
</ node>
<task-node name="review">
<task name="wf:reviewTask">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor> # (reviewer) </ actor>
</ assignment>
</ task>
<event type="node-enter">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
for (var i = 0, i <bpm_package.children.length i + +)
(
bpm_package.children [i]. setInheritsPermissions (false);
bpm_package.children var permissions = [i]. permissions;
var acl = [];
for (var j = 0, j <permissions.length j + +)
(
acl = permissions [j]. (";"); split
var perm = acl [2];
var grp = acl [1];
bpm_package.children [i]. removePermission (perm, grp);
var mail = actions.create ( "mail");
reviewer.properties mail.parameters.to = [ "cm: email"];
mail.parameters.subject = "Notice of assignment;
mail.parameters.from = "noreply@edu.gva.es";
mail.parameters.text = acl + "Do not respond to this mensaje.Tiene an assignment should review http://notasinternas.edu.gva.es here";
mail.execute (bpm_package)
)
bpm_package.children [i]. setPermission ( "Coordinator", reviewer.properties [ "cm: userName"]);
)
var mail = actions.create ( "mail");
reviewer.properties mail.parameters.to = [ "cm: email"];
mail.parameters.subject = "Notice of assignment;
mail.parameters.from = "noreply@edu.gva.es";
mail.parameters.text = acl + "Do not respond to this mensaje.Tiene an assignment should review http://notasinternas.edu.gva.es here";
mail.execute (bpm_package);
</ script>
</ action>
</ event>
<transition name="reject" to="endreview" />
<transition name="approve" to="endreview">
<script>
<variable name="wf_approveCount" access="read,write" />
<expression>
wf_approveCount = wf_approveCount +1;
</ expression>
</ script>
</ transition>
</ task-node>
<join name="endreview">
<transition to="isapproved" />
</ join>
<decision name="isapproved">
<event type="node-enter">
<script>
<variable name="wf_reviewerCount" access="write"/>
<variable name="wf_requiredPercent" access="write"/>
<variable name="wf_actualPercent" access="write"/>
<expression>
wf_requiredPercent = wf_requiredApprovePercent;
wf_reviewerCount = bpm_assignees.size ();
wf_actualPercent = ((wf_approveCount * 100) / wf_reviewerCount);
</ expression>
</ script>
</ event>
<transition name="reject" to="rejected" />
<transition name="approve" to="approved">
<condition> # (wf_actualPercent> = wf_requiredApprovePercent) </ condition>
</ transition>
</ decision>
<task-node name="rejected">
<transition to="end" />
</ task-node>
<task-node name="approved">
<transition to="end" />
</ task-node>
<end-state name="end"/>
</ process-definition>
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.