Projet

Général

Profil

Actions

Bug #10005

fermé

Accès à une tache de workflow depuis la liste de mes taches de l'espace personnel

Ajouté par David Lesimple il y a plus de 5 ans. Mis à jour il y a environ 5 ans.

Statut:
Closed
Priorité:
High
Assigné à:
Catégorie:
Mes Tâches
Début:
12/07/2018
Echéance:
% réalisé:

100%

Temps estimé:
Navigateur:
Tous
Votre version de Silverpeas:
6.1-x
Système d'exploitation:
Votre base de données:
Toutes
Livraison en TEST:
Livraison en PROD:

Description

EXPLICATION
  • Espace Personnel > Liste des tâches à exécuter
  • Utilisateur clique sur la tâche concernée
  • Il devrait accéder à la liste de l'ensemble des tâches
ANOMALIE
  • S'il clique sur la tâche il a le message suivant
  • UK : "Messages processManager.GET_PROCESS_FROM_TODO_FAILED NOT INITIALIZED"
  • ou
  • FR "Impossible de déterminer la demande depuis un lien provenant d'un todo"

Fichiers

Mes tâches de WF.png (42 ko) Mes tâches de WF.png Marc Avenel, 12/07/2018 14:42

Demandes liées 1 (0 ouverte1 fermée)

Dupliqué par Silverpeas Core - Bug #10317: Espace personnel - Portlet "Mes tâches"Rejected12/12/2018

Actions

Mis à jour par David Lesimple il y a plus de 5 ans

La cause :

Le problème survient lorsque le role et ou l'étape comporte le caractère underscore.
Or ce caractère est utilisé pour délimiter les differentes informations d'un lien todo de workflow, il a été mal choisi.

Vu le code Java, le problème est identique en 6.x (métode getProcessId et getRoleName de TaskManagerImpl.java)
En effet,

le code StringTokenizer st = new StringTokenizer(externalId, "__");

signifie que le délimiteur de token est soit _ soit _ et non pas __

Exemple de chaine à traiter qui pose problème :
1__0__En_Ligne__Redacteur

Mis à jour par David Lesimple il y a plus de 5 ans

  • Statut changé de New à Qualified

Mis à jour par David Lesimple il y a plus de 5 ans

  • Dupliqué par Bug #10317: Espace personnel - Portlet "Mes tâches" ajouté

Mis à jour par Marc Avenel il y a plus de 5 ans

Suite à un problème sur le serveur de PRODUCTION avec un utilisateur
J'ai fait le même test sur le serveur de TEST
Workflow suivant: CORPORATE > PUR - PURCHASING > Workflow SCT > Europe > Europe Sourcing Commitee WF

#Crée une demande de workflow
#validé la demande
#Demande passe à l'étape suivante
ENSUITE
Je vais sur mon espace personnel , liste des tâches en attente
Je vois bien ma demande en attente:
  • Europe > Europe Sourcing Commitee WF > activite : Pre Sourcing Committee --> Wait CLB
Si je clique sur la demande j'ai le message suivant sur mon espace workflow:
  • !!! Messages processManager.GET_PROCESS_FROM_TODO_FAILED NOT INITIALIZED !!!

En fait cette vue tâche, on ne doit pas l'utiliser pour nos tâche de workflow.
c'est bien cela ?
Merci

Mis à jour par Marc Avenel il y a plus de 5 ans

Message d'erreur

!!! Message workflowEngine.EX_ERR_ILLEGAL_EXTERNALID NOT INITIALIZED !!!
com.silverpeas.workflow.api.WorkflowException: workflowEngine.EX_ERR_ILLEGAL_EXTERNALID
at com.silverpeas.workflow.engine.task.TaskManagerImpl.getProcessId(TaskManagerImpl.java:246)
at com.silverpeas.workflow.engine.task.TaskManagerImpl.getProcessInstanceIdFromExternalTodoId(TaskManagerImpl.java:152)
at com.silverpeas.processManager.ProcessManagerSessionController.getProcessInstanceIdFromExternalTodoId(ProcessManagerSessionController.java:361)
at com.silverpeas.processManager.servlets.ProcessManagerRequestRouter$12.computeDestination(ProcessManagerRequestRouter.java:479)
at com.silverpeas.processManager.servlets.SessionSafeFunctionHandler.getDestination(SessionSafeFunctionHandler.java:59)
at com.silverpeas.processManager.servlets.ProcessManagerRequestRouter.getDestination(ProcessManagerRequestRouter.java:116)
at com.silverpeas.processManager.servlets.ProcessManagerRequestRouter.getDestination(ProcessManagerRequestRouter.java:65)
at com.stratelia.silverpeas.peasCore.servlets.ComponentRequestRouter.computeDestination(ComponentRequestRouter.java:247)
at com.stratelia.silverpeas.peasCore.servlets.ComponentRequestRouter.doPost(ComponentRequestRouter.java:133)
at com.stratelia.silverpeas.peasCore.servlets.ComponentRequestRouter.doGet(ComponentRequestRouter.java:144)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
at com.stratelia.silverpeas.peasCore.servlets.SilverpeasHttpServlet.service(SilverpeasHttpServlet.java:49)
at com.stratelia.silverpeas.peasCore.servlets.SilverpeasAuthenticatedHttpServlet.service(SilverpeasAuthenticatedHttpServlet.java:81)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at com.silverpeas.whitePages.filters.ComponentRequestRouterFilter.doFilter(ComponentRequestRouterFilter.java:74)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at org.silverpeas.web.filter.MassiveWebSecurityFilter.doFilter(MassiveWebSecurityFilter.java:193)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at org.silverpeas.web.filter.InternetExplorerAntiCompatibilityFilter.doFilter(InternetExplorerAntiCompatibilityFilter.java:48)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at org.silverpeas.web.token.SessionSynchronizerTokenValidator.doFilter(SessionSynchronizerTokenValidator.java:103)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at org.silverpeas.web.filter.MessageFilter.doFilter(MessageFilter.java:74)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at org.silverpeas.web.filter.HttpServletRequestDecoration.doFilter(HttpServletRequestDecoration.java:60)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)
at java.lang.Thread.run(Thread.java:662)

Mis à jour par David Lesimple il y a plus de 5 ans

  • Priorité changé de Normal à High

Mis à jour par David Lesimple il y a plus de 5 ans

Marc Avenel a écrit :

En fait cette vue tâche, on ne doit pas l'utiliser pour nos tâche de workflow.
c'est bien cela ?

Tant que ce bug n'est pas corrigé, en effet, il est préférable de ne pas utiliser Mes Taches.

Mis à jour par Nicolas Eysseric il y a environ 5 ans

  • Sujet changé de Accès à une tache de workflow depuis la liste des mes taches de l'espace personnel à Accès à une tache de workflow depuis la liste de mes taches de l'espace personnel
  • Statut changé de Qualified à In progress...
  • Assigné à mis à Nicolas Eysseric
  • Version cible mis à Version 6.1

Mis à jour par Nicolas Eysseric il y a environ 5 ans

  • Statut changé de In progress... à Closed
  • % réalisé changé de 0 à 100

Il y avait en effet un problème lorsque le nom de l'état contient le caractère _.
De plus, dans le cas où une demande du workflow ne serait pas trouvée, un message user-friendly est désormais affiché.

Traité par commit https://github.com/Silverpeas/Silverpeas-Core/commit/d9fa2902862afd8798d6c2fe84936d67c1246f6e

Actions

Formats disponibles : Atom PDF