As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
<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="approve" to="approved" /> –> <!– Ma modif –> <transition name="approve" to="approved" > <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> var mail = actions.create("mail"); mail.parameters.to = initiator.properties.email; mail.parameters.subject = "Petite tâche à faire!" + bpm_workflowDescription; mail.parameters.from = bpm_assignee.properties.email; mail.parameters.text = "C'est refusé!"; mail.execute(bpm_package); </script> </action> </transition> <!– Ma modif –> <transition name="reject" to="rejected" /> </task-node>
Je pensais au départ qu'il suffisait de modifier le fichier review_processdefinition.xml, ce que j'avais fait. J'avais pensé à ça parce que j'avais vu que dans le fichier adhoc_processdefinition.xml, un script était présent pour faire l'envoi des e-mails. Mais je me suis trompé puisqu'en l'implémentant, aucun e-mail ne marche (et Alfresco démarre bien…).
<props> <prop key="engineId">jbpm</prop> <prop key="location">alfresco/workflow/review_processdefinition.xml</prop> <prop key="mimetype">text/xml</prop> <prop key="redeploy">false</prop> </props>
Veuillez corriger les erreurs ci-dessous puis cliquez sur OK. * Une erreur système s'est produite pendant l'opération : 10030003 Failed to signal transition 'reject' from workflow task 'jbpm$32'
13:37:21,124 ERROR [org.alfresco.web.ui.common.Utils] Une erreur système s'est produite pendant l'opération : 10030003 Failed to signal transition 'reject' from workflow task 'jbpm$32' org.alfresco.service.cmr.workflow.WorkflowException: 10030003 Failed to signal transition 'reject' from workflow task 'jbpm$32' at org.alfresco.repo.workflow.jbpm.JBPMEngine.endTask(JBPMEngine.java:1742) at org.alfresco.repo.workflow.WorkflowServiceImpl.endTask(WorkflowServiceImpl.java:544) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor.invoke(AlwaysProceedMethodInterceptor.java:40) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:49) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:147) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy43.endTask(Unknown Source) at org.alfresco.web.bean.workflow.ManageTaskDialog.transition(ManageTaskDialog.java:431) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132) at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61) at javax.faces.component.UICommand.broadcast(UICommand.java:109) at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171) at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:110) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:122) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy195.doFilter(Unknown Source) at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:88) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:74) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:122) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy195.doFilter(Unknown Source) at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:88) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Caused by: org.jbpm.graph.def.DelegationException: 10030002 Failed to execute supplied script: 10030001 ReferenceError: "wf_notifyMe" n'est pas défini (AlfrescoJS#1) at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:388) at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:379) at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:301) at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:241) at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:213) at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:196) at org.jbpm.graph.def.Transition.take(Transition.java:152) at org.jbpm.graph.def.Node.leave(Node.java:479) at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:213) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157) at org.jbpm.graph.node.TaskNode$$EnhancerByCGLIB$$489ae7f3.leave(<generated>) at org.jbpm.graph.exe.Token.signal(Token.java:223) at org.jbpm.graph.exe.Token.signal(Token.java:188) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157) at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$bae3983d.signal(<generated>) at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:495) at org.alfresco.repo.workflow.jbpm.WorkflowTaskInstance.end(WorkflowTaskInstance.java:141) at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:436) at org.alfresco.repo.workflow.jbpm.JBPMEngine$26.doInJbpm(JBPMEngine.java:1727) at org.springmodules.workflow.jbpm31.JbpmTemplate$1.doInHibernate(JbpmTemplate.java:87) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:338) at org.springmodules.workflow.jbpm31.JbpmTemplate.execute(JbpmTemplate.java:80) at org.alfresco.repo.workflow.jbpm.JBPMEngine.endTask(JBPMEngine.java:1695) … 68 more Caused by: org.alfresco.scripts.ScriptException: 10030002 Failed to execute supplied script: 10030001 ReferenceError: "wf_notifyMe" n'est pas défini (AlfrescoJS#1) at org.alfresco.repo.jscript.RhinoScriptProcessor.executeString(RhinoScriptProcessor.java:254) at org.alfresco.repo.processor.ScriptServiceImpl.executeScriptString(ScriptServiceImpl.java:314) at org.alfresco.repo.processor.ScriptServiceImpl.executeScriptString(ScriptServiceImpl.java:292) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor.invoke(AlwaysProceedMethodInterceptor.java:40) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:49) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:147) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy199.executeScriptString(Unknown Source) at org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript.executeScript(AlfrescoJavaScript.java:178) at org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript.execute(AlfrescoJavaScript.java:132) at org.jbpm.graph.def.Action.execute(Action.java:129) at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:284) … 97 more Caused by: org.alfresco.error.AlfrescoRuntimeException: 10030001 ReferenceError: "wf_notifyMe" n'est pas défini (AlfrescoJS#1) at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:473) at org.alfresco.repo.jscript.RhinoScriptProcessor.executeString(RhinoScriptProcessor.java:250) … 120 more Caused by: org.mozilla.javascript.EcmaError: ReferenceError: "wf_notifyMe" n'est pas défini (AlfrescoJS#1) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3350) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3340) at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3413) at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1612) at org.mozilla.javascript.gen.c1._c0(AlfrescoJS:1) at org.mozilla.javascript.gen.c1.call(AlfrescoJS) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834) at org.mozilla.javascript.gen.c1.call(AlfrescoJS) at org.mozilla.javascript.gen.c1.exec(AlfrescoJS) at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:457) … 121 more
<transition name="approve" to="approved" /> <!– <transition name="reject" to="rejected" />–> <transition name="reject" to="rejected"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> { var mail = actions.create("mail"); mail.parameters.to = "me@me.fr"; mail.parameters.subject = "Workflow has been rejected"; mail.parameters.from = "alfresco@alfresco.com"; mail.parameters.text = "some text, in case template is not found"; mail.execute(bpm_package); } </script> </action> </transition>
Avez vous changé le workflow model correspondant a ce workflow ?
<?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="approve" to="approved" /> <!– <transition name="reject" to="rejected" />–> <transition name="reject" to="rejected"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> { var mail = actions.create("mail"); mail.parameters.to = "me@me.fr"; mail.parameters.subject = "Workflow has been rejected"; mail.parameters.from = "alfresco@alfresco.com"; mail.parameters.text = "some text, in case template is not found"; mail.execute(bpm_package); } </script> </action> </transition> </task-node> <task-node name="rejected"> <task name="wf:rejectedTask" swimlane="initiator" /> <transition name="" to="end" /> </task-node> <task-node name="approved"> <task name="wf:approvedTask" swimlane="initiator" /> <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:review"> <swimlane name="initiator" /> <start-state name="start"> <task name="wf:submitReviewTask" swimlane="initiator" /> <transition name="" to="review"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> { var mail = actions.create("mail"); mail.parameters.to = bpm_assignee.properties.email; mail.parameters.subject = "Workflow has been created for you man!"; mail.parameters.from = "alfresco@alfresco.com"; mail.parameters.text = "some text, in case template is not found"; mail.execute(bpm_package); } </script> </action> </transition> </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="approve" to="approved"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> { var mail = actions.create("mail"); mail.parameters.to = initiator.properties.email; mail.parameters.subject = "Workflow has been approved"; mail.parameters.from = "alfresco@alfresco.com"; mail.parameters.text = "some text, in case template is not found"; mail.execute(bpm_package); } </script> </action> </transition> <!– <transition name="reject" to="rejected" />–> <transition name="reject" to="rejected"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> { var mail = actions.create("mail"); mail.parameters.to = initiator.properties.email; mail.parameters.subject = "Workflow has been rejected"; mail.parameters.from = "alfresco@alfresco.com"; mail.parameters.text = "some text, in case template is not found"; mail.execute(bpm_package); } </script> </action> </transition> </task-node> <task-node name="rejected"> <task name="wf:rejectedTask" swimlane="initiator" /> <transition name="" to="end" /> </task-node> <task-node name="approved"> <task name="wf:approvedTask" swimlane="initiator" /> <transition name="" to="end" /> </task-node> <end-state name="end" /> </process-definition>
<type name="wf:submitReviewTask"> <parent>bpm:startTask</parent> <mandatory-aspects> <aspect>bpm:assignees</aspect> </mandatory-aspects> </type>
<swimlane name="reviewer"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{bpm_assignees}</actor> </assignment> </swimlane>
<config evaluator="node-type" condition="wf:submitReviewTask" replace="true"> <property-sheet> CODE ici </property-sheet> </config>
<props> <!– WCM workflow definition –> <prop key="engineId">jbpm</prop> <prop key="location">alfresco/workflow/parallelreview_processdefinition.xml</prop> <prop key="mimetype">text/xml</prop> <prop key="redeploy">true</prop> </props>
<?xml version="1.0" encoding="UTF-8"?> <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:parallelreview"> <swimlane name="initiator" /> <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"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> { var mail = actions.create("mail"); mail.parameters.to = reviewer.properties.email; mail.parameters.subject = "A workflow has been created for you"; mail.parameters.from = "alfresco@alfresco.com"; mail.parameters.text = "You have a TASK from"; mail.execute(bpm_package); } </script> </action> </transition> </node> <task-node name="review"> <task name="wf:reviewTask"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{reviewer}</actor> </assignment> <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="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"> <task name="wf:rejectedParallelTask" swimlane="initiator" /> <transition to="end" /> </task-node> <task-node name="approved"> <task name="wf:approvedParallelTask" swimlane="initiator" /> <transition to="end" /> </task-node> <end-state name="end"/> </process-definition>
Une autre question me passe par la tête au passage….Dans l'e-mail que j'écris aux personnes, serait-il possible de préciser dans le corps du texte le nom de la tâche que je leur ai donnée (par exemple "Tâche à faire"), le nom et prénom de la personne ayant initiée le workflow, le nom de l'espace dans lequel est situé le document ainsi que le lien direct vers le document?Si oui, comment faire??
<transition name="reject" to="endreview"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> { var mail = actions.create("mail"); mail.parameters.to = initiator.properties.email; mail.parameters.subject = "Workflow " + bpm_workflowDescription; mail.parameters.from = "alfresco@alfresco.com"; mail.parameters.text = "Workflow rejetté."; mail.execute(bpm_package); } </script> </action> </transition>
<transition name="reject" to="endreview" />