La migration de Drupal 5 à Drupal 6
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 | / | ||
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 ;). | |
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
- 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
- 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
- Pas de séparation claires entres les fonctionnalités/contenus
- gDTC est également fournisseurs de contenu, ex: http://www.april.org/fr/trombinoscope.php
- 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
- Désactiver le modules qui ne sont pas conservé ainsi qu'alexandrie et gdtc
- 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
- Réaliser une version D6 de gdtc et gdtc_auth. Idéalement avec tests automatisés.
- Réaliser une version D6 d'alexandrie. Idéalement avec tests automatisés.
- 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]
- http://www.april.org/fr/modifications-dans-le-code-de-drupal
- Les fichiers common.inc.diff et user.module.diff dans /var/www/www.april.org/htdocs/le-coin-de-snip
Non 'documentées et à creuser[modifier]
- .htaccess
- includes/common.inc
- modules/user/user.module
- robots.txt
- sites/default/settings.php
- update.php