Joomla! 1.0 est une version issue de Mambo 4.5.2. La version de Mambo 4.5 de Mambo a été publiée en décembre 2003. Autant dire que le script à la base de Joomla! 1.0 a aujourd'hui 7 ans !
Depuis maintenant deux années, après de long mois de conception, l'équipe de développement de Joomla! a publié une nouvelle version dont le code a été quasiment complètement réécrit. Ainsi, La maintenance de Joomla! 1.0 a pris fin au mois de juillet 2009. Par ailleurs l'équipe de développement nous encourage maintenant à migrer à l'aide du composant Migrator. "Simple !" entendons-nous dire ! Pour les éléments dépendant du "Core", le composant Migrator se charge de tout. Pour les extensions tierce partie, il suffit d'indiquer au composant Migrator quelles données de quel composant doit migrer à l'aide d'un plugin spécial nommé ETL Plugin.
Si il est facile de migrer un site simple, il est plus difficile de migrer les données liées aux dizaines d'extensions ajoutées pour un site plus en adéquation avec nos besoins. En effet, à part le plugin pour Docman, aucun plugin n'est disponible.
Au travers cet série d'articles, je vais vous conter l'histoire de la migration du site Causse-mejean.net à l'aide du composant Migrator.
Préparer la migration
Tout d'abord garder à l'esprit que vous aller effectuer un migration et non une mise à jour. La ou une mise à jour consiste à juste changer quelques fichiers sur votre espace d'hébergement, éventuellement de faire une mise à jour de la base de données via un script SQL, une migration consiste à changer de système de gestion. Il s'agit donc d'exporter les données d'une base vers un nouvelle conçue pour le nouveau système. Vous aurez donc besoin de préparer soigneusement cette migration.
La question des extensions
Tout d'abord, Joomla! 1.5 est un nouveau moteur de gestion de contenu. Par conséquent, les composants développés pour Joomla! 1.0 ne fonctionneront plus sous Joomla! 1.5. Cependant les développeurs de Joomla! 1.5 on prévu une couche de compatibilité : le mode legagy. Ainsi certaines extensions conçues pour Joomla! 1.0 fonctionneront tout de même sous la nouvelle version.
Module et plugins (mambots) n'affectent pas la base de données, j'ai décidé de ne pas me préoccuper de ces derniers pour ma migration puisqu'il suffira de les réinstaller sous la nouvelle version 1.5 par la suite. Si un module ou un mambots ne fonctionne pas sous Joomla! 1.5, je rechercherai alors un équivalent. Nous verrons cela par la suite.
En revanche, je n'ai pas envie de perdre certaines données contenues dans la base et gérées par certains des composants. Mais selon de dynamisme des développeurs, je trouverai soit des composants qui fonctionneront en natif sous Joomla! 1.5, en mode Legacy, voire je ne trouverai pas le même composant.
Alors la première chose à faire est de lister les composants présent sur le site sous Joomla! 1.0 et de regarder si je trouve ces mêmes composants pour Joomla! 1.5 qui fonctionnent en mode natif ou en mode Legacy.
Voici la liste des composants que j'utilisais sur le site Causse-mejean.net :
JComment | option=com_comment | 2.1.0 | www.joomlatune.ru |
AkoBook | option=com_akobook | 2.0.2 | www.waltercedric.com |
ARTIO JoomSEF | option=com_sef | 2.2.4 | www.artio.net |
Bibliography | option=com_bibliography | 1.3 | www.northlakedesign.com |
eBackup | option=com_ebackup | 1.0.0 Beta | www.mambobaer.de |
Expose | option=com_expose | 4.6.2 | www.gotgtek.net/ |
Approbations | option=com_approbation | 1.0 | www.artis-up.com |
GMaps | option=com_gmaps | 1.1.1 | www.firestorm-technologies.com |
My Content | option=com_mycontent | 1.1.13 | www.joomlicious.com |
Partners | option=com_partner | 2.5 | www.globodigital.net |
RWCards | option=com_rwcards | 2.5.9 | www.weberr.de |
Security Images | option=com_securityimages | 4.3.3 | www.waltercedric.com |
SmoothGallery | option=com_smoothgallery | 1.0 | www.joomlashack.com |
L'heure des choix
Dans la liste ci-dessus, pfff, il y a bien beaucoup de composants ! Comment vais-je faire pour migrer tout cela, d'autant plus que je n'ai trouvé aucun plugin ETL ? Etudions la liste des composants.
- Le composant installé est superflu, je n'en ai pas besoin.
ex. : Artio JoomSEF car Joomla! 1.5 fait très bien la réécriture d'url tout seul (à moins que je veuille conserver mon référencement (cad conserver les url telles qu'elles ont été écrites par le composant)
- Le composant ne fonctionne pas sous Joomla! 1.5, je n'ai pas le choix.
ex. : Akobook, Bibliography, Approbations, Partners...
- Le composant installé gère une fonctionnalité du site, s'il a un équivalent sous Joomla! 1.5, je procéderai à une nouvelle installation et re-paramétrai le composant si nécessaire
ex. : SecurityImage
- Le composant installé ne gère pas un grand nombre de donnée, s'il a un équivalent sous Joomla! 1.5, je procéderai à une nouvelle installation et rajouterai les données manuellement
ex. : Gmaps
- Le composant gère un nombre important de données et il fonctionne sous Joomla! 1.5 en mode natif ou en mode Legacy
ex. : JComment, RWCards
Vérifiez la disponibilité de vos composants sur le site de l'auteur (il y a le lien dans la liste de composant dans l'interface Joomla!) ou sur extension.joomla.org.Cette étape demande un peu de temps. Aussi, si vos composants ne sont pas à jour, je vous conseille de les mettres à jours vers la dernière version stable avant d'envisager une migration.
Il y a aussi quelques cas particuliers, ainsi Expose4 ne gère pas les données via la base de données, un simple "copié-collé" devrait suffire. Nous verrons également cela plus tard.
Certains composants n'existe plus sous Joomla! 1.5, la plupart du temps leur développement a été stoppé, cependant il existe des composants similaire qui permette l'importation des données de ces composants obsolètes et qui fonctionne sous les version 1.0 et 1.5. Ainsi Jambook importe les données d'AkoBook et fonctionne en mode Legacy.
Au final, je souhaite ne pas perdre les données gérées par les composants !JoomlaComment, RWCards et Akobook. Pour ce dernier, je vais devoir installer avant de migrer le composant Jambook.
Avertissement aux lecteurs : j'ai commencé à écrir cet article il y a a peu près deux ans lorsque j'ai commencé à réfléchir à la migration du site. En réalité, je n'ai effectué la migration qu'à la fin du printemps cette année. Il se peut que certaines informations soient désormais obsolètes.