Projet

Général

Profil

Actions

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.

Statut:
Re-opened
Priorité:
High
Assigné à:
Catégorie:
Workflow
Version cible:
-
Début:
15/05/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

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

erreurWF (22,3 ko) erreurWF David Lesimple, 15/05/2018 16:50
index.png (9,01 ko) index.png David Lesimple, 30/05/2018 11:56

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.1 supprimé
Actions

Formats disponibles : Atom PDF