Drupal 8 - Migrate - exemples de migrations "réelles"

Posté le Lundi 21 août 2017 - 07:17
Dernière mise à jour le Mercredi 23 août 2017 - 10:04

Ce site à été construit à l'origine sous Drupal 6, migré sous drupal 7 en 2012, Je suis en train de préparer la migration de ce site vers Drupal 8 via la Migrate API.

Vu que je galère pas mal à trouver des exemples à jours, complets et qui fonctionne, je me suis dis que ce serait intéressant de partager mon expérience, le plus simple étant de partager directement mon module de migration, je l'ai donc mis directement sur github afin que vous puissiez piocher directement dedans pour voir comment je migre l'intégralité du contenu de ce site vers une installation de Drupal 8.

J'ai tenté de faire un readme assez complet, mais les recettes YAML ne sont pas encore super bien documentées, c'est à faire... Pour l'ensemble, c'est du glané à droite à gauche, sur internet mais aussi dans les exemples du module migrate_plus.

En vrac ce que vous pourrez trouver :

  • Explications de base sur la mise en oeuvre de migrate
  • Migration de termes de taxonomie (les vocabulaires étant été recréés préalablement)
  • Migration de noeuds (pareil, les types de contenus et les champs sont recréés manuellement)
  • Migration de « managed files » (fichiers liés à des noeuds (comme l'image d'introduction de ce post)
  • Migration et traitement (process) de zone  « wysiwyg » avec fichiers intégrés : j'en ai profité pour « ranger » l'ensemble des fichiers uploadés dans ckeditor.
  • Migration d'alias d'url (module path)
  • Migration de redirections (module redirect)
  • Migration de flag (les noeuds de ce blog ont des "likes" qui sont des flags.
  • Migration de commentaires
  • Migration d'un champ "images" multiple, avec le plugin iterator

Sera fait dans les prochains jours :

  • Documentation des fichiers YAML, Sources et Process.
  • Migration de paragraphs, si j'ai la foi.

Comme je l'ai dis, je me suis beaucoup inspiré du sous-module migrate_example de migrate_plus, c'est pourquoi il reste encore pas mal de commentaire en anglais faisant référence à des types de contenu « beer », qu'il faut que j'adapte.

Remarque : Je ne suis pas un expert de migrate, l'ensemble est probablement améliorable, mais comme disait un sage : « le mieux est l'ennemi du bien », je cherche avant tout à avoir quelque chose qui fonctionne. Ceci étant dit, n'hésitez-pas à me faire part de vos remarques, commentaires ou questions via les commentaires ou bien les issues sur Github ! Je suis preneur de toute idée d'amélioration.


Le tout est disponible sur Github : https://github.com/kgaut/kgaut_migrate.

 

Ajouter un commentaire

Ne sera pas publié

HTML restreint

  • Balises HTML autorisées : <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et les adresses courriel se transforment en liens automatiquement.
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...