Migration Lodel 0.7 vers Lodel 0.8

Avertissements

Ce document est une ébauche, et devra surement être complété et détaillé.

L’équipe de Lodel n’assurera pas la migration de vos sites.

Vous utilisez le code fourni à vos risques et périls, et l’équipe de Lodel ne pourra être tenue responsable d’une quelconque anomalie ou perte de données.

Si toutefois vous rencontrez un problème, vous pouvez nous contacter sur la liste dédiée aux utilisateurs de Lodel (https://listes.cru.fr/sympa/info/lodel-users).

Introduction

La migration de Lodel 0.7 vers Lodel 0.8 casse le site 0.7. Il est donc très fortement recommandé de faire un back-up de la base de données avant toute opération.

Il est également conseillé d’avoir un accès en console vers le serveur MySQL, si une erreur intervenait lors de la migration et qu’il faudrait rétablir la base de données sauvegardée, car cela ne sera plus possible via l’interface.
Les tables spécifiques à Lodel 0.7 seront renommées avec le suffixe ‘__old’. Les tables du ME seront renommées avec le suffixe ‘__oldME’.

Aucunes données n’est effacées.
Il est nécessaire d’avoir au préalable installer Lodel 0.8, et créé votre site sur l’installation 0.8, afin que le script puisse migrer la maquette (templates, CSS, JS etc..) et copier les docannexes ainsi que les sources.

Veillez également à ce que le serveur Web ait accès en écriture aux répertoires /tpl/, /css/, /docannexes/, /lodel/sources/, /js/, ainsi qu’à la racine du site.

La migration des templates n’est pas assurée à 100%, et il vous faudra reprendre à la main certaines parties, principalement les boucles relatives aux personnes (auteurs, traducteurs etc..).

Pré-requis

Il y a 4 fichiers nécessaire à la migration.

Les deux premiers sont à placer à la racine du site à migrer :

  * init-site.sql, que vous trouverez dans lodel-0.8/install/
  * export_to_08.php, disponible à la racine de votre installation Lodel 0.7

Les deux derniers sont à placer dans le répertoire /tpl/ du site que vous souhaitez migrer, disponibles dans lodel-0.7/src/tpl/ :

  * index_migration.html
  * macros_techniques.html 

Afin de commencer la migration, rendez-vous sur la page export_to_08.php :

Erreur lors de la création de la miniature : Impossible d’enregistrer la vignette sur la destination

Démarrage

Il vous est alors possible d’effectuer plusieurs actions :

  * Sauvegarde de la base de données, qui n'affecte pas les données
  * Téléchargement des requêtes SQL effectuées sur la base de données
  * Téléchargement de la base de données après migration
  * Mise à jour du ME Revues.org (uniquement !!), devenue obsolète suite à l'ajout de la fonctionnalité d'import XML du modèle éditorial, et comportant de légères anomalies.

Vous devez par la suite renseigner les 3 champs suivants :

  * 'g_title', correspondant au champs principale qui alimentera l'identifier d'une entité ('titre' dans le cas du ME Revues.org)
  * 'g_name', équivalent DC du champ précédent ('dc.title' dans le cas du ME Revues.org)
  * le chemin relatif vers l'installation du site en 0.8

Après avoir conpléter ces champs, vous pouvez démarrer la migration en cliquant sur le bouton ‘Valider’.

Erreurs

En cas d’erreur, le script s’arretera et vous affichera le problème rencontré.

Il vous faudra alors rétablir la base de données sauvegardée précédemment, corriger l’erreur et recommencer l’opération.

Si l’erreur vient du script lui-même, contactez l’équipe de Lodel via les mailing-lists.

Finalisation

Après avoir migrer votre site 0.7, importez la base dans votre site 0.8 via la partie ‘Administration’. Vous pourrez alors mettre à jour votre ME à partir de l’import XML du ME.

Plusieurs opérations seront ensuite à effectuer afin de finaliser la migration :

  * création du 'sortkey' pour les entrées
  * mettre à jour les champs multilingue en 0.8 qui ne le sont pas en 0.7 (par exemple le champs introduction de la classe publications pour le ME Revues.org) en rajoutant les balises r2r:ml correspondant à la langue
  * réorganiser les entrées d'index par langue
  * rétablir les accès restreints, gérés différement entre Lodel 0.7 et Lodel 0.8
  * rétablir l'image d'accroche d'une entité (ME Revues.org, champ icône en 0.7, et document annexe « image d'accroche » en 0.8)
  * modifier le type 'fichier' en type 'file' dans la table 'tablefields'

Il est possible que plusieurs champs ‘g_name’ de la table ‘tablefields’ soit renseigné comme ‘dc.title’, ce qui provoquera une erreur lors de la modification du titre d’une entité.

Dans le cas du ME Revues.org, il faut rétablir ce champs pour que ‘dc.title’ corresponde seulement au champ ‘titre’ pour les classes ‘textes’ et ‘publications’.

Scripts

Fichiers nécessaires à la migration :

 * init-site.sql : http://sourcesup.cru.fr/cgi/viewvc.cgi/branches/version_0_8-bugfixes-branch/lodel/install/init-site.sql?root=lodel&view=log
 * export_to_08.php : http://sourcesup.cru.fr/cgi/viewvc.cgi/branches/version_0_7-bugfixes-branch/export_to_08.php?root=lodel&view=log
 * index_migration.html : http://sourcesup.cru.fr/cgi/viewvc.cgi/branches/version_0_7-bugfixes-branch/lodel/src/tpl/index_migration.html?root=lodel&view=log
 * macros_techniques.html : http://sourcesup.cru.fr/cgi/viewvc.cgi/branches/version_0_7-bugfixes-branch/lodel/src/tpl/macros_technique.html?root=lodel&view=log

Fichiers finalisant la migration de la base de données :

 * création du 'sortkey' pour les entrées : http://www.lodel.org/download/makesortkey.phps
 * rétablir les accès restreints, gérés différement entre Lodel 0.7 et Lodel 0.8 : http://www.lodel.org/download/accesrestreint.phps
 * réorganiser les entrées d'index par langue : http://www.lodel.org/download/orderentriesbylang.phps

Fichiers permettant de finaliser la migration du ME Revues.org. Attention, ces scripts sont donnés à titre indicatif, et peuvent ne pas fonctionner si vous avez modifié le modèle éditorial originale.

 * mettre à jour les champs multilingues en 0.8 qui ne le sont pas en 0.7 (exemple pour le champ introduction de la table publications) : http://www.lodel.org/download/makeintroductionml.phps
 * rétablir l'image d'accroche d'une entité (champ icône en 0.7, et document annexe « image d'accroche » en 0.8) : http://www.lodel.org/download/makeiconedocannexe.phps
 * rétablir les fac-similés : http://www.lodel.org/download/makeannexepdf.phps