Au sujet de la mise en conformité de l'export/import gedcom d'Ancestrologie, je disais l'autre jour que lorsqu'on n'avait pas de pelleteuse, on pouvait déplacer un tas de terre (le sable serait plus approprié en cette saison), avec une pelle. Sur le même sujet, j'ajouterai aujourd'hui que si on ne peut pas franchir un mur, on peut essayer d'en faire le tour.
Beaucoup d'utilisateurs d'Ancestrologie n'en utilisent pas toutes les possibilités, parce qu'ils ne pourront pas récupérer certaines informations, ni dans un autre logiciel, ni dans Ancestrologie lui-même, la seule solution de transfert existante, l'export/import par gedcom étant défaillante.
Je pense aussi que la norme est avant tout un moyen d'assurer le transfert de toutes les informations "normalisées" entre différents logiciels (et pour cette raison Ancestrologie devrait la respecter). Mais que malgré sa "souplesse", elle n'est pas obligatoirement adaptée au support d'informations spécifiques à chaque logiciel.
On peut ensuite se demander s'il est très logique, pour transférer un dossier ancestrologie dans un autre dossier ancestrologie, de passer par un fichier exporté dans un format différent de l'original, qu'il faudra ensuite retransformer lors de l'importation.
J'en ai donc conclu qu'il serait intéressant de développer une application, si possible intégrée à Ancestrologie, capable d'importer dans un dossier, le contenu d'un autre dossier, de la même ou d'une autre base Ancestrologie.
Ne connaissant ni n'ayant Delphi, j'ai d'abord fait une application en Objectpal sous Paradox. Elle marchait bien mais avec des défauts dûs aux limites de Paradox. J'ai demandé à quelques développeurs en Delphi, s'ils pouvaient la transférer sous ce logiciel. Devant leur absence de disponibilité, j'ai téléchargé, appris et encodé cette application avec Lazarus, environnement open source qui veut concurencer Delphi.
Ceux qui veulent l'essayer et l'utiliser peuvent la télécharger
Mutancestre.
Mais avant toute chose, je tiens à vous prévenir qu'à mon grand regret, elle ne fonctionne pas sous la version de Firebird embedded livrée avec Ancestrologie. Il faut utiliser la version serveur de Firebird. Ce n'est pas pour faire de l'élitisme. J'ignore si celà vient de Lazarus, du compilateur Free Pascal, des composants utilisés ou de Firebird embedded lui-même. J'ai essayé plusieurs solutions sans parvenir à résoudre ce problème.
Pour l'installation, vous pouvez copier la fichier importation.exe où vous voulez, je conseillerai dans le même répertoire qu'Ancestrologie, avec un raccourci dans le menu d'Ancestro, mais sans obligation.
Normalement à l'ouverture, vous devriez avoir çà:
En cliquant sur le mot "Informations..." en bas à droite, vous avez accès à quelques informations supplémentaires.
J'espère que les mots "Source" et "Cible" sont assez clairs.
A mon avis, mais je n'ai pas fait de test à ce sujet, çà doit marcher correctement à partir d'une base source de version b3.57 ou supérieure.
Pour la base cible, utilisez la version b4.036 que je viens de mettre en ligne. Elle corrige certaines anomalies que j'ai justement constatées lors des tests de transfert de dossier. De plus les champs "calculés" par la base ne sont pas transférés par l'application, la base se chargant de les mettre à jour. Il est donc nécessaire d'en utiliser la dernière version.
Dans le champ "Base source" en cliquant sur la petite icône à sa droite, vous pouvez choisir le fichier dans une fenêtre explorateur. Vous pouvez également y taper le nom de votre base.
Pour mémoire je rappellerai que ce nom peut prendre plusieurs formes:
Si le serveur est local (sur votre machine), ce peut être soit le nom complet (C:\Program Files\Ancestrologie\Database\ANCESTROLOGIE.BDD) soit un nom d'alias.
Si le serveur est distant, ce nom doit être précédé de l'adresse (IP ou URL) et du symbole ":".
Les alias doivent être déclarés dans le fichier aliases.conf du serveur. Un paramètre de firebird.conf permet même (pour des raisons de sécurité), d'interdire les accès à des bases autrement que par un alias déclaré.
Ils peuvent être utilisés directement dans ce logiciel d'importation. Ancestrologie peut également les utiliser, à condition d'utiliser la connection "réseau". Dans ce cas, l'adresse à utiliser si le serveur est local est alors 127.0.0.1 ou localhost . L'utilisation des alias est souvent plus rapide que la recherche dans l'explorateur, et il n'y a pas à se souvenir de l'emplacement exact, ce qui est difficile en particulier sur un serveur réseau. Les seuls inconvénients que je leur connaisse, c'est que la fonction "Optimisation de la base" d'Ancestrologie ne fonctionne pas avec.
Après avoir sélectionné une base, il faut cliquer sur le bouton connecter à sa droite pour voir apparaître la liste des dossiers existants dans cette base. La premier dossier est sélectionné par défaut. On peut en sélectionner un autre dans la liste déroulante.
La liste et le nombre des individus du dossier apparaît en dessous.
On fait la même chose pour la base et le dossier cible.
Il suffit ensuite de cliquer sur le bouton "Importer".
Les messages d'importation défilent dans la barre d'état.
A la fin la liste des individus à importer se vide et celle des individus du dossier cible se met à jour.
Normalement tout le dossier source est ajouté au dossier cible, sans perte.
Pour supprimer une importation, utilisez la fonction de suppression d'un import gedcom d'Ancestrologie. Je rappelle juste que si entre temps vous avez créé un lien entre un individu importé et les autres, lui et tous ceux qui lui sont liés (parents enfants témoins etc...) ne seront pas supprimés.
Lors du transfert, il est fait un contrôle de cohérence dans le sens informatique. On ne tranfert pas les enregistrement orphelins (un eve sans individu, un media_record sans média, une union avec un un individu non null qui n'existe pas, un évènement sans individu ou sans union par exemple). C'est donc un bon moyen de "nettoyer" sa base. Il suffit de prendre pour cible une base vide. De plus çà satisfera ceux que les trous dans la numérotation des individus ou des dossiers dérangeait.
Pour les utilisateurs de QST, la CLE_FIXE subit les mêmes contraintes que lors d'un import gedcom. Elle n'est pas modifiée tant qu'il n'existe pas de code identique dans le dossier.
Il vaut mieux aussi effectuer l'opération, Ancestrologie fermé.
Voilà, j'espère avoir été complet, certains diront trop long, mais vous avez le temps, d'ici mercredi soir
Bons tests. Si çà marche bien et si çà vous intéresse, on verra avec Philippe s'il est possible d'intégrer cette fonction à Ancestrologie.
A+
André
Réédition du 10/07/2006: l'appli fonctionne maintenant également avec FBembeded et elle a été intégrée dans une procédure d'installation à télécharger
InstMutancestre.
Le fichier importation.exe va se copier par défaut dans le répertoire d'Ancestrologie (c'est indispensable pour ceux qui utilisent FBembeded), et un raccourci est ajouté au groupe de démarrage Ancestrologie.
La mise à jour de la base en b4.037 met complètement à jour FBembeded .
Mise à jour du 27/08/2006 L'application a été rebaptisée Mutancestre. Le fichier exécutable s'appelle maintenant Mutancestre.ese. Modifications de présentation mineures.
Mise à jour du 6/09/2006 Mise à niveau pour la base en version b4.049 qui comporte des champs supplémentaires.
Mise à jour du 25/09/2006 Version plus rapide d'environ 30%.
Mise à jour du 6/10/2006 Mise à niveau pour la base b4.052.
Mise à jour du 27/11/2006 V1.8 ajout des boutons pour vider le dossier et la base de destination.
http://www.ancestrologie.org/forum/index.php?topic=6258.0&start=50Mise à jour du 11/01/2007 V1.9.5
http://www.ancestrologie.org/forum/index.php?topic=6258.0&postdays=0&postorder=asc&start=60Mise à jour du 16/01/2007 V2.0.0
http://www.ancestrologie.org/forum/index.php?topic=6258.0&postdays=0&postorder=asc&start=61