2008 juil. 18
Par Olivier - News - Lien permanent
Nombreux sont les utilisateurs de Dotclear 1.2 à n'avoir pas voulu franchir le pas et passer à la version 2 durant son cycle de beta. À quelques jours de la sortie de la version finale, un point essentiel manquait, la possibilité de migrer facilement et sans encombres. C'est maintenant de l'histoire ancienne.
Au moment où Dotclear 2 est sortie en version beta, le seul moyen existant de migrer depuis la version 1 était de passer par un processus complexe et, il faut le reconnaître, peu fiable pour les blog volumineux, d'exportation puis d'importation via des fichiers textes.
Dotclear 2.0 va bientôt sortir en version finale et il n'était pas envisageable un seul instant que les utilisateurs de la version 1 ne puissent migrer leurs données de manière simple et confortable.
C'est quoi donc ?
Ces derniers jours le plugin d'import/export a été entièrement remanié afin de pouvoir y ajouter des modules facilement pour importer ou exporter depuis ou vers les formats que l'on veut. L'idée est de fournir très rapidement, et si possible pour la sortie de la version finale, des modules permettant d'importer depuis les outils les plus répandus, à commencer par MovableType et Wordpress.
Les modules d'import et d'export au format texte sont également en cours d'amélioration, merci à Biou :)
Le nouveau plugin d'import/export dispose donc déjà de 4 modules :
- Importer depuis un fichier texte
- Importer depuis un flux (Atom ou RSS)
- Importer depuis Dotclear 1.2 (c'est lui le petit nouveau)
- Exporter vers un fichier texte
Pour importer vos données depuis Dotclear 1.2, rien de plus simple, renseignez les quelques informations de connexion à la base de données puis cliquez sur "Importer mon blog". Si vous avez JavaScript activé, vous n'avez plus rien à faire (sinon il faudra cliquer sur le bouton "étape suivante" à intervalles réguliers). Selon la taille de votre ancien blog, ceci peut être long. Si d'aventure, vous aviez une horrible erreur comme quoi le temps d'exécution maximal est dépassé, recommencez en réduisant le nombre de billets à importer à chaque étape. S'il vous prend l'idée de migrer vers une installation avec SQLite, passez ce paramètre à 5 voire 1.
L'ensemble dispose d'une barre de progression vous permettant de savoir s'il est temps d'aller faire un café.
Enfin, vous n'avez pas à vous poser la question de l'encodage des caractères de votre blog, le module s'en occupe tout seul.
Comment peut-on aider ?
Le module a été testé avec grand succès sur un blog volumineux contenant 1500 billets et plus de 11000 commentaires et ce vers une installation MySQL, PostgreSQL et SQLite. Maintenant, tous les hébergeurs n'ont pas les mêmes configurations, c'est là que vous pouvez aider en testant ce nouveau module.
Important : Vous devez impérativement installer une nightly (révision minimale 2097) pour pouvoir faire fonctionner le nouveau plugin d'import/export correctement.
Les aventuriers ou ceux qui ont déjà migré mais ont encore leur base de données version 1 peuvent donc effectuer des tests et remonter les éventuels bugs qu'il pourrait y avoir. Les développeurs qui s'ennuient ferme durant cette période estivale peuvent écrire des modules d'import que nous incorporerons avec plaisir. Il y a déjà des volontaires pour Wordpress et MovableType mais la liste des CMS ne se limite pas qu'à ces deux là :)
Remarques
- Ce module d'importation gère nativement les tags qui peuvent exister sur Dotclear 1.2 s'ils sont présents.
- Les utilisateurs de Free.fr ne peuvent pas faire cohabiter une base de données MySQL et PostgreSQL pour le même compte et là, je ne peux que les encourager à militer pour avoir les deux, au moins pour quelques temps :)
Commentaires
Salut Olivier
Est-il possible d'utiliser cette importation sur un dotclear v2 comportant déjà plusieurs blogs (j'ai un dc2 avec 3 blogs et mon vieux blogs sur un dc1, et je voudrais tout regrouper)
Merci :)
Ouah, génial !
Mon petit soucis c'est que je suis chez Free, et donc DC1 fonctionne avec MySQL, mais DC2 devra obligatoirement fonctionner avec PostgreSQL... et si je fais la transition, je perdrai ma base MySQL !
Est-ce qu'il est possible d'exporter son blog DC1 dans un premier temps, de rappatrier les données de la base sur une machine perso, puis d'installer le nouveau DC2 en PostgreSQL et enfin d'importer les données récupérées précédemment ?
Twidi> Oui. C'est une importation sur le blog en cours, donc si tu crées un nouveau dans ton dc2, pas de problème. Et je ne m'appelle pas Olivier.
Pierre> Dans ce cas là, tu as peut-être intérêt à passer par le fichier d'export, non ?
Et existe t'il pour importer les tags générés avec le plugin dans DC1 vers DC2 qui les gère en natif? Car c'est aussi un point qui me bloque dans ma migration vers DC2
Observateur> C'est dans le code. Essaie, moi je n'ai pas de dc1 avec des tags.
Xave > j'ai soumis un ticket (le #301) qui dit...
Serait-il possible d'ajouter en fin de fichier une ligne servant de marqueur "EOF" ? Sa présence indiquerait que le fichier est complet. La répétition de la première ligne du fichier (///DOTCLEAR|2.0-RC2.1|full) par exemple... Ce test pourrait servir également lors d'un import en avertissant si le fichier est incomplet.
Je n'ai eu aucune réaction depuis... Est-ce une bonne idée ? Est-elle facile à mettre en œuvre ?
xave > c'est bien ce qui me semblait. Mais quid des URL utilisées par DC1 par rapport à celles générées par DC2 ? Si je transfère tout et que mes URL changent, ça ne va pas être très pratique pour ceux (les rares :)) qui me lisent...
mirovinben> chaipas. demande à un codeur. :)
Pierre> Les urls seront forcément différentes. Après, c'est un histoire de htaccess ou de plugin de redirection. Et non, il n'y a aucun moyen de garder les mêmes url.
OK. Je pense pas avoir beaucoup de marge de manœuvre avec mon htaccess chez Free... tant pis, Google et Yahoo feront leur boulot de référencement alors !
Merci pour l'info !
Pour la question des tags et de Free.fr, j'ai ajouté une petite remarque au billet :)
Olivier > c'est noté, merci :) mais en l'absence de solution mixte MySQL/PostgreSQL, peut-on exporter la base MySQL de DC1 dans un format lisible par une base PostgreSQL de DC2 ? DC1 exporte par défaut en gzip le script SQL contenant toutes les opérations à mener pour recréer la base, mais ça reste du MySQL...
Pierre, pour l'instant, la solution consiste à passer par l'export puis import texte. C'est assez frustrant, je dois bien le reconnaître.
Le module d'import Dotclear 1.2 ne travaille qu'avec MySQL en lecture et utilise certaines spécificités. Une solution peut être de commencer par installer un Dotclear 2 avec SQLite, faire l'import, puis récupérer le fichier de base de données. Ensuite, il va falloir le travailler un peu pour qu'il passe dans PostgreSQL (c'est possible, je l'ai fait un jour pour Trac). Une fois que tout ceci est fait, y a plus qu'à.
C'est réellement agaçant et c'est bien pour ça que je vous propose de militer auprès de Free, d'autant que vous pouvez aussi avoir besoin d'un MySQL pour d'autres outils sur votre site.
Je suis intéressé, mais ...
Unknown system variable 'NAMES' (1193)
Ok, il y a eu de la bidouille sur mon DC1, mais le message d'erreur ne m'aide pas beaucoup !
Olivier > c'est ce que je vais faire... quel est le meilleur moyen de militer ? Les newsgroups techniques ?
Une autre solution qui peut peut-être fonctionner est d'installer Dotclear2 en local (sur mon PC perso), d'importer les données de DC1, puis de faire le vide sur mon site perso avant de mettre en place PostgreSQL puis DC2 !
Xave > merci beaucoup (je disais "Olivier" car c'etait le posteur du billet, et que je le connais)
Merci pour la précision des tags Olivier du coup je vais m'en occuper d'ici ce soir.
Dernière question, le plugin d'import marche si le DC1 était en 1.2.6? ou il faut absolument qu'il soit en 1.2.8?
Observateur, ça doit marcher en 1.2.6.
Djoh, ça sent la version super vieille de MySQL ça.
Je confirme ça marche en 1.2.6 par contre les tags sont pas pris en compte :-(
Olivier > 5.0.44-log
Chez OVH, start1g.
MySQL 5.0 ne sait pas faire un SET NAMES ? Bon, bon, si tu peux, fais ceci :
Dans le fichier inc/class.dc.import.dc1.php du plugin importExport, entre les lignes 236 et 241, il y a l'ensemble des SET ...
Essaye de les commenter pour voir ce que ça donne. Il y a un risque que le contenu des billets soit tout bizarre après par contre.
ok je regarde et je reviens vers toi
Tout s'est très bien passé, merci Olivier ^^
Par contre, pas de tag :-/
Ok super, je vais corriger le plugin en conséquence. Merci :)
Tu avais quoi comme plugin de tags ?
Pour les tags j'utilisais: twtags + twpostmeta
Et ça n'a pas ete pris en compte
Quel est le nom de la table pour les tags dans ce cas ?
Le nom de la table est: dc_post_meta
et elle contien les 4 champs suivant: meta_id post_id meta_key meta_value
Hum, tu as bien le plugin metadata dans ton installation de Dotclear ? Après, je vais te demander de trouver où ça coince parce que là, je ne vois pas du tout. L'import des meta se passe sur la ligne 495 du fichier dont je parlais tout à l'heure.
Djoh, question bête, tu as supprimé quelles lignes ?
Pour avoir les tags sur DC1 il faut le plugin:
Métadonnées de billets - twpostmeta
+
Tags - twtags
très bonne nouvelle pour ceux qui sont rester a DC1. nouvelle dont je voudrais bien faire un track sur mon dc1 de présentation, mais qui me retourne une erreur ;)
Je vous donnerai mon feedback, dès que la version finale sera là.. J'ai un tout petit plus de billets que les autres :)
Bonjour,
j'aimerais migrer vers la version 2.0 mais j'hésite, j'ai beaucoup de pages (related) et je me demande si l'importation se fera également pour ses orphelines.
Merci!
Comme Observateur,
Métadonnées de billets - twpostmeta
+
Tags - twtags
Pour les lignes, j'ai supprimé celles que tu donnais, précisément lignes 236 à 241. Il ne semble pas y avoir eu de soucis.
Bonjour,
Je sauterai volontiers le pas mais les URL des billets ne sont plus les mêmes :
http:// f.randon.free.fr/dotclear/index.php?2008/07/02/91-j-ai-un-nouveau-telephone
devient
http:// f.randon.blog.free.fr/dotclear/index.php?post/2008/07/02/91-j-ai-un-nouveau-telephone
Peut on les laisser identiques du genre le .htaccess transforme les http:// f.randon.free.fr/dotclear/index.php? en http:// f.randon.blog.free.fr/dotclear/index.php?post/ ??
ce qu'il me manque également est la migration automatique du plugin galery...
Merci :)
Frandon, il y a un plugin sur Dotaddict pour la redirection des URLs de la version 1 :
http://plugins.dotaddict.org/dc2/de...
Merci beaucoup, ça va m'aider ;-)
Bon, et bien, y-a-plus-ka !
Supers nouvelle. Bravo à l'équipe.
Est-ce que vous savez si un script pour migrer de b2evolution à dotclear 2.0 va être réalisé?
Merci de l'info
cfardel> S'il y a une demande, on le fera, donc il y a de chances que oui. Après, c'est une histoire de priorités, il y a des systèmes plus utilisés.
Merci de cette réponse.
Je profite de dire que je suis une personne aveugle et que l'accessibilité sous dotclear est supers bien faite. C'est un plaisir de naviguer avec une revue d'écran dessus. Tout est supers bien réspecté.
Cédric fardel
Je viens juste de mettre mon blog à la version DC2 (trop impatiente) et je ne regrette pas : au-cun problème pour la migration! :) Ni non plus en passant auparavant de la 1.2.5 à la 1.2.8, moi, la reine de la guigne!
Juste le petite regret de ne pas retrouver une adaptation de template sur la dc2 qui m'avait bien plu, mais j'en ai trouvé un proche, alors on va se mettre au boulot !:)
C'est une bonne nouvelle effectivement, et cela semble prometeur.
Le soucis c'est que certain utilisateur, comme moi, sont deja tres content de DC1. Tout fonctionne tres bien deja, alors pourquoi passer sous DC2 avec les risques de rencontrer de nouveaux problemes ? C'est un peu comme Vista, si on est heureux avec XP alors pourquoi donc devoir migrer ? :)
Je reconnais que DC2 est tres bien fait, mais selon moi il y a beaucoup trop d'options et de choses que je n'utiliserai jamais pour mon blog, donc j'espere que DC1 aura quand meme des beaux jours devant lui.
Ce qui serait bien, afin de faire changer d'avis ceux qui hesitent, serait de faire un tableau comparatif de tout ce que DC1 et DC2 peuvent faire l'un et l'autre (sans plugin), et ainsi permettre de mieux se rendre compte des capacites de DC2.
slt je m`appelle joel je suis neo zelandais
J'appuie cfardel pour un plugin de migration de b2evolution vers dotclear2.
Bonjour,
Je souhaite donc migrer de DC1 à DC2. J'ai bien créer mon archive de blog via le pluging adéquate et me retrouve avec u fichier texte ( 1 ière question dans ce txt les accents sont en code spécial @... cela passera une fois importé ? )
Deuxième question et non la moindre, c'est l'installation. Si j'ai bien compris
Je mets le dossier dotclear 2 sur mon FTP je l'installe... la question est ce qu'avant je dois vider ma base mysql ou non (je voulais en créer une seconde mais mon hébergement ne me le permet pas) ? est ce que je supprime mes fichiers dotclear 1 de mon ftp avant de mettre le 2
Merci
Gogo, je pense que tes questions techniques seraient mieux à leur place dans le forum de Dotclear. Tu aurais plus de chance d'avoir des réponses précises et un échange fructueux.
Cette nouvelle option d'import fonctionne-t-elle avec deux hébergeur différents (ovh au départ, 1&1 à l'arrivée) ? Si oui, que mettre dans le "nom de l'hôte" ?
Est-ce obligatoire d'avoir les mêmes préfixes de tables ?
Merci.
brol : OVH interdit l'accès à ses serveurs SQL depuis l'extérieur pour des raisons de sécurité. Il faudra passer par un dump des données.