Problème comparaison avec un référentiel "instance distante"

Problem description

Bonjour,

Nous avons identifié un problème lors du “remote push patch” (après sélection de l’option “push to remote”) depuis une comparaison avec un réfétentiel “instance distante”. En effet, nous avions besoin de push une modification concernant une liste de valeur telle que :
Création d’une nouvelle valeur dans la liste de valeur (ENUM) et ajout, pour se code, de traductions associées. Après analyse du problème, on a constaté que l’erreur provenait de l’encodage du champs lov_display qui est un champ de type ENUM (voir logs d’erreur). Celui ci semble, lors du push, garder une partie de l’encodage, ce qui bloque le push et déclenche une erreur : ERROR [] Validation error: [ERR_ENUM:Affichage en liste#ERROR#lov_display]. Cette erreur entraine la non création du code, et entraine donc des erreurs en cascade lors de la tentation de création des traductions de la nouvelle valeur de liste.

Nous avons tenté de reproduire ce cas en apportant des modifications sur une valeur de liste déjà existante. Tant que la modification ne concerne pas un champ de type ENUM, pas d’erreur. Si un des champs modifiés est de type ENUM, erreur reproduite.

Logs

2022-07-06 11:25:21,158 ERROR [] Validation error: [ERR_REQUIRED:Code#ERROR#lov_code_id]
    
2022-07-06 11:25:21,158 INFO [] Action: insert
2022-07-06 11:25:21,158 WARN [] REF_NOT_FOUND: Unable to find reference lov_code_id of object FieldListValue
2022-07-06 11:25:21,158 INFO [] New record key row_id
2022-07-06 11:25:21,136 INFO [] Found field lov_code_id.lov_code = [8]
2022-07-06 11:25:21,136 INFO [] Found field lov_code_id.lov_list_id.lov_name = [EAPM_PROGRAMMING_LANGUAGE]
2022-07-06 11:25:21,136 INFO [] Found field lov_value = [8]
2022-07-06 11:25:21,136 INFO [] Found field row_module_id.mdl_name = [BCSICollect_eAPM]
2022-07-06 11:25:21,136 INFO [] Found field lov_lang = [FRA]
2022-07-06 11:25:21,134 INFO [] Start import object FieldListValue:
2022-07-06 11:25:21,158|SIMPLICITE|ERROR||http://074cf1e6710e:8080||ECOREIO001|p112422|com.simplicite.util.integration.SAXImportXML|importObject||Erreur I/O: Import object FieldListValue, status = KO
2022-07-06 11:25:21,108 ERROR [] Validation error: [ERR_REQUIRED:Code#ERROR#lov_code_id]
    
2022-07-06 11:25:21,108 INFO [] Action: insert
2022-07-06 11:25:21,108 WARN [] REF_NOT_FOUND: Unable to find reference lov_code_id of object FieldListValue
2022-07-06 11:25:21,108 INFO [] New record key row_id
2022-07-06 11:25:21,097 INFO [] Found field lov_code_id.lov_code = [8]
2022-07-06 11:25:21,097 INFO [] Found field lov_code_id.lov_list_id.lov_name = [EAPM_PROGRAMMING_LANGUAGE]
2022-07-06 11:25:21,097 INFO [] Found field lov_value = [8]
2022-07-06 11:25:21,097 INFO [] Found field row_module_id.mdl_name = [BCSICollect_eAPM]
2022-07-06 11:25:21,097 INFO [] Found field lov_lang = [ENU]
2022-07-06 11:25:21,096 INFO [] Start import object FieldListValue:
2022-07-06 11:25:21,108|SIMPLICITE|ERROR||http://074cf1e6710e:8080||ECOREIO001|p112422|com.simplicite.util.integration.SAXImportXML|importObject||Erreur I/O: Import object FieldListValue, status = KO
2022-07-06 11:25:21,080 ERROR [] Validation error: [ERR_ENUM:Affichage en liste#ERROR#lov_display]
    
2022-07-06 11:25:21,080 INFO [] Action: insert
2022-07-06 11:25:21,080 INFO [] New record key row_id
2022-07-06 11:25:21,067 INFO [] Found field lov_icon = []
2022-07-06 11:25:21,067 INFO [] Found field lov_code = [8]
2022-07-06 11:25:21,067 INFO [] Found field lov_order_by = [9]
2022-07-06 11:25:21,067 INFO [] Found field lov_display = [["L"]]
2022-07-06 11:25:21,067 INFO [] Found field lov_list_id.lov_name = [EAPM_PROGRAMMING_LANGUAGE]
2022-07-06 11:25:21,067 INFO [] Found field lov_label = [Test]
2022-07-06 11:25:21,067 INFO [] Found field lov_color = []
2022-07-06 11:25:21,067 INFO [] Found field lov_color_bg = []
2022-07-06 11:25:21,067 INFO [] Found field row_module_id.mdl_name = [BCSICollect_eAPM]
2022-07-06 11:25:21,067 INFO [] Start import object FieldListCode:
2022-07-06 11:25:21,080|SIMPLICITE|ERROR||http://074cf1e6710e:8080||ECOREIO001|p112422|com.simplicite.util.integration.SAXImportXML|importObject||Erreur I/O: Import object FieldListCode, status = KO
2022-07-06 11:25:20,935|SIMPLICITE|INFO||http://074cf1e6710e:8080||ICOREIO001|p112422|com.simplicite.util.engine.Interface|importData||Information I/O: Start scanning data, origin: I/O XML import file0
2022-07-06 11:25:20,868|SIMPLICITE|INFO||http://074cf1e6710e:8080||INFO|p112422|com.simplicite.webapp.servlets.IOServlet|doPost||Evénement: I/O service IMPORTXML source=file0...

Steps to reproduce

Sur l’environnment A

  1. Création d’une nouvelle valeur de liste .
  2. Création de traductions de la valeur nouvellement créée .
  3. Comparaison avec un référentiel “instance distante” = [Environnement B].
  4. Sélection de l’option “Push to remote” sur les nouveautés (nouvelle valeur de liste et traductions associées)
  5. Clique sur “remote push patch”
  6. On constate l’erreur : Status : KO
  7. Logs d’erreur présentent sur l’environnement B

Autres cas identifiés

Comportement similaire concernant la création de contrainte et d’impacts associés.

Merci de systématiquement nous indiquer les versions exactes de chaque instance en question.

Et quel format d’export Git utilisez vous (XML ou JSON ?, single file ou exploded ?)

En fonction, ça pourrait peut être être en lien avec ce defect (corrigé en 5.2.9): https://community.simplicite.io/t/push-patch-to-remote-ko-lors-de-la-comparaison-de-module-instance-distante-divers-cas

Vu en interne, il y avait un pb avec les enum multiples dans le cas d’une conversion depuis un format JSON.

Si cela correspond à votre cas ce sera corrigé dans la version 5.2.10 qui sera releasée d’ici la fin de la semaine.

1 Like

Effectivement, il s’agissait de la dernière version 5.2.9