11-14-2007 08:08 AM
<!–**************************–>
<!–** <Task Node> **–>
<!–** qualityapproval **–>
<!–**************************–>
<task-node name="qualityapproval">
<task name="lwf_QualityTask" swimlane="qualityassignees">
<!– assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<pooledactors>A_QUALITY_APPROBATORS</pooledactors>
</assignment–>
<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>
<event type="node-enter">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
logger.log("");
logger.log("-**************************-");
logger.log("-** Task Node **-");
logger.log("-** qualityapproval **-");
logger.log("-**************************-");
logger.log("");
</script>
</action>
</event>
<transition name="reject" to="rejectedQuality" />
<transition name="approve" to="approvedQuality" />
</task-node>
A ce jour l'attribution de la tâche se fait en sortie de la tâche <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>
Je souhaite supprimer l'auto attribution et rajouter une condition d'attribution pour pouvoir continuer à l'étape suivant en rajoutant une condition d'affectation sur la transition approve. <!–**************************–>
<!–** <Task Node> **–>
<!–** qualityapproval **–>
<!–**************************–>
<task-node name="qualityapproval">
<task name="lwf_QualityTask" swimlane="qualityassignees">
<!– assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<pooledactors>A_QUALITY_APPROBATORS</pooledactors>
</assignment–>
<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>
<event type="node-enter">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
logger.log("");
logger.log("-**************************-");
logger.log("-** Task Node **-");
logger.log("-** qualityapproval **-");
logger.log("-**************************-");
logger.log("");
</script>
</action>
</event>
<transition name="reject" to="rejectedQuality" />
<transition name="approve" to="approvedQuality" >
<condition>#{taskInstance.actorId != null}</condition>
</transition>
</task-node>
Il semblerait que la syntaxte <condition>#{taskInstance.actorId != null}</condition> ne fonctionne pas, impossible de déployer le workflow.14:05:30,933 ERROR [[localhost].[/alfresco].[JBPMDeployProcessServlet]] "Servlet.service()" pour la servlet JBPMDeployProcessServlet a généré une exception
org.alfresco.service.cmr.workflow.WorkflowException: Failed to deploy workflow definition
at org.alfresco.repo.workflow.jbpm.JBPMEngine.deployDefinition(JBPMEngine.java:287)
at org.alfresco.repo.workflow.WorkflowServiceImpl.deployDefinition(WorkflowServiceImpl.java:107)
at sun.reflect.GeneratedMethodAccessor1441.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)
at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor.invoke(AlwaysProceedMethodInterceptor.java:40)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:49)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at org.alfresco.repo.audit.AuditComponentImpl.auditImpl(AuditComponentImpl.java:256)
at org.alfresco.repo.audit.AuditComponentImpl.audit(AuditComponentImpl.java:191)
at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:69)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
at $Proxy43.deployDefinition(Unknown Source)
at org.alfresco.web.app.servlet.JBPMDeployProcessServlet.deployArchive(JBPMDeployProcessServlet.java:131)
at org.alfresco.web.app.servlet.JBPMDeployProcessServlet.service(JBPMDeployProcessServlet.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:834)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
at java.lang.Thread.run(Unknown Source)
Caused by: org.jbpm.JbpmException: Failed to parse process definition from jBPM zip archive stream
at org.alfresco.repo.workflow.jbpm.JBPMEngine.compileProcessDefinition(JBPMEngine.java:1618)
at org.alfresco.repo.workflow.jbpm.JBPMEngine$1.doInJbpm(JBPMEngine.java:274)
at org.springmodules.workflow.jbpm31.JbpmTemplate$1.doInHibernate(JbpmTemplate.java:87)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:367)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:333)
at org.springmodules.workflow.jbpm31.JbpmTemplate.execute(JbpmTemplate.java:80)
at org.alfresco.repo.workflow.jbpm.JBPMEngine.deployDefinition(JBPMEngine.java:269)
… 34 more
Caused by: org.jbpm.jpdl.JpdlException: [[ERROR] line 592: cvc-complex-type.2.4.a: Invalid content was found starting with element 'condition'. One of '{"urn:jbpm.org:jpdl-3.1":action, "urn:jbpm.org:jpdl-3.1":script, "urn:jbpm.org:jpdl-3.1":create-timer, "urn:jbpm.org:jpdl-3.1":cancel-timer, "urn:jbpm.org:jpdl-3.1":exception-handler}' is expected., [WARNING] swimlane 'initiator' does not have an assignment]
at org.jbpm.jpdl.xml.JpdlXmlReader.readProcessDefinition(JpdlXmlReader.java:173)
at org.alfresco.repo.workflow.jbpm.JBPMJpdlArchiveParser.readFromArchive(JBPMJpdlArchiveParser.java:72)
at org.jbpm.jpdl.par.ProcessArchive.parseProcessDefinition(ProcessArchive.java:81)
at org.alfresco.repo.workflow.jbpm.JBPMEngine.compileProcessDefinition(JBPMEngine.java:1613)
… 40 more
Comment faire pour réaliser cette condition ?
11-16-2007 03:37 AM
11-16-2007 08:39 AM
Personne ne peut vraiment m'aider sur le sujet ? Car là je sèche vraiment.Bon, plus la peine de vous exciter sur mon problème, j'ai trouvé ce qui n'allait pas.
04-01-2008 10:52 AM
04-17-2008 04:20 AM
Bonjour,
étant confronté au même type de besoins, je me permet de poser la question : comment avez-vous résolu le problème ?
Cordialement.
04-24-2008 07:12 AM
Bonjour,
étant confronté au même type de besoins, je me permet de poser la question : comment avez-vous résolu le problème ?
Cordialement.
<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>
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.