Drupal 6 est sans aucun doute une version majeure. Plus ergonomique, plus de fonctions, plus de vélocité et près de 4mo de Patch par rapport à la 5.7. Il était donc grand temps que je fasse la migration vers cette nouvelle mouture. Et après une journée complète passée là dessus, une chose est certaine, c'est de loin la migration Drupal la plus pénible que j'ai eu à réaliser depuis que je travaille avec cet outil.
Tout d'abord, si j'ai un conseil à donner, c'est de bien sauvegarder votre base comme il se doit avant de commencer à migrer. En effet, vu le nombre de changements, sur les 7 sites que j'ai converti, 3 sont partis en sucette live... Un problème très sûrement lié à l'histoire des sites en question et certaines incohérence qui sont apparues en base au fil du temps. Toujours est il que j'étais bien content de pouvoir revenir en arrière lorsque j'ai par exemple découvert que la taxonomy de tous les nodes avait volée...
Dans la série trucs étranges lors de la conversion, j'en ai eu deux assez surprenant. Tout d'abord l'impossibilité de créer plus de deux nouveaux nodes. La raison était que l'entrée correspondant dans node_revision avait un vid=0. Au deuxième coup donc, la contrainte de non duplication des ID s'est levée, et les nodes sont rejetés. La raison en était que sur 3 sites sur 5 le champs VID n'était pas en mode "auto incrémentation". Pour régler cela (sous postgresql) :
La deuxième chose est que mes nodes étaient invisibles pour les anonymes. Et là aussi pas pour tous les sites, ce qui localise le problème à la conversion de la base. La cause en est cette fois que la table node_access était vide. Pour régler cela et ajouter la régle de base pour rendre les nodes visibles à tous :
Ensuite, de temps en temps, je me suis retrouvé dans l'impossibilité d'accéder à quoi que ce soit. L'astuce que j'ai trouvée est de relancer l'update (update.php) à vide.
Ce détail mis à part, la conversion se passe globalement sans encombres. C'est après que les soucis commencent
Déjà avec les thèmes et phptemplate qui voit ses identifiants un peu changer (par exemple $sidebar_right devient $right). Il faut bien étudier les thèmes fournis en standard pour retrouver un affichage correcte. De manière sous-jacente, c'est tout le moteur de thème qui a été descendu au niveau du core de Drupal. Faites donc aussi attention si vous utilisez des fonctions de thème dans vos modules et allez voir le nouveau hook_theme.
Dernier point pour porter vos thèmes, il faut maintenant un fichier .info par dossier de thème, comme pour les modules. Prenez exemple sur ceux qui sont fournis en standard.
Enfin, le gros du temps passé l'a été à convertir les modules. Pas mal de petites choses ont bougées et le résultat est qu'aucun ne passait. Déjà une nouvelle information est apparue dans le fichier .info : core=\"6.x\". Sans cela, le module ne s'active pas. Autre changement, pour les dépendances, le mot clef devient dependencies[]=.... Et contrairement à ce que laisse supposer son nom, cette propriété ne prend qu'une dépendance à chaque fois.
L'autre point problématique est la nouvelle gestion des menus. Il y a eu là une pure et simple ré-écriture du moteur. Un changement en profondeur vous obligeant à revoir complètement les hook_menu. L'idée principale est que la notion de $may_cache disparaît au profit d'un système de motifs. Plus d'information à ce sujet
Dans la même série, la fonction l(...) ne prends plus que 3 paramètre au lieu de 6. Le troisième étant le classique tableau d'attribut qui reçoit maintenant les 3 anciens paramètres (ex 'html'=>true).
Dernier point, il était de coutume de mettre dans la partie !$may_cache du hook_menu, des choses qui n'avaient au fond rien à faire comme des chargements de feuilles de styles ou javascript. Il faut maintenant placer ce type de code dans le hook_init.
Voilà pour le plus gros. Il ne me reste maintenant plus qu'à tester tout cela et à reconnecter au fur et à mesure les fonctions qui sont passées à l'as sans que je ne m'en aperçoive.
- répondre
Zanko, le 19 May, 2008 - 03:16Ouais bah moi je crois que vais rester sous drupal 5 un bon moment
. Déjà que je l'ai installé alors que le six était déjà sorti... Je ne vais pas me prendre la tête. Sinon les changements de noms de variables d'une version à l'autre je trouve ça moyen...
- répondre
scorpio810 , le 19 May, 2008 - 04:32merci de ces tuyaux , j'avais testé l'upgrade 5.7 »» 6.2 sur mon server perso avant de le passer en prod .
j'en retient que beaucoup de mods ne sont pas encore compatible ,les galeries chez moi basées sur la taxonomy ne fonctionnaient plus du tout ,et avant que je trouve une solution le site de test est parti en sucette .........
on verras cela dans quelques mois , mais pour l'instant je reste en 5.7
- répondre
Ulhume, le 19 May, 2008 - 05:41@scorpio c'est la bonne approche, tous les modules contrib que j'utilise sont portés, donc vu que personne n'allait faire les miens à ma place, fallait bien s'y mettre
Ceci dit, c'est à ce genre de chose que l'on voit la force et la faiblesse de drupal. Toutes les interfaces sont très vite mises en place, quitte à être cassée par la suite, induisant des coûts. C'est une approche qu'il faut garder en tête lorsque l'on développe pour un client.
- répondre
Ulhume, le 19 May, 2008 - 07:37@Zanko
Comme le disais à scorpio, ce genre de chose va avec la philosophie de Drupal. D'une version à l'autre, ce qui avait besoin de changer a réellement changé et la compatibilité n'est généralement pas assuré. C'est vrai que c'est un coût à prévoire lorsque l'on utilise cet outil professionnellement (ou pas d'ailleurs). Mais la contrepartie c'est que le produit est stable et relativement peu "bloated" pour un 6ième version et autant d'ajout de fonctionnalités.
- répondre
Mathias HOUNGBO , le 19 May, 2008 - 17:45faudrait que je me mettes à Drupal,
des bonnes urls sur des tutos ??
- répondre
scorpio810 , le 19 May, 2008 - 21:47regarde ici
http://www.generation-debian.org/forums/viewtopic.php?p=5094#p5094
et la reference http://drupal.org/handbooks
- répondre
Ulhume, le 25 May, 2008 - 00:04@Mathias Le moins que l'on puisse dire est que Drupal n'est pas compliqué à mettre en oeuvre. Essayes-le tu verra qu'il n'y a rien de bien compliqué.
- répondre
Mathias HOUNGBO , le 25 May, 2008 - 01:21ok je m'y mets là, je vais tester en local sur mon pc,
et si tout est ok passer mon blog de wordpress vers drupal
- répondre
scorpio810 , le 25 May, 2008 - 11:44@ matias
http://drupal.org/search/node/wordpress
- répondre
Florent , le 12 June, 2008 - 10:17Bonjour,
Je me tate, j'envisage de migrer mon site avec drupal, j'hesite à commencer avec la V6 du fait qu'il manque des modules et qu'il va m'en falloir....
D'un coté j'hesite à me lancer avec la V5, bosser quelques mois sur une version qu'il va falloir migrer... d'un coté une fois que les modules seront traduits, cela devrait m'eviter les aleas que vous avez eu.
Connaissez vous des forums actifs pour developpeurs drupal. ( je serai obligé de developper des modules)
Votre avis, merci
Florent
- répondre
Ulhume, le 12 June, 2008 - 10:22@Florent
Je ne saurait trop vous conseiller de tout de même passer à la v6. Les modules principaux sont déjà portés (CCK, Views, etc.), ceux qui sont très utilisés sont portés à un rythme soutenu, ne reste que ceux qui sont peu utilisés. Et dans ce dernier cas, ce sont souvent des modules assez simple à hacker soi-même pour les rendre compatible et ainsi aider la communauté en retour du service rendu.
Pour ce qui est des forums actifs, en Anglais c'est clairement sur Drupal.org que ça se passe. Pour le français c'est plus léger et je ne connais que drupal.fr, ou ici
- répondre
Florent , le 12 June, 2008 - 12:10Pouvez-vous me conseiller les modules essentiels et autres bon tuyaux que vous jugerez utile pour mon projet :
Je dois refondre pour commencer les deux principales rubriques de mon site: Annuaire et petites-annonces.
Ce que je veux faire :
Annuaire, une classement dans rubriques croisés, via une page de soumission :
En fonction des champs renseignés, le site inscrit sera visible dans X catégories et X sous catégories.
ex: visible dans la catégorie statut (freelance - agence - collaborateur)statut>region>departement>ville>metier general> x spécialités, dans l'ideal j'aimerai que les catégories et sous cat soient interchangables sur l'entrée dans l'annuaire par statut ou region. Si je rentre depuis la region, je choisis freelances, etc...si je rentre depuis freelance, je choisis la region etc...
Apres je veux rajouter des options genre dans le listing avoir sur chaque fiche un recommander, voter (five star!), commenter, enfin les classiques.
+ un lien vers une page qui afficherait toutes les infos site/membre comme les annonces qu'il a passé et autres services auquel il participe d'ou ma raison de migrer
) mais je mettons pas la charrue avant les boeufs, il me faut deja traduire l'existant ( lesentreprenautes.com) et me familiariser avec drupal
J'aimerai que l'affichage se fasse sur les derniers inscrits avec affinage du listing a fur et à mesure que l'on s'enfonce dans la structure.
Sur la partie user, je voudrais attribuer des droits spécifiques sur l'annuaire à certains, modifications des fiches sans confirmation de ma part, et revalidation pour les autres.
Une autre question que je me pose c'est si Drupal me permettra de gerer facilement tout cela dans le back...
A priori cck et taximony devrait me permettre de creer la structure de l'annuaire. si j'ai bien compris ( l'anglais parfois..) j'ai deux facon de creer des rubriques l'une structuré par les mots clés taxinomy et l'autre par creation de rubriques plus classiques. dans mon cas taximony serait a choisir, a partir d'un certain niveau...
Voila pour un debut ( j'ai poste a peu pres la meme chose sur le site drupal.org) je crois qu'ils sont encore en train de traduire mon anglais.
). Tous les bons conseils sont les bienvenus.
Sinon je n'ai pas vu de forum sur ce site( faut'il s'inscrire?)
Je vais me tourner vers la version 6
Merci pour votre reponse ci-dessus.
Cordialement,
Florent
- répondre
Ulhume, le 12 June, 2008 - 18:13Je ne vois rien de bien sorcier dans ce que tu cherches à faire avec CCK et Views, cela devrait être assez rapide, juste le temps de prendre l'outil et ces deux modules en main. Pour le vote, j'ai déjà vu un module contrib. Une bonne astuce pour trouver vite fait un module c'est d'aller dans google et de taper quelque chose du genre :
Avec mon_besoin replacé par quelque chose du style vote ou rating. Tu devrais rapidement trouver ton bonheur.
Pour le forum j'avoue ne jamais y avoir causer, mais il m'est arrivé de tomber sur un http://drupalfr.org/forum
Poster un nouveau commentaire