Anomalie #1859
fermé[Export] Logical Name pas assez aléatoire
100%
Utiliser la fonction uniqid de PHP au lieu de l'id du document comme suffixe.
Il faut conserver une table de correspondance durant l'exportation.
De plus il est surtout nécessaire lors de l'importation de ne pas concerver ces noms logiques qui ont été généré.
Il faut donc définir une notation permettant d'indiquer que qu'ils ne doivent pas être conservés.
Description
Lors de l'export, quand des documents liés entre eux sont exportés ceux-ci sont nommés de la manière suivante :
FAMILIYNAME-IDDUDOCUMENT
Or lorsqu'on crée des documents qu'on va exporter, c'est souvent sur une plateforme fraîchement installée donc les id oscillent autour de 1000 et 1200 et les types de documents exportés sont souvent les mêmes (PDOC, MASK, PFAM, IUSER).
Les risques lorsque l'on travaille à plusieurs, où lorsqu'on importe des documents provenant de projet différents d'ajout de deux documents différents ayant même identifiants sont assez élevés.
Mis à jour par Marc Claverie il y a plus de 14 ans
- Statut changé de Nouveau à Pris en compte
Mis à jour par Éric Brison il y a plus de 14 ans
- Version cible changé de 3.1.1 à 3.2 sprint 1
Mis à jour par Éric Brison il y a plus de 14 ans
- Version cible changé de 3.2 sprint 1 à 3.2 rx
Mis à jour par Marc Claverie il y a plus de 14 ans
- les id sont générés si nécessaire dans la base source (uniqid)
- l'import permet de préciser si les id générés sont conservés ou pas dans la base cible
Mis à jour par Marc Claverie il y a plus de 14 ans
- Version cible changé de 3.2 rx à 3.2 sprint 3
Mis à jour par Jérôme Augé il y a environ 14 ans
Class.Doc.php:setLogicalName() utilise une regex plus restrictive que CheckDoc.php:checkName() pour vérifier que le nom logique est correct.
Mis à jour par Charles Bonnissent il y a environ 14 ans
La correction mise en place ne tient pas compte de l'ensemble de la discussion autour du problème. Voir le commentaire http://dev.dynacase.org/issues/1859#note-9
Mis à jour par Charles Bonnissent il y a environ 14 ans
Si la solution actuelle est conservée, il faut aussi éditer la doc pour préciser qu'un nom logique ne doit pas commencer par temporary_
Mis à jour par Jérôme Augé il y a environ 14 ans
- Statut changé de Pris en compte à Intégré
Appliqué par commit commit:639a90b3afbbbfe064a9a8b1b78e09a4c487a0ae.