savez-vous où je pourrais trouver des conseils pour me permettre d'importer dans un spip tout neuf une base d'environ 5000 entrées? La base d'origine est sous endnote, mais peut sortir en XML, Excel, CSV etc. Rien de méga-urgent, j'ai prévu du temps pour étudier la question mais je sais pas trop par où commencer...
Martin Granger a écrit :
savez-vous où je pourrais trouver des conseils pour me permettre d'importer dans un spip tout neuf une base d'environ 5000 entrées? La base d'origine est sous endnote, mais peut sortir en XML, Excel, CSV etc. Rien de méga-urgent, j'ai prévu du temps pour étudier la question mais je sais pas trop par où commencer...
Le plugin CVS import pourra t'aider.
Par contre il faudra peut-être passer par un SPIP 1.9.2 local avant d'upgrader ton SPIP vers un 2.0.3 une fois l'importation faite.
(je ne sais pas si le plugin fonctionne en version 2)
@+
Tropicaloo a écrit :
Le plugin CVS import pourra t'aider.
Par contre il faudra peut-être passer par un SPIP 1.9.2 local avant d'upgrader ton SPIP vers un 2.0.3 une fois l'importation faite.
(je ne sais pas si le plugin fonctionne en version 2)
Pas de problème de toute façon j'ai besoin du plugin association, donc je vais rester en 1.9.2d
Je vais jeter à oeil ça a l'air bien.
Mon inquiétude c'est pour associer des mots-clés aux articles lors de l'importation... Ça me paraît un peu chaud à première vue et je ne sais pas si c'est prévu en tant que tel dans CSV import.
je vais voir ça et je reposterai sûrement quand je serai dans la panade ![]()
Martin Granger a écrit :
donc je vais rester en 1.9.2d
si tu repars d'un spip tout neuf, démarre plutôt directement sur la version 1.9.2g (la dernière de cette famille)
2009/3/11 denisb <denisb@laposte.net>
Martin Granger a écrit :
donc je vais rester en 1.9.2d
si tu repars d’un spip tout neuf, démarre plutôt directement sur la version 1.9.2g (la dernière de cette famille)
J’ai fait cette opération il y a peu.
(base DBF vers SQL)
Il faut de la méthode, du temps et être méticuleux.
En fait le gros du boulot vient des interventions à faire pour préparer l’importation.
C’est là aussi où l’on découvre quelques saisies improbables qui peuvent venir perturber l’importation.
Je n’ai pas utiliser de plugin mais simplement la fonction importer dans php my admin.
As-tu plusieurs tables déjà déjà dans ta base dé départ?
Beru
Beru Beru a écrit :
J'ai fait cette opération il y a peu.
(base DBF vers SQL)
Il faut de la méthode, du temps et être méticuleux.
Merde, c'est mal barré en ce qui me concerne ![]()
En fait le gros du boulot vient des interventions à faire pour préparer l'importation.
C'est là aussi où l'on découvre quelques saisies improbables qui peuvent venir perturber l'importation. Je n'ai pas utiliser de plugin mais simplement la fonction importer dans php my admin.
As-tu plusieurs tables déjà déjà dans ta base dé départ?
Je dispose d'un export de la base en XML. Mais je peux sans doute demander à son propriétaire qu'il m'en fournisse une version XLS ou CSV. Je n'ai pas Endnote (logiciel payant) mais ça a l'air relativement puissant.
Le fichier XML exporté ressemble à ceci (ce n'est qu'une entrée, et il y en a 5000!) Comme vous pouvez le constater, c'est sémantiquement n'importe quoi (les noms des champs n'ont que peu à voir avec le contenu).
<RECORD>
<REFERENCE_TYPE>14</REFERENCE_TYPE>
<REFNUM>0000000761</REFNUM>
<AUTHORS>
<AUTHOR>nom</AUTHOR>
</AUTHORS>
<YEAR>vide</YEAR>
<TITLE>catégorie</TITLE>
<SECONDARY_AUTHORS>
<SECONDARY_AUTHOR>auteur</SECONDARY_AUTHOR>
</SECONDARY_AUTHORS>
<SECONDARY_TITLE>adresse</SECONDARY_TITLE>
<PLACE_PUBLISHED>téléphone</PLACE_PUBLISHED>
<NUMBER_OF_VOLUMES>site web</NUMBER_OF_VOLUMES>
<NUMBER>année</NUMBER>
<PAGES>nombre pages</PAGES>
<SECTION>periodicité</SECTION>
<TERTIARY_AUTHORS>
<TERTIARY_AUTHOR>couleur ou N&B</TERTIARY_AUTHOR>
</TERTIARY_AUTHORS>
<TERTIARY_TITLE>tirage</TERTIARY_TITLE>
<EDITION>prix</EDITION>
<DATE>sujet</DATE>
<TYPE_OF_WORK>oui/non</TYPE_OF_WORK>
<SUBSIDIARY_AUTHORS>
<SUBSIDIARY_AUTHOR>breton</SUBSIDIARY_AUTHOR>
</SUBSIDIARY_AUTHORS>
<SHORT_TITLE>public visé</SHORT_TITLE>
<ALTERNATE_TITLE>zone de diffusion</ALTERNATE_TITLE>
<ISBN>Tout</ISBN>
<ORIGINAL_PUB>type d'annonceurs</ORIGINAL_PUB>
<REVIEWED_ITEM>activités</REVIEWED_ITEM>
<CUSTOM1>nom de l'éditeur</CUSTOM1>
<CUSTOM3>historique</CUSTOM3>
<CUSTOM4>mode de diffusion</CUSTOM4>
<CUSTOM5>vide</CUSTOM5>
<CUSTOM6>date</CUSTOM6>
<ACCESSION_NUMBER>associatif ou commercial</ACCESSION_NUMBER>
<CALL_NUMBER>
<styles/>
fr
</CALL_NUMBER>
</RECORD>
Bonjour,
Les problèmes d importation de bases de données externes viennent la
plupart du temps d'une inadéquation entre la struture de la base
'réceptrice' et celle de la base existante.
(Le problème des doublons, n'étant pas trivial non plus ![]()
Ce que je préconise (en gros) :
Faire une SAUVEGARDE de la table cible, voire du total (Loi de Murphy)
Définir une copie de la table cible (Copie 1)
Vider cette copie...si on a fait une copie table-table
Neutraliser les tests
(Il s'agit donc d'une structure pouvant recevoir les champs, sans faire
aucune vérification dessus)
Importer
(A ce stade, toutes les informations existent, mais elles ne sont pas
nécessairement 'conformes' )
Re-définir une copie de la base cible, avec les mêmes définitions /
vérifications.(Copie 2)
Vider.
Copier Copie 1, vers copie 2
(A ce stade, sont rejetés, toutes les informations non conformes, sur le
jeu restreint.)
Corriger !!, y compris dans copie 1.
Refaire, l'import des lignes manquantes (en erreur)
(ou vider et recommencer l'ensemble)
Boucler, tant qu'il existe une erreur.
(A ce stade, toutes les erreurs sont neutralisées, sauf les erreurs
d'unicité par rapport à la base globale.
Faire l'import vers la table normale
(A ce stade, il ne reste plus que les erreurs d'unicité de
clé...normalement ![]()
qui sont à corriger...bien sûr.
Il semble évident que plus il y a d'étapes, moins on risque à chaque étape.
La règle de base : ne jamais faire quelque chose que l'on ne puisse annuler.
(Par sql, ou par sauvegarde)
amicalement
Jel
Martin Granger a écrit :
En fait le gros du boulot vient des interventions à faire pour
préparer l'importation.
jel.spip a écrit :
Ce que je préconise (en gros) :
Je m'y colle dès que j'ai compris ce que ça veut dire ![]()