Closed pnrfo closed 3 years ago
Quelle version du module ? Et de GeoNature ?
Salut Camille,
Quelle version du module ? Et de GeoNature ?
On a installé le module en RC sur Geonature 2.4.1
OK, à quel moment apparait ce message ? Et si tu peux nous partager le fichier, ou un extrait ?
Les étapes de l'import du jeux de donnée dans le module d'import :
2- Correspondance des champs : 39 champs automatiquement associés - 15 à associer (jusque là OK)
3- Correspondance des nomenclature > Nomenclatures SINP (labels) : 52 champs automatiques associés - 0 restant
4- Import des données : internal server error
=> les captures d'écran et le fichiers
Bonjour,
Merci pour ces fichiers! Quel est l'id_role de l'utilisateur quentin mazet?
Salut ! Mon profil est dans le Grp_admin de UsersHub Application "UsersHub" : Administrateur (code 6) Application "TaxHub" : Administrateur (code 6) Application "GeoNature" : Administrateur (code 6)
D'accord, merci pour ces précisions.
Dans la table utilisateurs.t_roles, quel est l'id_role de Quentin Mazet ? c'est surprenant que cet id ne soit pas un integer valide d'après le module...
Autre point qui m'étonne :
Application "GeoNature" : Administrateur (code 6)
Normalement on ne peut appliquer que le profil "Lecteur" à l'application GeoNature.
Dans la table utilisateurs.t_roles, quel est l'id_role de Quentin Mazet ? c'est surprenant que cet id ne soit pas un integer valide d'après le module...
Un copie de la table : "groupe" => false, "id_role" => 10, "uuid_role" => "922f4755-1a5b-4b2e-957b-f492688a95fc", "identifiant" => "sig", "nom_role" => "MAZET", "prenom_role" => "Quentin", "desc_role" => "", "pass" => null, "pass_plus" => "$2b$12$c5whBfMqfSGKHLjQ6elgs.yPPu3YjI3xCjCKdrdISksXLRDA1Nv6i", "email" => "sig@pnrfo.org", "id_organisme" => 2, "remarques" => "", "active" => true, "champs_addi" => null, "date_insert" => "2020-08-20T06:24:24.577Z", "date_update" => "2020-08-20T06:24:24.577Z"
Merci pour ces infos... Du coup, j'ai un peu du mal à trouver un soucis évident comme ça.
D'après ce que je vois dans le code en cherchant son nom, le champ "observateurIdentite" semble essentiellement utilisée pour le depobio ( gn_module_import/data/depobio_mapping_data.sql ) et ne devrait donc pas être généré dans votre installation classique. Avez vous utilisé ce script lors de l'installation par exemple, ce qui aurait pu générer des champs qui ne devraient pas être là ?
A moins qu'il ne s'agisse du champs observateur, mais dans ce cas il n'attend pas un id, mais bien une info textuelle... ce qui ne devrait donc pas vous retourner d'erreurs.
Là visiblement, le module tente d'importer des noms (probablement en texte) vers un champs integer donc ni le format ni le contenu ne collent à ce qui est attendu : il ne s'agit ni d'un integer ni d'une info présente dans le référentiel utilisateurs...
Si vous voulez qu'on échange de vive voix pour connaitre votre mapping, les logs, votre installation etc, n'hésitez pas à me joindre, mes numéros sont en entête du site du pôle invertébrés https://www.pole-invertebres.fr
Je viens de regarder, c'est dans le fichier source qu'il tente d'intégrer qu'il y a le champs "observateuridentite". Et le message semble indiquer que vous tenter d'insérer le contenu de ce champs (des noms d'observateurs en texte) dans un champs qui attend des entiers...
Vous avez faire correspondre ce champs "observateuridentite" du fichier source, vers quel champs de destination de la synthèse ? Eventuellement, par votre mapping des champs que l'on y voit plus clair ?
Pour l'autre soucis du id_role, je ne vois pas d'où ça peut venir et si c'est le même soucis, ou complètement autre chose...
C'est le même champs qui est concerné, et je pense que les deux sont liés... comme on ne lui transmet pas un integer valide, forcement l'info qu'il reçoit n'est pas dans le référentiel.... merci pour ton coup d'oeil je cherchais dans les champs cible et pas dans les champs source...
Merci pour votre aide ! C'est George MOON qui a procédé à l'installation. On a installé Geonature 2 avec le module d'import en RC #150
Vous avez faire correspondre ce champs "observateuridentite" du fichier source, vers quel champs de destination de la synthèse ? Eventuellement, par votre mapping des champs que l'on y voit plus clair ?
"id_match_fields" => 177, "id_mapping" => 10, "source_field" => "observateuridentite", "target_field" => "id_digitiser", "is_selected" => true, "is_added" => false
"id_match_fields" => 203, "id_mapping" => 10, "source_field" => "observateuridentite", "target_field" => "determiner", "is_selected" => true, "is_added" => false
"id_match_fields" => 213, "id_mapping" => 10, "source_field" => "observateuridentite", "target_field" => "validator", "is_selected" => true, "is_added" => false
"id_match_fields" => 217, "id_mapping" => 10, "source_field" => "observateuridentite", "target_field" => "observers", "is_selected" => true, "is_added" => false
Les champs "determiner", "validator" et "observers" sont en "character varying(1000)" et le le champ 'id_digitizer" est en "integer"
Ci joint le log d'erreur : log.txt
OK donc le soucis est normal. Vous essayez de faire rentrer un champs dans le contenu texte (observateuridentite) dans un champs de type entier (id_digitizer) donc cela ne peut pas fonctionner.
Il y a 2 soucis en un @camillemonchicourt à priori.
Le premier retourné par l'interface est bien celui que tu évoques, donc en effet @pnrfo voulait rentrer des données texte dans un champs qui attends un id. Ca c'est un soucis de mapping et pas du module, cependant il faut clarifier le nom du champs : actuellement, c'est "Auteur de la saisie", rien ne permet à l'utilisateur de savoir qu'on attend un id. A mon avis, il faut le renommer "Identifiant de l'auteur de la saisie", voire même le masquer par défaut... Je peux le rectifier si ces changements vous conviennent. Sur ce point, ça ne devrait pas renvoyer une erreur bloquante à mon avis, il faudrait laisser vide ce champs quand rien ne matche mais pas bloquer l'import... à voir dans les améliorations futures.
Le second soucis c'est que même en retirant ce champs du mapping, il reste quand même une erreur interne, sur laquelle le module ne renvoie aucune info en interface. Les logs indiquent : Exception on /import/data_checker/25/field_mapping/1/contentmapping/2 raise AttributeError("Can only use .str accessor with string " AttributeError: Can only use .str accessor with string values, which use np.object dtype in pandas
Field mapping 1 c'est celui de la synthèse par défaut, Content mapping 2, c'est le mapping par défaut avec les labels nomenclatures en principe, donc il doit y avoir un soucis de transformation des données, ça c'est plutôt un boulot pour @TheoLechemia
Ouais renseigner un id_digitizer
lors d'un import c'est pas forcément courant, ou du moins il faut bien maitriser GN.
Du coup je suis pour renommer le champs de destination, et le masquer par défaut.
Merci de votre appui sur le support ;). En effet vous avez bien identifier le problème. Je regarde dans la semaine prochaine le problème que Donovan a identifié.
Bonjour,
Le lien du fichier a expiré. Pouvez-vous nous renvoyer un lien ?
Bonjour, voici le lien : https://fromsmash.com/fichiers-159
Merci, j'ai pu identifié le bug. Le fait de remplir la colonne "preuve digital" avec des valeurs null ou vide posait un problème. C'est corrigé.
Après plusieurs essais d'import d'un jeux de données au format SINP :
Erreur de référentiel observateuridentite id_digitizer n'existe pas dans la table "t_roles"
Je viens de vérifier et l'auteur de la saisie sur mon jeux de données fait partie des utilisateurs de la base dans "t_roles"...