lodex icon indicating copy to clipboard operation
lodex copied to clipboard

l'annulation de l'import d'un nouveau fichier dans un corpus existant engendre la suppression de toutes les données.

Open AnaelKremer opened this issue 1 year ago • 1 comments

Si l'on souhaite réaliser de nouveaux imports de fichiers dans un corpus déjà existant, et si par erreur on se trompe de fichier par exemple et que l'on souhaite annuler l'import pendant la phase de chargement, ou si ce dernier échoue pour une quelconque raison, alors l'annulation engendre la suppression de toutes les données de l'instance.

Serait-il possible de corriger le code pour qu'en cas d'annulation on retrouve notre instance telle quelle avant annulation du dernier import ?

Mais cela n'est peut être pas si simple, par exemple si le dernier import est sensé écraser des données déjà présentes donc avec le même uri mais des propriétés différentes...

AnaelKremer avatar Sep 13 '24 12:09 AnaelKremer

lodex fonctionne comme cela, si il recoit une demande d'annulation il vide la base: https://github.com/Inist-CNRS/lodex/blob/master/src/api/workers/import.js#L58-L60

Et effectivement, ce n'est pas simple car si on pourrait retrouver les nouveaux documents, comme restaurer les documents modifiés par une mise à jour via le même identifiant.

La solution la plus propre serait gérer une transaction (comme pour les BDD classiques) mais avec mongodb ce fonctionnement n'est pas si simple à mettre en place, à étudier

touv avatar Sep 13 '24 14:09 touv

Carte à estimer avant de prioriser

Lors de l'import de nouvelles données, cela doit fusionner Les lignes qui ont le même identifiants doit être fusionnées

Option 1 : Supprimer uniquement ce qui a été importé mais que fait-on des lignes fusionnées ? Option 2 : Stopper l'import au moment de l'annulation et laisser les données dans l'état (on conserve ce qui a été importé)

Alexmarmelab avatar Oct 24 '24 12:10 Alexmarmelab