Il est aussi à noter que le déploiement d'un processus de définition dans Alfresco ne suffit pas, il faut aussi créer un modèle de tâche et enrichir le fichier web-client-config-custom.xml situé dans la partie "shared" afin d'afficher les intitulés, formulairesetc de chaque étape.Toujours bon à savoir tout ça
Pour plus d'informations :
http://wiki.alfresco.com/wiki/WorkflowAdministration
<?xml version="1.0" encoding="UTF-8"?>
<process-definition
xmlns="urn:jbpm.org:jpdl-3.2" name="ValidationContratClient">
<swimlane name="assignee">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<pooledactors>GROUP_GRP_CONTRAT_ASSUREUR_ATC</pooledactors>
</assignment>
</swimlane>
<swimlane name="initiator"></swimlane>
<swimlane name="assigneeUG">
<assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<pooledactors>GROUP_GRP_CONTRAT_ASSUREUR_UG</pooledactors>
</assignment>
</swimlane>
<!– ********************************************************************** –>
<!– tache start –>
<!– *********************************************************************** –>
<start-state name="start">
<task name="wf:EmissionvalidationCC" swimlane="initiator"></task>
<transition name="" to="Validation par ATC CC">
</transition>
</start-state>
<!– ********************************************************************** –>
<!– tache validation par ATC –>
<!– *********************************************************************** –>
<task-node name="Validation par ATC CC">
<task name="wf:ValidationATC" swimlane="assignee">
<event type="task-end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<expression>
if (taskInstance.actorId == null)
taskInstance.actorId = person.properties.userName;
</expression>
</script>
</action>
</event>
</task>
<transition name="" to="Validation par UG CC"></transition>
</task-node>
<!– ********************************************************************** –>
<!– tache validation par UG –>
<!– *********************************************************************** –>
<task-node name="Validation par UG CC">
<task name="wf:ValidationUG" swimlane="assigneeUG">
<event type="task-end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<expression>
if (taskInstance.actorId == null)
taskInstance.actorId = person.properties.userName;
var test = bpm_package;
var child = test.children[0];
child.properties["hn:Asp-Prop-isActive"] = true;
child.properties["hn:Asp-Prop-validate"] = new Date();
child.save();
</expression>
</script>
</action>
</event>
</task>
<transition name="" to="CC valide"></transition>
</task-node>
<!– ********************************************************************** –>
<!– tache end –>
<!– *********************************************************************** –>
<end-state name="CC valide">
<event type="task-end">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<expression>
if (taskInstance.actorId == null)
taskInstance.actorId = person.properties.userName;
</expression>
</script>
</action>
</event>
</end-state>
</process-definition>
Dans le répertoire :
<!– –>
<!– Contrat client Tasks –>
<!– –>
<type name="wf:EmissionvalidationCC">
<parent>bpm:startTask</parent>
<mandatory-aspects>
<aspect>wf:ValidationContratStats</aspect>
</mandatory-aspects>
</type>
<type name="wf:ValidationATC">
<parent>bpm:workflowTask</parent>
<mandatory-aspects>
<aspect>wf:ValidationContratStats</aspect>
</mandatory-aspects>
</type>
<type name="wf:ValidationUG">
<parent>bpm:workflowTask</parent>
<mandatory-aspects>
<aspect>wf:ValidationContratStats</aspect>
</mandatory-aspects>
</type>
</types>
<aspects>
<aspect name="wf:ValidationContratStats">
<properties>
<property name="wf:DecisionATC">
<type>d:boolean</type>
</property>
<property name="wf:DecisionUG">
<type>d:boolean</type>
</property>
</properties>
</aspect>
Gestion de la partie visuelle du workflow <!– Validation contrat client workflow tasks –>
<config evaluator="node-type" condition="wf:EmissionvalidationCC" replace="true">
<property-sheet>
<separator name="sep1" display-label-id="general" component-generator="HeaderSeparatorGenerator" />
<show-property name="bpm:workflowDescription" component-generator="TextAreaGenerator" />
<show-property name="bpm:workflowDueDate" display-label-id="wf_adhoc_due_date" />
<show-property name="bpm:workflowPriority" display-label-id="wf_adhoc_priority" />
<show-property name="wf:DecisionATC" read-only="true" />
<show-property name="wf:DecisionUG" read-only="true"/>
</property-sheet>
</config>
<config evaluator="node-type" condition="wf:ValidationATC" replace="true">
<property-sheet>
<separator name="sep1" display-label-id="general" component-generator="HeaderSeparatorGenerator" />
<show-property name="bpm:taskId" />
<show-property name="bpm:description" component-generator="TextAreaGenerator" read-only="true" />
<show-property name="bpm:dueDate" read-only="true" />
<show-property name="bpm:priority" read-only="true" />
<show-property name="wf:DecisionATC"/>
</property-sheet>
</config>
<config evaluator="node-type" condition="wf:ValidationUG" replace="true">
<property-sheet>
<separator name="sep1" display-label-id="general" component-generator="HeaderSeparatorGenerator" />
<show-property name="bpm:taskId" />
<show-property name="bpm:description" component-generator="TextAreaGenerator" read-only="true" />
<show-property name="bpm:dueDate" read-only="true" />
<show-property name="bpm:priority" read-only="true" />
<show-property name="wf:DecisionATC" read-only="true" />
<show-property name="wf:DecisionUG"/>
</property-sheet>
</config>
J'espère ne rien avoir oublie
A noter : En renommant "workflow-context.xml.sample" en "workflow-context.xml" dans tomcatsharedclassesalfrescoextension, on active 3 modèles supplémentaires de workflow.Je m'étais lancé sur cette piste Vendredi
Utile pour s'inspirer d'exemples réels.
Content from pre 2016 and from language groups that have been closed.
Content is read-only.
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.