Assez rapidement, la solution retenue pour gérer les conflits lors des imports a été en fait de ne pas les gérer, et de laisser l'utilisateur s'en occuper.
L'idée était donc d'importer les objets dans un dossier Import, visible dans chaque outil impacté par l'import.
Ainsi donc, importer un fichier contenant cette hiérarchie :
Code : Tout sélectionner
[x] Contacts
[x] Perso
[x] Famille
Code : Tout sélectionner
[ ] Contacts
[ ] Perso
[ ] Famille
[ ] Amis
[ ] Divers
[ ] Pro
[ ] Société
[ ] Client A
Code : Tout sélectionner
[ ] Contacts
[x] Import
[x] Perso
[x] Famille
[ ] Perso
[ ] Famille
[ ] Amis
[ ] Divers
[ ] Pro
[ ] Société
[ ] Client A
Cette solution imposant un trop grand nombre de manipulations de la part de l'utilisateur, il y a un sérieux risque de non-utilisation, ce qui donnerait au final des développements inutiles. Un import plus pratique est donc à l'étude.
L'analyse des modes d'import en GT et du comportement d'une recopie de dossiers sous Windows a permis de lister un certain nombre de cas.
Vocabulaire :
- Un objet interne est un objet stocké en local.
- Un objet externe est un objet provenant du fichier d'export.
Règles :
- Un objet est recherchée par son Label (nom d'un Contact ou d'un groupe d'Identifiants, titre d'une Note, etc) et par le dossier qui le contient. Un objet qui aura été déplacé sera donc interprêté comme un nouvel objet. (La notion d'identifiant unique n'existe plus, elle créerait autant de problèmes qu'elle en résoudrait.)
- Si un objet candidat à l'import est trouvé en local, une comparaison de ses données est faite. Cette comparaison ne portera que sur les champs utilisateurs (cryptables) et non sur les Propriétés de l'objet. Un Contact qui est Ouvert en local mais Fermé dans le fichier d'export sera donc considéré comme identique.
Notes:
1 - Le nouvel objet est importé.
2 - Si les objets sont identique, l'objet externe n'est pas importé afin de conserver les propriétés de l'objet interne.
3 - Cette option a été abandonnée.
4 à 7 - Ce sera à l'utilisateur de choisir le mode d'import avant de lancer la procédure.
4 - Cette option correspond à un remplacement systématique.
5 et 6 - Ces options remplacent la fenêtre de confirmation que Windows affiche pour chaque conflit de fichier déplacé. Ce sera à l'utilisateur de choisir laquelle de ces deux options il préfère. Dans ces deux options, l'utilisateur devra manuellement comparer les objets après l'import et décider lequel garder et lequel effacer.
5 - L'objet sera importé dans le dossier cible où se trouve l'objet interne.
6 - L'objet sera importé dans un dossier Conflits avec son arborescence.
7 - Option disponible au cas où, mais ne semble pas utile à première vue.
8 - Option annulée. Si l'utilisateur veut faire un rempacement total de ses données, il devra d'abord procéder à une purge de toutes les données, puis importer un fichier.
9 - Ce sera donc le comportement par défaut dans ce cas.
Quant aux protections :
- L'état de protection des objets importés sera ignoré. (Ils seront de toute façon soit tous en clair soit tous cryptés dans le fichier).
- Les objets importés hériteront de l'état de protection du dossier dans lequel ils seront importés.