Bug #3780
closedImport csv d'utilisateurs : Limitation de longeur du champs adresse
100%
Description
Bonjour,
Lors de l'import d'un fichier csv contenant des utilisateurs à créer, l'import bloque lorsque la longueur du champs adresse dépasse 50 caractères. J'obtiens le message suivant :
@Le fichier CSV est non conforme à ce qui est attendu :
- Ligne = 6, Colonne = 14, Valeur = XXXXXXXXXXXXX, La valeur ne doit pas dépasser 50 caractères@
Pourtant le champs de la base de données peut contenir 500 caractères. S'agit-il d'un paramétrage à modifier?
Updated by David Lesimple over 12 years ago
- Status changed from New to Feedback
Quel base de données utilisez-vous ? car sur Postgres, le champ adresse est bien limitée à 50 caractères.
Updated by Mathis FIBLEUIL over 12 years ago
Nous utilisons Postgres 9.1. La structure de la table domainsp_user me fait penser que la limite est de 500 caractères.
-- Table: domainsp_user
-- DROP TABLE domainsp_user;
CREATE TABLE domainsp_user
(
id integer NOT NULL,
firstname character varying(100),
lastname character varying(100) NOT NULL,
phone character varying(20),
homephone character varying(20),
cellphone character varying(20),
fax character varying(20),
address character varying(500),
title character varying(100),
company character varying(100),
"position" character varying(100),
boss character varying(100),
login character varying(50) NOT NULL,
password character varying(32),
passwordvalid character(1) NOT NULL DEFAULT 'Y'::bpchar,
loginmail character varying(100),
email character varying(100),
CONSTRAINT pk_domainsp_user PRIMARY KEY (id ),
CONSTRAINT un_domainsp_user_1 UNIQUE (login )
)
Updated by David Lesimple over 12 years ago
- Tracker changed from Support to Bug
- Category set to Administration
- Votre base de données set to PostgreSQL
elle est bien de 500 dans la table domainsp_user mais de 50 dans les tables domainXXX_user crées pour d'autres domaines SQL.
Il y a bien un incohérence.
Updated by Stéphanie Fariello over 12 years ago
- Status changed from Feedback to Qualified
Updated by Nicolas Eysseric almost 12 years ago
- Status changed from Qualified to Assigned
- Assignee set to Yohann Chastagnier
- Target version set to Version 5.13
Updated by Yohann Chastagnier almost 12 years ago
- Status changed from Assigned to In progress...
Updated by Nicolas Eysseric almost 12 years ago
Dans tous les cas, le champ adresse doit être de 500 caractères.
Lors de la création/modification, cette limite doit être utilisée.
Afin d'être générique, je pense qu'il serait également intéressant d'ajouter un nouveau paramètre optionnel sur chaque champ : property_XX.MaxLength
Il permettrait de pouvoir aller plus loin dans la personnalisation. S'il n'est pas renseigné et/ou absent, la valeur par défaut actuelle est alors utilisée.
Dans le cas où MaxLength > 100, le champ devrait être présenté grâce à un textarea.
Ces modifications n’entraîneront pas de modifications des tables existantes.
Si besoin, elles seront modifiées manuellement...
Updated by Yohann Chastagnier almost 12 years ago
- Status changed from In progress... to Resolved
- Target version changed from Version 5.13 to Version 5.12.2
- % Done changed from 0 to 100
Pour rappel, les modifications ci-dessous décrites n’entraînent pas de modifications des tables existantes.
La proposition de Nicolas a été mise en place : un nouveau paramètre optionnel property_XX.MaxLength est géré sur chaque champ.Il permet de définir la taille maximum en nombre de caractères que peut avoir une information complémentaire d'un utilisateur. Il est utilisé lors :
- de la création d'un domaine pour la définition des tables dans la base de données
- de l'affichage des informations complémentaires dans le profil d'un utilisateur (en mode modification)
- de l'affichage des informations complémentaires dans la fiche de modification d'un utilisateur dans la partie administration
- de l'import des utilisateurs via un fichier d'import au format csv
Si ce paramètre n'est pas défini, la taille maximum est de 50 (cas de tous les domaines SQL créés avant la mise à jour de Silverpeas qui contient cette correction).
Par défaut, la partie du fichier de propriétés des domaines SQL qui définie les informations complémentaires d'un utilisateur se présente de la manière suivante :
property_1.Name = title property_1.Type = STRING property_1.MapParameter = title property_1.MaxLength = 100 property_2.Name = company property_2.Type = STRING property_2.MapParameter = company property_2.MaxLength = 100 property_3.Name = position property_3.Type = STRING property_3.MapParameter = position property_3.MaxLength = 100 property_4.Name = boss property_4.Type = USERID property_4.MapParameter = boss property_4.MaxLength = 100 property_5.Name = phone property_5.Type = STRING property_5.MapParameter = phone property_5.MaxLength = 20 property_6.Name = homePhone property_6.Type = STRING property_6.MapParameter = homePhone property_6.MaxLength = 20 property_7.Name = fax property_7.Type = STRING property_7.MapParameter = fax property_7.MaxLength = 20 property_8.Name = cellularPhone property_8.Type = STRING property_8.MapParameter = cellPhone property_8.MaxLength = 20 property_9.Name = address property_9.Type = STRING property_9.MapParameter = address property_9.MaxLength = 500
L'affichage des informations d'un utilisateur dans la partie administrative a été modifiée afin de présenter séparément celles principales de celles complémentaires.
Aussi, au niveau de l'import CSV, la valeur reportée dans un message d'erreur est tronquée au delà de 100 caractères.
Updated by Nicolas Eysseric almost 12 years ago
- Status changed from Resolved to Closed
- Priority changed from Low to Normal
Validé et intégré.