Page 1 sur 1
Mar 10/12/2013 - Actualités
Posté : mar. 10 déc. 2013 15:08
par Xavier
Mar 10/12/2013 - Actualités
La transaction de correction des données est fonctionnelle, elle réattribue un nouvel identifiant aux objets qui ont été copiés avec l'identifiant de l'objet source.
Elle est accessible dans la
Console de la prochaine version, via un bouton en bas à gauche.
Résultat après copie de quelques données :
FixUIDs.png
La durée est vraiment
mais le résultat est correct.
Mar 10/12/2013 - Actualités
Posté : mar. 10 déc. 2013 17:06
par Xavier
Correction de l'ano P1
Le bug est corrigé, désormais le service qui copie des objets attribue un nouvel identifiant à l'objet copié si celui-ci est de type UID (ressemblant à "D44A94FC62EE4CB684D6B95952CBA7F2").
Une version Beta avec la correction du bug ainsi que la transaction de reprise des données sera disponible dans la soirée.
Mar 10/12/2013 - Actualités
Posté : mar. 10 déc. 2013 20:28
par Xavier
Ano P1
La correction de bas niveau qui consiste à attribuer un nouvel identifiant aux objets copiés entraîne une méchante régression du côté de l'import, car celui-ci constitue un arbre de données temporaire avant de le ... copier dans l'arbre principal, avec comme résultat une duplication systématique de toutes les données importées due aux identifiants différents.
Il va donc falloir coder la ré-attribution d'identifiant à un niveau plus élevé, c'est à dire dans les fonctions de copier/coller de chaque outil concerné. Ce qui va poser problème, car l'opération de collage effectue elle-même une copie du
Buffer, et qu'à ce stade-là il n'est plus possible de savoir si les données dans le
Buffer proviennent d'une copie ou d'une coupe, et donc s'il faut ou non attribuer un nouvel identifiant.
-> Pour le moment il est donc recommandé de
ne pas copier de données, et si cela a été fait, de
ne pas importer de fichier XTX (exporté depsuis XT4). Il n'y a aucun problème à réaliser des couper/coller ou déplacements par drag-and-drop.
Mar 10/12/2013 - Actualités
Posté : mar. 10 déc. 2013 22:40
par Xavier
Fix #2
La ré-attribution des identifiants de type UID a finalement été greffée précisément (chirurgicalement) là où elle devait l'être :
- Lors d'une copie, les données qui ont été copiées dans le Buffer sont renumérotées. Tant pis si elles ne sont jamais collées.
- Lors d'un collage, les données copiées dans le dossier de destination à partir du Buffer sont épargnées, par contre les données du Buffer, qui peuvent resservir si un second collage est demandé, sont renumérotées en prévision. Si elles proviennent d'un copie, c'est donc leur seconde renumérotation.
Grâce à ces greffes, un couper/coller et un déplacemant par drag-and-drop parviennent à se faufiler et esquivent ces renumérotations, les objets ainsi déplacés gardent leur identifiant originaux.
Ces corrections ont été effectuées dans les opérations de copie et de collage des dossiers (arbre) et des données (listes) dans le
Gestionnaire de commandes, les
Contacts, les
Identifiants,
Copier-coller, le
Bloc-notes et l'
Agenda. La greffe pour ce dernier a été plus délicate, car il y avait déjà un système de renumérotation servant à "détacher" les événements récursifs de leur dossier d'origine. Fonction qu'il faudra tester sérieusement, car à priori peu sûre.
Les tests unitaires sont satisfaisants, l'import fusionne à nouveau bien au lieu de dupliquer, les données copiées ont leur identifiant à eux, et la transaction de reprise ne trouve rien de suspect.
Cette version sera livrée demain soir si aucune autre régression n'est trouvée dans la journée.
Re: Mar 10/12/2013 - Actualités
Posté : mar. 10 déc. 2013 23:48
par Denis
On s'amuse bien, on dirait...