Bug #9798
ouvert[Oracle] Erreur lors du changement d'état d'une instance en brouillon
Ajouté par David Lesimple il y a plus de 6 ans. Mis à jour il y a environ 6 ans.
100%
Description
Quand la fonctionnalité de brouillon est activée sur un Workflow, une erreur survient à la validation du formulaire
lorsqu'on veut reprendre "l'action en cours"
La même action sans enregistrer en brouillon se passe correctement.
Fichiers
Mis à jour par Nicolas Eysseric il y a plus de 6 ans
- Sujet changé de Erreur lors du changement d'état d'une instance en boruillon à Erreur lors du changement d'état d'une instance en brouillon
- Statut changé de New à In progress...
- Assigné à mis à Nicolas Eysseric
- Version cible mis à Version 6.0.1
Après quelques tests, c'est l'action Enregistrer le brouillon qui pose problème, non ?
Mis à jour par David Lesimple il y a plus de 6 ans
En effet, il semble que le sauvegarde en brouillon soit incomplète: le statut "action à terminer" est pris en compte mais l'enregistrement du formulaire s'est mal passé.
D'où le pb sur la suite.
Mis à jour par Nicolas Eysseric il y a plus de 6 ans
- % réalisé changé de 0 à 100
Pour activer le mode Brouillon sur les demandes, il faut ajouter cela dans le xmlComponent et l'activer dans le back office :
<parameter>
<name>saveButtonEnabled</name>
<label>
<message lang="fr">Brouillon</message>
<message lang="en">Draft</message>
</label>
<order>4</order>
<mandatory>true</mandatory>
<value>no</value>
<type>checkbox</type>
<updatable>always</updatable>
<help>
<message lang="fr">Brouillon</message>
<message lang="en">Draft</message>
</help>
</parameter>
Traité par PR : https://github.com/Silverpeas/Silverpeas-Core/pull/903
Mis à jour par Nicolas Eysseric il y a plus de 6 ans
- Statut changé de In progress... à Resolved
Mis à jour par Yohann Chastagnier il y a plus de 6 ans
- Statut changé de Resolved à Integration in progress...
Mis à jour par Yohann Chastagnier il y a plus de 6 ans
- Statut changé de Integration in progress... à Closed
Validé et intégré en 6.0.x et 6.x
Mis à jour par David Lesimple il y a plus de 6 ans
Je réouvre le ticket car si l'instance n'a pas encore d'état (création) et qu'on enregistre en brouillon, on ne peut plus la reprendre ensuite (voir PJ).
Si l'instance a déja un état, pas de problème, la reprise après brouillon est fonctionnelle.
Mis à jour par Yohann Chastagnier il y a plus de 6 ans
Je n'ai pas observé ce problème sur le WF demande de congés.
Est-ce que tu es certain de bien être sur la dernière version construite de Silverpeas (exceptionnellement du 28 au lieu du 27) qui est aujourd'hui la seule qui inclue ce correctif ?
Mis à jour par David Lesimple il y a plus de 6 ans
Yohann Chastagnier a écrit :
Je n'ai pas observé ce problème sur le WF demande de congés.
Est-ce que tu es certain de bien être sur la dernière version construite de Silverpeas (exceptionnellement du 28 au lieu du 27) qui est aujourd'hui la seule qui inclue ce correctif ?
oui..
Mis à jour par David Lesimple il y a plus de 6 ans
Je ne le reproduis pas en local, c'est surement contextuel.
Mis à jour par David Lesimple il y a plus de 6 ans
A WF identique et version de Silverpeas identique, je ne reproduis pas en local, mais je le reproduis sur le SP du client (sous Oracle, une piste ?) que ce soit
avec la demande de congés ou sur le WF du client.
Mis à jour par Nicolas Eysseric il y a plus de 6 ans
Vu la correction, je ne pense pas que ça vienne de la base de données : https://github.com/Silverpeas/Silverpeas-Core/commit/7df19fb650a118ed7657ae0b4b85f9a51a052074
Est-ce qu'il y a des erreurs ?
Mis à jour par David Lesimple il y a plus de 6 ans
Nicolas Eysseric a écrit :
Vu la correction, je ne pense pas que ça vienne de la base de données : https://github.com/Silverpeas/Silverpeas-Core/commit/7df19fb650a118ed7657ae0b4b85f9a51a052074
Est-ce qu'il y a des erreurs ?
non rien. aucune erreur.
Mis à jour par Nicolas Eysseric il y a plus de 6 ans
- Version cible changé de Version 6.0.1 à Version 6.1
Mis à jour par David Lesimple il y a plus de 6 ans
- Votre version de Silverpeas changé de 6.0 à 6.1-x
Problème confirmé sur build-180613.
WF en debug, aucune erreur :
10:02:09,455 INFO [silverpeas.core.workflow.engine] (default task-24) Add task saved request: org.silverpeas.core.workflow.engine.TaskSavedRequest@3e841d3c
Mis à jour par David Lesimple il y a plus de 6 ans
Je pense avoir trouvé d'où vient le problème:
Sous Postgresql, la colonne state est NOT NULL dans les tables SB_Workflow_InterestedUser, SB_Workflow_WorkingUser et SB_Workflow_LockingUser
alors que sous Oracle cette colonne est NULLABLE.
Il y a donc des valeurs null pour state au lieu de '' qui doivent provoquer le problème sour Oracle.
Mis à jour par David Lesimple il y a plus de 6 ans
Avec la colonne state not null et des valeurs NULL remplacées par des '' dans les instances de Workflow, il est possible de reprendre une instance qui vient d'être créee.
Les scripts SQL d'Oracle concernant la colonne state doivent être corrigés pour être homogène avec ceux de Postgresql.
Mis à jour par Nicolas Eysseric il y a environ 6 ans
- Sujet changé de Erreur lors du changement d'état d'une instance en brouillon à [Oracle] Erreur lors du changement d'état d'une instance en brouillon
- Version cible
Version 6.1supprimé