Quand nous commençons un projet dans Drupal 8 il y a des fois que nous constatons qu'il n'existent pas encore tous les modules que nous avions dans Drupal 7. Alors il ne nous reste que faire la migration! On va montre notre parcours dans la migration du module Node Revision Delete.
2. Adrian Cid Almaguer (adriancid)
2
https://www.drupal.org/u/adriancid
https://github.com/adrian-cid/
@adriancid
3. Avant de commencer
3
Vous allez souffrir 45 minutes de quelqu'un qui ne parle pas bien le français ni l'anglais.
Pero seguramente en español todos entenderían esta presentación. No es cierto?
4. Quelques concepts ...
Migration
Voyages que font certaines espèces d’animaux, soit périodiquement, soit à des
époques irrégulières.
4
(Informatique) Passage d'un état existant d'un système d'information ou d'une
application vers une cible définie dans un projet ou un programme. Autrement
dit, c'est changer de logiciel ou de machine, ce qui peut impliquer des traitements
complexes des données déjà existantes.
5. On parlera de:
• Quelques conseils qui vont nous aide pendant la migration
• Comment convertir quelques éléments de Drupal 7 à Drupal 8
• Nos résultats jusqu'a aujourd'hui
• Où sommes-nous dans la migration?
5
6. Il existe un guide pour convertir un module de Drupal 7 a Drupal 8?
https://www.drupal.org/docs/8/converting-drupal-7-modules-to-drupal-8
6
Je crois qu'il existe des
conseils en général, mais,
une recette pour tout les
modules, c'est difficile de
trouver.
Mais il y a des éléments qui
sont commun pour tous les
modules.
7. Pourquoi cette présentation?
Je vais essayer de vous montrer qu’est-ce qu’on a fait; notre parcours
dans la migration de:
Node Revision Delete
https://www.drupal.org/project/node_revision_delete
7
8. Eureka!!!
Alors je vais pouvoir migrer mon module
avec les conseils que vous allez donner ici?
8
Je ne crois pas, mais on va te donner
des idees pour faire le travail plus facile!
9. Avant de commencer:
Notre but avant de commencer la migration a été vraiment d'avoir une module pour
nettoyer les revisions de nodes dans Drupal 8. Et nous connaissions le module Node
Revision Delete, mais on savait aussi qu'il n'existe pas pour Drupal 8.
9
Bon, c'est facile:
drush migrate node_revision_detele -from 7 -to 8
10. Notre première tâche: Rechercher les modules existants.
Voici ce qu'on a trouvé pour éliminer les revisions:
• Node Revision Cleanup ( https://www.drupal.org/project/node_revision_cleanup )
• Node Revision Restrict ( https://www.drupal.org/project/node_revision_restrict )
• Revision Deletion ( https://www.drupal.org/project/revision_deletion )
• Node Revision Delete ( https://www.drupal.org/project/node_revision_delete )
10
Pensez vous que cette tâche est important? Pour quoi?
La plus important, elle va nous aide beaucoup.
11. Révision des modules existants
Pour chaque module:
• Rechercher information dans son page de drupal.org
• Étudier le code
• Lire tous les issues, ouverts et fermés
11
12. Rechercher des points négatifs et favorables
• Cette tache nous permettra d'écrire la section “Similar Projects”
Tips for a great project page (https://www.drupal.org/node/997024)
12
• Découvrir des fonctionnalités qui sont pertinent dans chaque module
14. Annoncer dans la communauté qu'on va faire la migration
14
https://www.drupal.org/project/contrib_tracker
15. Utilisez le modèle pour les “issues”
15
http://www.jrockowitz.com/blog/wrangling-the-webform-issue-queue
Combien d'entre nous avons lu (pas vu) cette message?
Combien d'entre nous avons fait ce qu'il dit?
21. Les variables de configuration
21
https://www.drupal.org/node/1667896
hook_install() => .settings.yml
C'est n'est pas obligatoire la definition
des variable mais c'est fortement
recommande.
24. Les permissions
24
When I should create a new permission in my custom module?
hook_permission() => .permission.yml
Lors de la création d'un module contrib, vous devez considérer que vous ne connaissez
probablement pas toutes les possibles utilisations.
25. Coding standards
La function t()
Maintenant vous devez utiliser la fonction t()
seulement si vous êtes dans une procedural
code.
Si vous avez une code POO vous devez
utiliser le méthode $this->t(), s'il n'est pas
disponible vous pouvez utiliser le trait
StringTranslationTrait
25
https://www.drupal.org/project/coder
https://chromatichq.com/blog/drupal-code-standards-what-are-they
28. Page de configuration pour chaque type de contenu
28
admin/structure/types/manage/article
8.x-1.0-alpha2
7.x-2.7
On a pris des idées d'autres
modules
30. On connaît bien la version 7.x-2.6, alors on peut aider avec 7.x-2.7
30
Maintenance status: Actively maintained
Development status: Under active development
Reported installs: 3,066 sites currently report using this module.
Downloads: 23,369
Project page last modified: 19 October 2015
Latest version: 7.x-2.6 (2014-Sep-01)
Latest dev version: 7.x-2.x-dev (2016-Sep-29)
7.x-2.6
7.x-2.7
Maintenance status: Actively maintained
Development status: Under active development
Reported installs: 3,162 sites currently report using this module.
Downloads: 23,369
Project page last modified: 30 May 2017
Latest version: 7.x-2.7 (2017-May-25)
7.x-2.7
31. Et on peut aller plus loin encore -> 7.x-3.0
31
https://www.drupal.org/project/node_revision_delete
33. Mais on a besoin d’aide
33
https://www.drupal.org/project/node_revision_delete
https://www.drupal.org/node/2866825
Je suis maintenant le maintainer du
module, mais on a besoin d’autres
qui puissent critique et nous aide au
moins avec son opinion à propos de
notre travail.