Plugin GeneSPIP - Gedcom import

Importation d’un fichier GedCom

GeneSPIP permet l’importation d’un fichier GedCom, l’article décrit les informations prises en compte à partir du fichier GedCom source.

1/ Etape 1 :

Importation :

L’importation est prise en charge par la page « gedcom_fonctions.php ».
En premier lieu, le script créer une table temporaire « spip_genespip_tempo » (encodage UTF-8) avec les champs :
-  num_tableau
-  num_info
-  type
-  info

Le fichier Gedcom sera ainsi lu par ligne et chaque ligne sera insérée dans la table « spip_genespip_tempo »

num_tableau et num_info permettent de gérer le rang par rapport aux entrées du fichier Gedcom.

num_tableau permettra en particulier de créer le pointeur lors la lecture de la table et ainsi identifier les informations propre à un individu ou à une famille.

Le champ « type » stockera les types d’informations (FAM, INDI, NOTE, NAME ...).
-  Le champ « info » stockera les détails propre au type.

2/ Etape 2 :

Transfert des données de la table temporaire vers les tables de genespip (« spip_genespip_individu » et « spip_genespip_mariage »)

Liste des données converties :

TYPE(GedCom)INFO(GeneSPIP)
INDI id_individu
NAME Nom, Prénoms
DATE(MARR, BIRT, DEAT) mar ou naissance ou deces
PLAC(MARR, BIRT, DEAT) marlieu ou naissancelieu ou deceslieu
OCCU metier
RESI adresse
CONC, CONT, NOTE note
SEX sexe
HUSB ou WIFE epoux
CHIL enfant=1

Les autres types ne sont pas traités.

3/ Etape 3 :

-  Suppression de la table temporaire
-  Exécution de la fonction « genespip_maj_liste() » afin d’alimenter la liste des patronymes « spip_genespip_liste ».

Discussion

3 discussions

  • Bonjour,

    ce serait génial si ce plugin pouvait être adapté aux nouvelles versions de Spip. En tous cas on l’espère en tant qu’association de généalogie.
    Marie
    www.geneoweb.org

    Répondre à ce message

  • 7

    Ce plugin Est-il maintenu pour une version 2.1 de spip ?

    cordialement,

    • bonjour
      Idem, une mise à jour vers spip 2 serait la bienvenue.

    • Bonjour

      en cet veille de noël, je vous informe qu’une version pour spip 2.0 est en cours de refonte mais il reste encore des soucis a corriger.

    • Bonjour
      Excellente nouvelle, dès que cette nouvelle version du plugin est disponible, je suis partant pour la tester. Merci d’avance.

      PS : compatible 2.0 et 2.1 j’imagine.

    • Oui enfin moi je dev sur la dernière version en permanence. Mais ça reste encore du boulot les gas ...

    • jerome mermet

      bonjour
      Du nouveau sur une version de ce plugin ?

      Le site de notre association des mermet (2500 patronymes) pourrait évoluer sur une version récente de spip.

    • Bonjour

      J’ai un peu ralentit sur ce projet car je bloque sur une fonction php.

      Donc si quelqu’un maitrise ...

    • Pose toujours ta question ici ou sur un autre forum ; si ça n’a pas déjà été fait...

    Répondre à ce message

  • 1

    j’ai juste une question technique.

    che moi les indications de naissance sont du type

    1 BIRT
    2 DATE 28 JUN 1990
    3 TIME 0:25
    2 PLAC Melun,77000,Seine-et-Marne,Île-de-France,FRANCE,

    comment fait -on script pour savoir que la date 28 juin 1990 correspond à la naissance ? étant dopnné que tu c a se troiuve dans une seul table en bazar

    • Christophe Renou

      C’est num_tableau qui permet de faire la différence :

      Num_tableau est construit de la manière suite
      n° groupe-n° sous groupe

      A chaque détection d’un 0, on incrémente le n° groupe et à chaque détection de 1, on incrémente le n° sous groupe
      exemple

      Détail num_tableau num_info type info
      num_info=0 -> n° groupe est incrémenté de 1 1-0 0 HEAD
      num_info=1 -> n° sous groupe est incrémenté de 1 1-1 1 SOUR
      1-1 2 VERS 0.1
      1-1 2 NAME Auteur
      num_info=1 -> n° sous groupe est incrémenté de 1 1-2 1 DEST logiciel conforme Gedcom
      num_info=1 -> n° sous groupe est incrémenté de 1 1-3 1 DATE 15 APR 2003 / may 2004
      num_info=0 -> n° groupe est incrémenté de 1 2.3 0 INDI
      num_info=1 -> n° sous groupe est incrémenté de 1 2-4 1 BIRT
      2-4 2 DATE 28 JUN 1990
      2-4 3 TIME 0:25
      2-4 2 PLAC Melun, 77000, Seine-et-Marne, Île-de-France, FRANCE

      Le tableau fait, il suffit de détecter « BIRT » et ainsi tout ce qui possède le même num_tableau que celui du « BIRT » sélectionné correspond au données de ce dernier.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom