04-09-2010 11:48 AM
05-06-2010 03:32 AM
05-06-2010 03:36 AM
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:customReview">
<swimlane name="initiator" />
<start-state name="start">
<task name="wf:submitReviewTask" swimlane="initiator">
</task>
<transition name="" to="condition">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="statutDoc" access="read,write" />
<expression>
statutDoc = bpm_package.children[0].properties["custom:statutdocument"];
</expression>
</script>
</action>
</transition>
</start-state>
<swimlane name="reviewer">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{bpm_assignee}</actor>
</assignment>
</swimlane>
<decision name="condition">
<transition name="conditionOK" to="sendMailOK">
<condition>
#{statutDoc == "Travail"}
</condition>
</transition>
<transition name="conditionKO" to="sendMailKO">
<condition>
#{statutDoc != "Travail"}
</condition>
</transition>
</decision>
<node name="sendMailOK">
<transition to="review">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<variable name="initiator" access="read" />
<variable name="bpm_workflowDueDate" access="read" />
<expression>
bpm_package.children[0].properties["custom:statutdocument"] = "En relecture";
bpm_package.children[0].save();
<!– Send a notification email –>
var mail = actions.create("mail");
mail.parameters.to = bpm_assignee.properties.email;
mail.parameters.from = initiator.properties.email;
mail.parameters.subject = "Alfresco : tâche de relecture";
mail.parameters.text = "Bonjour, \n\n\t" + initiator.properties["cm:firstName"] + " " + initiator.properties["cm:lastName"] + " vous demande de relire le document " + bpm_package.children[0].properties["cm:title"] + ", version " + bpm_package.children[0].properties["cm:versionLabel"] + ", avant validation.\n\n\tDélai de relecture : " + bpm_workflowDueDate + ". \n\n\tEn cas de rejet du document, merci d’ajouter votre Fiche de Lecture dans la GED et de la lier avec le document.\n\n\tCordialement, l'équipe Alfresco.";
mail.execute(bpm_package.children[0]);
</expression>
</script>
</action>
</transition>
</node>
<node name="sendMailKO">
<transition to="end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<variable name="initiator" access="read" />
<expression>
<!– Send a notification email –>
var mail = actions.create("mail");
mail.parameters.to = initiator.properties.email;
mail.parameters.from = "Alfresco.com";
mail.parameters.subject = "Alfresco : erreur workflow";
mail.parameters.text = "Bonjour, \n\n\t Alfresco vous informe que votre workflow ne peut pas être lancé. Le document doit être en travail pour lancer la relecture.\n\n\tCordialement, l'équipe Alfresco.";
mail.execute(bpm_package.children[0]);
</expression>
</script>
</action>
</transition>
</node>
<task-node name="review">
<task name="wf:reviewTask" swimlane="reviewer">
<event type="task-create">
<script><variable name="bpm_workflowDueDate" access="read" /><variable name="bpm_workflowPriority" access="read" /><expression>
if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate;
if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority;
</expression></script>
</event>
</task>
<transition name="Je refuse le document" to="rejected">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<variable name="initiator" access="read" />
<expression>
<!– Send a notification email –>
var mail = actions.create("mail");
mail.parameters.to = initiator.properties.email;
mail.parameters.from = bpm_assignee.properties.email;
mail.parameters.subject = "Alfresco : relecture refusée";
mail.parameters.text = "Bonjour, \n\n\tVotre demande de relecture pour le document " + bpm_package.children[0].properties["cm:title"] + ", a été refusé.\n\n\tCordialement, l'équipe Alfresco.";
mail.execute(bpm_package.children[0]);
</expression>
</script>
</action>
</transition>
<transition name="J’accepte le document" to="approved">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<variable name="initiator" access="read" />
<expression>
<!– Send a notification email –>
var mail = actions.create("mail");
mail.parameters.to = initiator.properties.email;
mail.parameters.from = bpm_assignee.properties.email;
mail.parameters.subject = "Alfresco : relecture acceptée";
mail.parameters.text = "Bonjour, \n\n\tVotre demande de relecture pour le document " + bpm_package.children[0].properties["cm:title"] + ", a été accepté.\n\n\tCordialement, l'équipe Alfresco.";
mail.execute(bpm_package.children[0]);
</expression>
</script>
</action>
</transition>
</task-node>
<task-node name="rejected">
<task name="wf:rejectedReviewTask" swimlane="initiator" />
<transition name="" to="end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<expression>
bpm_package.children[0].properties["custom:statutdocument"] = "Travail";
bpm_package.children[0].save();
</expression>
</script>
</action>
</transition>
</task-node>
<task-node name="approved">
<task name="wf:approvedReviewTask" swimlane="initiator" />
<transition name="" to="end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<expression>
bpm_package.children[0].properties["custom:statutdocument"] = "Relu";
bpm_package.children[0].properties["custom:nomrelecteur"] = bpm_assignee.properties["cm:firstName"] + " " + bpm_assignee.properties["cm:lastName"];
bpm_package.children[0].properties["custom:daterelecture"] = new Date();
bpm_package.children[0].save();
</expression>
</script>
</action>
</transition>
</task-node>
<end-state name="end" >
</end-state>
</process-definition>
05-06-2010 03:49 AM
05-06-2010 04:42 AM
05-06-2010 04:54 AM
bpm_package.children[0].properties["custom:statutdocument"] = "Relu";
bpm_package.children[0].properties["custom:nomrelecteur"] = bpm_assignee.properties["cm:firstName"] + " " + bpm_assignee.properties["cm:lastName"];
bpm_package.children[0].properties["custom:daterelecture"] = new Date();
bpm_package.children[0].save();
This code don't work if you haven't the good metadata in your document …05-06-2010 05:26 AM
05-06-2010 05:42 AM
<decision name="condition">
<transition name="conditionOK" to="sendMailOK">
<condition>
#{statutDoc == "Travail"}
</condition>
</transition>
<transition name="conditionKO" to="sendMailKO">
<condition>
#{statutDoc != "Travail"}
</condition>
</transition>
</decision>
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:customReview">
<swimlane name="initiator" />
<start-state name="start">
<task name="wf:submitReviewTask" swimlane="initiator">
</task>
<transition name="" to="sendMailOK">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="statutDoc" access="read,write" />
<expression>
</expression>
</script>
</action>
</transition>
</start-state>
<swimlane name="reviewer">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{bpm_assignee}</actor>
</assignment>
</swimlane>
<node name="sendMailOK">
<transition to="review">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<variable name="initiator" access="read" />
<variable name="bpm_workflowDueDate" access="read" />
<expression>
<!– Send a notification email –>
var mail = actions.create("mail");
mail.parameters.to = bpm_assignee.properties.email;
mail.parameters.from = initiator.properties.email;
mail.parameters.subject = "Alfresco : tâche de relecture";
mail.parameters.text = "Bonjour, \n\n\t" + initiator.properties["cm:firstName"] + " " + initiator.properties["cm:lastName"] + " vous demande de relire le document " + bpm_package.children[0].properties["cm:title"] + ", version " + bpm_package.children[0].properties["cm:versionLabel"] + ", avant validation.\n\n\tDélai de relecture : " + bpm_workflowDueDate + ". \n\n\tEn cas de rejet du document, merci d’ajouter votre Fiche de Lecture dans la GED et de la lier avec le document.\n\n\tCordialement, l'équipe Alfresco.";
mail.execute(bpm_package.children[0]);
</expression>
</script>
</action>
</transition>
</node>
<task-node name="review">
<task name="wf:reviewTask" swimlane="reviewer">
<event type="task-create">
<script><variable name="bpm_workflowDueDate" access="read" /><variable name="bpm_workflowPriority" access="read" /><expression>
if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate;
if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority;
</expression></script>
</event>
</task>
<transition name="Je refuse le document" to="rejected">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<variable name="initiator" access="read" />
<expression>
<!– Send a notification email –>
var mail = actions.create("mail");
mail.parameters.to = initiator.properties.email;
mail.parameters.from = bpm_assignee.properties.email;
mail.parameters.subject = "Alfresco : relecture refusée";
mail.parameters.text = "Bonjour, \n\n\tVotre demande de relecture pour le document " + bpm_package.children[0].properties["cm:title"] + ", a été refusé.\n\n\tCordialement, l'équipe Alfresco.";
mail.execute(bpm_package.children[0]);
</expression>
</script>
</action>
</transition>
<transition name="J’accepte le document" to="approved">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<variable name="initiator" access="read" />
<expression>
<!– Send a notification email –>
var mail = actions.create("mail");
mail.parameters.to = initiator.properties.email;
mail.parameters.from = bpm_assignee.properties.email;
mail.parameters.subject = "Alfresco : relecture acceptée";
mail.parameters.text = "Bonjour, \n\n\tVotre demande de relecture pour le document " + bpm_package.children[0].properties["cm:title"] + ", a été accepté.\n\n\tCordialement, l'équipe Alfresco.";
mail.execute(bpm_package.children[0]);
</expression>
</script>
</action>
</transition>
</task-node>
<task-node name="rejected">
<task name="wf:rejectedReviewTask" swimlane="initiator" />
<transition name="" to="end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<expression>
</expression>
</script>
</action>
</transition>
</task-node>
<task-node name="approved">
<task name="wf:approvedReviewTask" swimlane="initiator" />
<transition name="" to="end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<expression>
</expression>
</script>
</action>
</transition>
</task-node>
<end-state name="end" >
</end-state>
</process-definition>
05-06-2010 06:23 AM
05-06-2010 08:20 AM
05-06-2010 09:16 AM
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:customReview">
<swimlane name="initiator" />
<start-state name="start">
<task name="wf:submitReviewTask" swimlane="initiator">
</task>
<transition name="" to="sendMailOK">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="statutDoc" access="read,write" />
<expression>
</expression>
</script>
</action>
</transition>
</start-state>
<swimlane name="reviewer">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{bpm_assignee}</actor>
</assignment>
</swimlane>
<node name="sendMailOK">
<transition to="review">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<variable name="initiator" access="read" />
<variable name="bpm_workflowDueDate" access="read" />
<expression>
<!– Send a notification email –>
var mail = actions.create("mail");
mail.parameters.to = bpm_assignee.properties.email;
mail.parameters.from = initiator.properties.email;
mail.parameters.subject = "Alfresco : proofreading task";
mail.parameters.text = "Hello, \n\n\t" + initiator.properties["cm:firstName"] + " " + initiator.properties["cm:lastName"] + " you to read the document " + bpm_package.children[0].properties["cm:title"] + ", version " + bpm_package.children[0].properties["cm:versionLabel"] + ", before validation.\n\n\tTime Replay : " + bpm_workflowDueDate + ". \n\n\tIn case of rejection of the document, thank you for adding your Record of Reading in the GOL and link with the document.\n\n\tRegards, the team Alfresco.";
mail.execute(bpm_package.children[0]);
</expression>
</script>
</action>
</transition>
</node>
<transition name="Je refuse le document" to="rejected">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<variable name="initiator" access="read" />
<expression>
<!– Send a notification email –>
var mail = actions.create("mail");
mail.parameters.to = initiator.properties.email;
mail.parameters.from = bpm_assignee.properties.email;
mail.parameters.subject = "Alfresco : Replay Denied";
mail.parameters.text = "Hello, \n\n\tYour request for the document editing " + bpm_package.children[0].properties["cm:title"] + ", was refused.\n\n\tRegards, the team Alfresco.";
mail.execute(bpm_package.children[0]);
</expression>
</script>
</action>
</transition>
<transition name="Je accepte le document" to="approved">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<variable name="initiator" access="read" />
<expression>
<!– Send a notification email –>
var mail = actions.create("mail");
mail.parameters.to = initiator.properties.email;
mail.parameters.from = bpm_assignee.properties.email;
mail.parameters.subject = "Alfresco : Replay accepted";
mail.parameters.text = "Hello, \n\n\tYour request for the document editing " + bpm_package.children[0].properties["cm:title"] + ", was accepted.\n\n\tRegards, the team Alfresco.";
mail.execute(bpm_package.children[0]);
</expression>
</script>
</action>
</transition>
<task-node name="review">
<task name="wf:reviewTask" swimlane="reviewer">
<event type="task-create">
<script>
<variable name="bpm_workflowDueDate" access="read" />
<variable name="bpm_workflowPriority" access="read" />
<expression>
if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate;
if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority;
</expression>
</script>
</event>
</task>
</task-node>
<task-node name="rejected">
<task name="wf:rejectedReviewTask" swimlane="initiator" />
<transition name="" to="end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<expression>
</expression>
</script>
</action>
</transition>
</task-node>
<task-node name="approved">
<task name="wf:approvedReviewTask" swimlane="initiator" />
<transition name="" to="end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read" />
<variable name="bpm_assignee" access="read" />
<expression>
</expression>
</script>
</action>
</transition>
</task-node>
<end-state name="end" >
</end-state>
</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.