[V5-beta] Import de module et de user

J’avoue avoir du mal à cerner vos pbs d’import

Je viens de faire le test d’import d’un module en XML et en ZIP via l’IHM sur une 5.0.0-beta à jour et ça fonctionne.

Quand vous dites que l’import de module ne fonctionne plus via l’IHM vous faites quoi exactement ?

Quel est le contenu de votre fichier ZIP ? Est il correctement formaté (issu d’un export ou constitué manuellement ?) etc.

Je vois un comportement bizarre sur la popup de confirmation au 2ème import de module effectué via la UI, genre:


Est-ce de cela que vous parlez ?

@Francois ça te dit quelquechose ?

Si oui, le workaround en attendant qu’on comprenne ce pb c’est de faire un clear cache global.

NB: ce pb de popup se produit aussi en 5.1.0-alpha

Alors le zip est issu d’un export de notre intégration continue (et importé sans problème dedans également). Ce sont ceux que nous avions mis a disposition pour l’audit et que je vais vous refournir prochainement)
Le problème est produit uniquement quand je déploie en local sur mon post avec docker desktop sous W10.

Chose intéressante, je viens de retester par acquis de conscience avant de vous répondre et ça a fonctionné cette fois pour param_tech. Mais quand j’essaie d’importer les autres modules , j’ai de nouveau le problème a l’import. J’ai testé différents clear caches et j’ai toujours ce problème. Par contre pour le module que j’ai fini par reussi a importer, quand je le réimporte ça fonctionne toujours bien.

J’ai testé aussi de créer le module param, d’ajouter le fichier dedans et effectuer l’import → Erreur avec le log suivant (rien d’autre dans le console ou dans catalina)
20-Oct-2020 09:12:07.969 INFO [http-nio-8080-exec-6] org.apache.catalina.core.StandardWrapperValve.invoke 2020-10-20 09:12:07,943|SIMPLICITE|http://b31d307ce8e9:8080||ERROR|designer|com.simplicite.util.engine.Interface|importModule||Event: Module: xx_param: Missing XML, JSON or YAML file for module configuration

Le contenu de la popup un peu plus exploitable :
log erreur import.txt (8.9 KB)

Visiblement en V5 avoir rendu compatible ascendant les param String dans les actions fait plus de mal que de bien. L’action se retrouve avoir des attributs de confirmation en trop (objet, inst, row_id… qui sont dans les paramètres ajax)

Il va falloir améliorer ce point pour retirer les champs techniques ou revenir en arrière.

Le message “Missing XML, JSON or YAML file for module configuration” indique à priori que le fichier n’est pas correctement structuré (ex: pas de fichier XML à la racine du ZIP).

Envoyez moi ce fichier qui ne s’importe pas

J’avoue ne jamais avoir fait testé Simplicité avec docker sous windows mais je ne vois pas de raison pour que ça se comporte différemment : ce qui se passe dans le container est sensé être totalement indépendant du host (sauf bien sûr si vous montez des répertoires/volumes en surcharge de l’arborescence du container)

Visiblement les autres zip on l’air corrompu. Je vais identifier pourquoi le zip n’est pas correct.

@Francois

En fait le message de confirmation disparait au profit de ce row ID (?) en read only. A la 1ère utilisation de ce bouton d’import module (après un clear cache) la popup de confirmation est nomale. Cette popup bizarre apparait à partir de la 2ème utilisation…

Visiblement, c’est le curl de windows qui pose probleme de manière aléatoire, car les zip dans le repo sont corrects. Le problème se situe de notre coté donc…

Je m’en sert parfois d’un curl sous Windows vs des instances Simplicité de dev locales (pas dans un container Docker) et je n’ai jamais remarqué de pb, voici la version de curl que j’utilise:

> curl --version
curl 7.65.1 (x86_64-pc-win32) libcurl/7.65.1 OpenSSL/1.1.1c (Schannel) zlib/1.2.11 brotli/1.0.7 WinIDN libssh2/1.9.0 nghttp2/1.39.1
Release-Date: 2019-06-05
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile MultiSSL NTLM SPNEGO SSL SSPI TLS-SRP brotli libz

Ca ne devrait plus se produire :

  • les paramètres techniques (action, object, inst, row_id…) sont maintenant ignorés dans la compatibilité ascendante des paramètres String d’une action
  • les autres paramètres String (non déclarés comme attribut de l’action), sont ajoutés dynamiquement à l’action en forçant les propriétés forbidden (pour ne pas polluer la UI) et facultatif (pour ne pas bloquer la confirmation).
  • L’objectif initial était d’appeler une action en ajax avec des paramètres String inconnus du back (comme en V4)

Dites moi, si vous avez encore des choses bizarres sur vos actions.

Sauf erreur de ma part, sur les actions je crois que tout est en ordre @wchoumi @adrien-olivier, vous confirmez ?

Je confirme que les actions fonctionnent

Pour info la correction du pb qui impactait la popup de l’action d’import module a été poussée sur les branches & images Docker V5 dès ce midi.

N’hésitez pas à vous mettre à jour avant de vérifier si d’autres actions n’ont pas de comportements bizarres