La migration de Drupal 5 à Drupal 6

De April MediaWiki
Aller à la navigationAller à la recherche


Cette page est conservée a titre historique

Cette page a été utilisée pour préparer la migration du site principale de l'association de Drupal 5 à Drupal 6. Cette migration a été réalisée l'été 2010. Elle fait partie d'un projet plus vaste : la mise en place d'une seconde version pour le site Web sous Drupal.

Liste des modules Drupal utilisés[modifier]

Liste des modules Drupal 5 utilisés sur le site et les équivalents sous Drupal 6 :

Module Version Commentaire Utile Notes sur la mise à jour
admin_menu 6.x-1.5 / Purement gadget, pas activé
alexandrie Module interne April A vérifier si le module fonctionne sous Drupal 6 Utile, peut être temporairement désactivé
advcontact 6.x-1.1 / Oui
affiliates 6.x-1.10 / Est dans la catégorie "module inutile de démocratisation", à supprimer.
alinks 6.x-1.0-rc1 La dernière release pour D6 date de 15 otc. 2008 et est une RC Oui
cck 6.x-2.6 / Oui Il faut d'abord mettre à jour les modules en dépendant en version 5.x cf. http://drupal.org/project/cc
contact_forms 6.x-1.12 / Sans doute utilisé comme advcontact
contemplate 6.x-1.1 / oui, par snip
date 6.x-2.4 / il serait utile de s'en servir avec CCK pour des champs de date, mais il y a un bug avec la présence event.
diff 6.x-2.0 Oui
docs ? Pas de version 6.x ? n'est pas activé, n'est donc pas utilisé, est donc à supprimer.
downld ? Pas de version 6.x; Contournement dans les correctifs ? n'est pas activé, n'est donc pas utilisé, est donc à supprimer.
event 6.x-2.x-dev Development snapshot Oui à priori, mais va être supprimer pour une autre solution de gestion des événement. Possibilité d'export en iCal pour un migration vers Date+Calendar après migration en D6. cf http://drupal.org/node/524394
event_manager ? Pas de version 6.x; Peut être remplacé par Event + Signup + Calendar + Signup Scheduler Va être supprimer comme event.
footnotes 6.x-2.3 / Oui
gdtc Module interne April A vérifier si le module fonctionne sous Drupal 6 Oui
gdtc_auth Module interne April A vérifier si le module fonctionne sous Drupal 6 Oui
i18n 6.x-1.4 / Oui
importexportapi 6.x-1.x-dev Development snapshot Utilisés lors de la migration. Peut être supprimé
insert_view 6.x-2.x-dev / Oui, pour insérer le contenu d'une view dans un node. Déconseillé suite à des problème de sécurité, cf. http://drupal.org/project/insert_view
link 6.x-2.8 / Oui, sous-module de CCK.
liquid ? Pas de version 6.x ? n'est pas activé, n'est donc pas utilisé, est donc à supprimer.
media_mover 6.x-1.0-beta2 / A supprimer.
mimemail 6.x-1.0-alpha2 Development snapshot A garder, sans doute utilier pour des mails en HTML par des modules tel que contact ou tell a friend.
node_clone 6.x-1.0 / Oui, pas fondamental mais est utile J'ai cru comprendre que son fonctionnement avec i18n n'est pas recommendé. A supprimer donc.
node_import 6.x-1.0-rc4 / Utilisés lors de la migration. Peut être supprimé
nodeteaser Pas de version 6.x; Nouvelle version dans les contributions Inutile avec Drupal 6 ? Je pense, mais si une fonction est utile, voir : http://drupalmodules.com/module-finder?title=teaser&v=6.x

à supprimer lors de la migration et VÉRIFIER que tout vas bien pour les teasers.

nodewords 6.x-1.0 / HORREUR ! Ajoute la premiere ligne (pas forcément une phrase complete) dans les entets HTML... A SUPPRIMER.
noreqnewpass 6.x-2.0 / Oui, dépendence de gdtc_auth
og 6.x-2.0 / à supprimer et trouver une solution correcte pour gérer les permissions (des groupes de travail).
panels 6.x-3.3 / Oui cf. http://drupal.org/node/515140 pour les notes sur une mise à jour du Panels 2 vers Panels 3
pathauto 6.x-1.3 / Oui Après mise à jour, il est nécessaire de vérifier la configuration. cf INSTALL.txt
path_redirect 6.x-1.0-beta6 / Pas utilisé, bye ;).
print 6.x-1.10 / Oui Requiert Drupal 6.11+
private_upload 6.x-1.0-rc2 / Test pour le chargement des fichiers. Peut être supprimé
quotes 6.x-1.40 / Oui
search404 6.x-1.9 Ne sera peut-être pas utile avec D6 Oui, mais n'est pas la solution parfaite. http://www.april.org/wws/arc/siteweb/2008-12/msg00016.html Il ajoute un formualire de recherche car la recherche a partir d'une page 404 ne fonctionne pas.
service_links 6.x-1.0 / Est dans la catégorie "module inutile de démocratisation", à supprimer.
simplenews 6.x-1.0-rc6 / ? n'est pas activé, n'est donc pas utilisé, est donc à supprimer.
syndication 6.x-1.6 / Semble répondre à un problème. A bien regarder pour voir comment l'utiliser.
tableofcontents 6.x-3.5 / oui
tagadelic 6.x-1.2 / Oui, mais pas forcement nécessaire.
taxonomy_batch_operations ? Pas de version 6.x; Peut être remplacé par VBO (http://drupal.org/project/views_bulk_operations) A supprimer, sans doute utiliser lors de la migration. Utile uniquement pour des administrateurs.
tellafriend 6.x-2.8 / Est dans la catégorie "module inutile de démocratisation", à garder pour le plaisir d'alxc.
themesettingsapi 6.x-1.4 / sans doute utilisé pour le thème personalisé. A garder.
token 6.x-1.12 / oui, pour des questions de dépendances
uploadpath 6.x-1.0 / semble répondre au problème soulevé par le grand bazar du dossier files mais, paradoxalement ne semble pas avoir été utilisé jusqu'au bout. Peut être désactiver, à mettre en place pour la D6.
views 6.x-2.6 / Oui Conversion manuelle de chaque view nécessaire après la mise à jour.
view_unpublished 6.x-1.0 / Oui
webform 6.x-2.7 / Ne semble pas être utilisé puise ce module ajoute un type de contenu et aucun node de type webform n'existe. A supprimer.
xmlsitemap 6.x-1.2 / ??? peut-être utile pour voir la liste des pages. pourquoi pas ??? Est utile pour le référencement. A GARDER (snip) cf. INSTALL.txt pous instructions de mise à jour

Ce qu'on fait des modules[modifier]

À désactiver, désinstaller et supprimer[modifier]

À supprimer lors du nettoyage.

Sans scrupule[modifier]

  • docs
  • downld
  • importexportapi
  • liquid
  • media_mover
  • node_import
  • nodewords
  • path_redirect
  • private_upload
  • simplenews
  • taxonomy_batch_operations

Ces modules ont déjà été supprimés sur april.org

Un mot à dire[modifier]

  • affiliates : s'en souvenir pour une éventuelle future utilisation (MI2D).
  • service_links : s'en souvenir pour une éventuelle future utilisation (MI2D).
  • webform : s'en souvenir pour une éventuelle future utilisation.

Entre les deux[modifier]

A trouver une solution de remplacement[modifier]

À [ supprimer / garder / mieux configurer / tester ] et trouver la solution de préférence lors de la migration

  • event : trouver une autre solution pour gérer les événements.
  • event_manager : trouver une autre solution pour gérer les événements.
  • og : trouver une autre solution pour gérer les permissions.
  • view_unpublished : trouver une autre solution pour gérer les permissions.
  • nodeteaser : il est sans doute inutile pour D6. Il faut vérifier qu'il n'y a pas de problèmes pour les teasers (http://drupalmodules.com/module-finder?title=teaser&v=6.x).
  • search404 : bien utile, mais n'est pas la solution parfaite. http://www.april.org/wws/arc/siteweb/2008-12/msg00016.html Il ajoute un formulaire de recherche car la recherche a partir d'une page 404 ne fonctionne pas.
  • node_clone : il est est indiqué qu'il y a des risque lors d'une utilisation avec i18n. Si nécessaire, à vérifier (sinon faire copier/coller).

À configurer pour bien les utiliser[modifier]

  • alinks
  • date
  • syndication
  • uploadpath

Modules internes, à faire migrer[modifier]

  • alexendrie
  • gdtc
  • gdtc_auth


À garder[modifier]

Les fondamentaux[modifier]

  • cck
  • i18n
  • panels
  • pathauto
  • views

Dépendances[modifier]

  • noreqnewpass (de gdtc_auth)
  • token (de pathauto et peut-être de d'autres modules)

Pas fondamental mais utile[modifier]

À supprimer s'ils posent problème.

  • admin_menu
  • contemplate
  • tagadelic
  • tellafriend
  • xmlsitemap

L'édition[modifier]

  • diff
  • footnotes
  • print
  • tableofcontents

Utile / sous-module / Autre[modifier]

  • advcontact
  • contact_forms
  • insert_view
  • link
  • mimemail
  • quotes
  • themesettingsapi

Modules potentiellement intéressants[modifier]

  • workflow
  • devel
  • taxonomy_access
  • node_access ou content_access
  • taxonomy_hide


Sous-modules de CCK[modifier]

  • date
  • link
  • autocomplete_widgets / cck_autocomplete
  • computed_field
  • email
  • adressess
  • phone
  • filefield
  • imagefield
  • Node Reference du CCK, ou Node Insert (pour insérer un node dans un autre) LAL

Notes[modifier]

  • SVN ou GIT : SVN installé
  • Installer Drush
  • [en cours]: Mettre en place D5 propre pour les tests
  • Rendre un peu plus propre la version de production (enlever des modules, modifier l'emplacement des modules)
  • Voir l'avancée de gDTCv2 : DTCv2
  • Comment régler la disparition du module teaser notamment pour les vidéos : http://www.april.org/fr/videos

---

  • Changement des types de contenus et taxo qui vont avec :
    • Backup BDD
    • Mettre le site en maintenance
    • Créer les nouveaux types de contenus, les configurer
    • Créer les nouveaux taxo, les configurer
    • Modification
    • Vérifier les permissions
    • Vérifier les views : SiteWeb:Liste des views
    • Tagadelic
  • Tente une migration, problèmes :
    • Thèmes
    • gDTC
    • Views
    • Panels

Concernant node_clone et i18n. Après lecture rapide de http://drupal.org/node/365797, il semblerait que les problèmes soient présent en D6 et D5. A tester donc. Si après test, des conflits avec i18n sont confirmés, selon le(s) cas d'utilisation, il est probablement possible de créer un module ad-hoc pour cloner de node d'un ou des types de contenus particulier.--Pierre Buyle 3 mai 2010 à 15:22 (CEST)


Après discussions sur #drupapril et recherche:

  • Une migration par étapes avec un site D5 et un site (ou plus) D6 n'est pas nécessaire/facilement faisable
  • Une miseà jour du code des modules April (gdtc, gdtc_auth et alexandrie) est nécessaire cf. http://drupal.org/update/modules/5/6
  • La question de la gestion des uploads est indépendante de la migration
  • Tous les modules externes non-april à conserver sont disponibles pour D6
  • Après la migration, il sera probablement nécessaire de vérifer et d'adapter la configuration de certains modules. Dont
    • passage de views 1 à Views 2
    • passage de Panels 2 à Pannels 3
    • passage à l'utilisation de token dans pathauto

Proposition de plan de migration[modifier]

  • Sur un Drupal de test
    1. Désactiver le modules qui ne sont pas conservé ainsi qu'alexandrie et gdtc
    2. Itérer des tentative de migrations sur des périodes courtes (1 à 2 semaines max, en fonction de ressources) jusqu'à
      • Mise à jour 5.x sans erreurs (y compris tous le modules conservés)
      • Mise à jour 6.x sans erreurs (y compris tous le modules conservés)
      • Validation de la migration sur base du point suivant.
  • Déterminer un mode de validation du site après migration
    • Un ensemble de plan de tests (par exemple en partant de user stories ou de use cases) ?
    • Groupe test connaissant le site et ses usages prèt à (re)tester le site migré (plusieurs fois si nécessaire) ?
    • etc.
  • Sur des Drupal 6.x séparés
    1. Réaliser une version D6 de gdtc et gdtc_auth. Idéalement avec tests automatisés.
    2. Réaliser une version D6 d'alexandrie. Idéalement avec tests automatisés.
    3. Déterminer un solution alternative au module event (Date + Calendar + Signup + etc.) et l'importation de l'existant depuis l'export iCal réalisé à partir d'event (cf. http://drupal.org/node/524394)

Notes, discussions[modifier]

  • Je ne m'attends pas à de gros problème pour les mises à jour 5.x et 6.x (hors alexendrie et gdtc) puisque pour la plupart de module les version 6.x existent depuis un certains temps avec une base d'utilisateurs conséquente. Le module suspects pour ce point sont alink, node_clone et view_unpublished.--Pierre Buyle 3 mai 2010 à 16:49 (CEST)
  • Pour l'agenda, un module ad-hoc utilisant Date + Calendar + Signup + etc. peut facilement construit grâce au module Features (cf. http://drupal.org/project/features)--Pierre Buyle 3 mai 2010 à 16:49 (CEST)

Modifications des fichiers de Drupal ou de modules sur le site[modifier]

Documentées[modifier]
Non 'documentées et à creuser[modifier]
  • .htaccess
  • includes/common.inc
  • modules/user/user.module
  • robots.txt
  • sites/default/settings.php
  • update.php