phorum2spip : convertir des forums sous « Phorum » en forums spip

Un petit script rapidement écrit mais fonctionnel permettant de convertir en forums spip des forums existants sous le script Phorum v3 et stockés dans une base MySQL.

L’essentiel des données sont conservées (titre, message, auteur, date, mail de l’auteur, dernière modification, statut (publié ou non),...). Les entrées sont renumérotées [1] mais la structure des forums est respectée (les liens id_parent et id_thread sont calculés en fonction de la renumérotation pour conserver l’arborescence des messages).

En outre, la conversion éventuelle des données de iso-latin en utf-8 est intégrée (un paramètre de la configuration définit le codage de la base de données cible).

La configuration du script se fait directement en éditant une dizaine de variables dans le fichier selon les indications qui y sont données.

On active simplement ce script en l’appelant (une seule fois !!!) depuis un navigateur (ne pas oublier de le retirer après). Si quelqu’un a envie de l’améliorer, il serait notamment utile d’écrire une petite interface web.

Il n’est possible de convertir qu’un seul forum à la fois (il faut relancer le script autant de fois que vous avez de forums à convertir, en ayant bien sûr pris soin de modifier la config avant chaque nouvelle conversion) et vous devez avoir créé préalablement l’article dans le forum duquel vont être injectées les nouvelles entrées.


Remarques importantes

  • Ce script n’est compatible qu’avec spip 1.8 : il faut en effet que le champ id_thread soit présent dans la table spip_forum.
  • Il est bien évident que ce genre de manipulation comporte des risques de pertes de données (et que le présent script ne prévoit aucument tous les cas particuliers qui pourraient se présenter). Vous veillerez donc à effectuer une sauvergarde des DES DEUX bases de données impliquées dans le processus avant de faire quoi que ce soit.

Améliorations possibles

  • Permettre au script de gérer d’autres SGBD que MySQL (Phorum n’étant pas limité à MySQL).
  • Exploiter le module d’authentification de SPIP pour limiter l’accès au script.
  • Ecrire une petite interface web pour rendre l’utilisation plus conviviale.

Notes

[1Ceci est inévitable : outre l’éventuel conflit avec des données déjà présentes dans la base spip, phorum stocke chaque forum dans une table différente (et même dans deux en fait) tandis que spip centralise tous les forums publics dans une seule table.

Discussion

Aucune discussion

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