Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 50 Publicité

[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9

Télécharger pour lire hors ligne

[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9

Taller realizado en la DrupalCamp Spain de 2022 centrado en el desarrollo para Drupal 9.

En el taller se mostrara la creación de un modulo básico, veremos ejemplos existentes y como poder aprovecharlos para hacer nuestros desarrollos a medida.

Sera necesario tener instalado el entorno de desarrollo, un entorno con Drupal en Docker (Lando, Ddev, Docker4Drupal), LAMP, MAMP, WAMP o similar para poder trabajar.

Se proporciona una OVA (VirtualBox 6.1) para facilitar el desarrollo.

Recomendación:
- Drupal 9. Instalado y funcionando.
- IDE de desarrollo. En la maquina virtual estará disponible Code.
- Se recomienda usar la maquina virtual para facilitar la sesión.

Algunos módulos que veremos, por ello es aconsejable instalarlos.
- Modulo Devel
- Modulo Coder
- Módulo Examples

Están disponibles maquinas virtuales o instaladores para facilitar:
- Docker (+ Lando) / Maquina virtual (VitualBox 6.1)
- http://drupalcamp2022.keopx.net/ (recomendado)

Presentación
- http://drupalcamp2022.keopx.net/

[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9

Taller realizado en la DrupalCamp Spain de 2022 centrado en el desarrollo para Drupal 9.

En el taller se mostrara la creación de un modulo básico, veremos ejemplos existentes y como poder aprovecharlos para hacer nuestros desarrollos a medida.

Sera necesario tener instalado el entorno de desarrollo, un entorno con Drupal en Docker (Lando, Ddev, Docker4Drupal), LAMP, MAMP, WAMP o similar para poder trabajar.

Se proporciona una OVA (VirtualBox 6.1) para facilitar el desarrollo.

Recomendación:
- Drupal 9. Instalado y funcionando.
- IDE de desarrollo. En la maquina virtual estará disponible Code.
- Se recomienda usar la maquina virtual para facilitar la sesión.

Algunos módulos que veremos, por ello es aconsejable instalarlos.
- Modulo Devel
- Modulo Coder
- Módulo Examples

Están disponibles maquinas virtuales o instaladores para facilitar:
- Docker (+ Lando) / Maquina virtual (VitualBox 6.1)
- http://drupalcamp2022.keopx.net/ (recomendado)

Presentación
- http://drupalcamp2022.keopx.net/

Publicité
Publicité

Plus De Contenu Connexe

Similaire à [DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9 (20)

Plus par Keopx (20)

Publicité

Plus récents (20)

[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9

  1. 1. Introducción al desarrollo de módulos en Drupal 9 ZARAGOZA 3-5 JUNIO DRUPALCAMP SPAIN 2022
  2. 2. ZARAGOZA 3-5 JUNIO DRUPALCAMP SPAIN 2022 Arratsalde on Buenas tardes Good afternoon
  3. 3. INFORMACIÓN DEL PONENTE 1 ● Drupal association ● Drupal Core && Drupal contrib module && Drupal Mentor ● Asociación Española de Drupal ● G.D.O Basque Country ● … DRUPALCAMP Zaragoza 2022 BIOGRAFÍA Ruben Egiguren aka Keopx CONTACTO Drupal Developer, Software Libre enthusiast, new technologies and geek ● Blog: www.keopx.net ● Drupal: www.drupal.org/u/keopx
  4. 4. INFORMACIÓN DEL PONENTE 1 DRUPALCAMP Zaragoza 2022 Ruben Egiguren aka Keopx Posición Drupal Senior Developer at Digitalist Sweden Drupal Developer, Software Libre enthusiast, new technologies and geek
  5. 5. INFORMACIÓN DEL PONENTE 1 DRUPALCAMP Zaragoza 2022
  6. 6. De qué hablaremos 2 DRUPALCAMP Zaragoza 2022 De qué hablaremos
  7. 7. De qué hablaremos 2 DRUPALCAMP Zaragoza 2022
  8. 8. Estándares Herramientas Organización de módulos Organización de código Código Bonus De qué hablaremos 2 DRUPALCAMP Zaragoza 2022
  9. 9. ¿Quién sabe de qué? 3 DRUPALCAMP Zaragoza 2022 ¿Quién sabe de qué?
  10. 10. ¿Quién sabe de qué? 3 DRUPALCAMP Zaragoza 2022
  11. 11. ¿Quién sabe de qué? 3 DRUPALCAMP Zaragoza 2022 Conocer a los asistentes ● Instalación y crear contenido. ● Editar menús, bloques. ● Instalación y configuración de módulos. ● Desarrollado algún módulo. SIN MIEDO
  12. 12. Estándares 4 DRUPALCAMP Zaragoza 2022 Estándares
  13. 13. Estándares 4 DRUPALCAMP Zaragoza 2022
  14. 14. Estándares 4 DRUPALCAMP Zaragoza 2022 Drupal code standards ● https://www.drupal.org/docs/develop/standards/coding-standards(PHP) ● https://www.drupal.org/docs/develop/standards/javascript/javascript-coding-standards (javascript) ● https://www.drupal.org/docs/develop/standards/css/css-coding-standards(CSS) Documentación ● https://www.drupal.org/docs/develop/standards
  15. 15. Estándares 4 DRUPALCAMP Zaragoza 2022 Code ● https://www.drupal.org/docs/develop/development-tools/configuring-visual-studio-code Netbeans setup ● https://drupal.org/node/1019816 Eclipse ● https://drupal.org/node/75242
  16. 16. Herramientas 5 DRUPALCAMP Zaragoza 2022 Herramientas
  17. 17. Herramientas 5 DRUPALCAMP Zaragoza 2022
  18. 18. Herramientas 5 DRUPALCAMP Zaragoza 2022 Drush ● https://www.drush.org/ Devel ● https://drupal.org/project/devel Examples ● https://drupal.org/project/examples Coder ● https://drupal.org/project/coder
  19. 19. Estructura de directorios 6 DRUPALCAMP Zaragoza 2022 Estructura de directorios
  20. 20. Estructura de directorios 6 DRUPALCAMP Zaragoza 2022
  21. 21. Estructura de directorios 6 DRUPALCAMP Zaragoza 2022 ● /core todos los archivos proporcionados por core que no tienen una razón explícita para estar en el directorio /. ● /libraries contiene bibliotecas de terceros. No es utilizado por el núcleo de Drupal, pero se encuentra comúnmente en muchos sitios. ● /modules es el directorio en el que van todos los módulos personalizados y contribuidos. Este directorio contiene los subdirectorios contrib y custom, que pueden utilizarse para facilitar el seguimiento de los módulos. ● /profiles contiene perfiles aportados y personalizados. ● /themes contiene (sub)temas contribuidos y personalizados. ● /sites es el directorio utilizado para ejecutar las configuraciones multisitio de Drupal y se utiliza de la misma manera que en Drupal 7. Los módulos y temas en /sites/all/modules y /sites/all/themes anulan los de los directorios de módulos y temas base. Los módulos en /sites/SITENAME/modules y /sites/SITENAME/themes sustituirán a los demás para el sitio en cuestión. ● /vendor es el directorio donde van las dependencias de Composer, por ejemplo Symfony y Twig.
  22. 22. Estructura de directorios 6 DRUPALCAMP Zaragoza 2022 Detalles sobre el directorio /core, útiles sobre todo para los nuevos hackers del core: ● /core/assets - Varias librerías externas utilizadas por Core. jQuery, underscore, modernizer, etc. ● /core/misc - Código del frontend del que depende Drupal Core. ● /core/includes - Funcionalidad que es de bajo nivel para ser modular. Como el propio sistema de módulos. ● /core/lib - Clases de Drupal Core. ● /core/modules - Módulos de Drupal Core. ● /core/profiles - Perfiles de instalación de Drupal Core. Perfiles de instalación multilingüe mínimo, estándar, de prueba y de prueba por defecto. ● /core/scripts - Varios scripts CLI, utilizados principalmente por los desarrolladores. ● /core/tests - Tests de Drupal Core. ● /core/themes - Temas de Drupal Core.
  23. 23. Estructura de directorios 6 DRUPALCAMP Zaragoza 2022 Directorios ● /modules/contrib - Contiene los módulos de Drupal.org. ○ Nota: no se modifican estos módulos. Usar cweagans/composer-patches para aplicar parches. ● /modules/custom - Módulos desarrollados. ● /profile/contrib - Perfiles contribuidos. ● /profile/custom - Perfiles propios. ● /themes/contrib - Contiene los temas de Drupal.org. Nota: usa subtemas. ● /themes/custom - Temas propios o subtemas. ● /libraries - Contiene librerías de terceros como plugins, javascript, etc. Fuente: https://www.drupal.org/docs/understanding-drupal/directory-structure
  24. 24. Organizar el módulo 7 DRUPALCAMP Zaragoza 2022 Organizar el módulo
  25. 25. Organizar el módulo 7 DRUPALCAMP Zaragoza 2022
  26. 26. Organizar el módulo - custom 7 DRUPALCAMP Zaragoza 2022 Los módulos suele tener esta estructura: ● loremipsum.info.yml - Fichero de informacion. ● loremipsum.module - Fichero principal, implementación de hook ● loremipsum.install - (Des)Instalador del módulo, esquema de información. ● config/ - configuración del módulo, schema, views, etc. ● templates/ - Fichero relacionados con el tema (*.html.twig,...) ● translations/ - fichero de traducciones. ● css/ - Estilos CSS. ● images/ - Imágenes. ● js/ - Javascript. ● src/ - Código principal Fuente: https://www.drupal.org/docs/creating-custom-modules/basic-module-building-tutorial-lorem-ipsum-generator/basic-structure
  27. 27. Organizar el módulo - custom 7 DRUPALCAMP Zaragoza 2022 Los módulos suele tener esta estructura: ● src/Controller/ - controlador ● src/Entity/ - Entidad ● src/EventSubscriber/ - EventSubscriber ● src/Form/ - Formulario ● src/Plugin/ - Plugins de todo tipo, bloques, campos, migrate, etc. ● src/Plugin/Block/ - Plugins de todo tipo, bloques, campos, migrate, etc. ● … Fuente: https://www.drupal.org/docs/creating-custom-modules/basic-module-building-tutorial-lorem-ipsum-generator/basic-structure
  28. 28. Qué deberíamos leer/conocer 8 DRUPALCAMP Zaragoza 2022 Qué deberíamos leer/conocer
  29. 29. Qué deberíamos leer/conocer 8 DRUPALCAMP Zaragoza 2022
  30. 30. Qué deberíamos leer/conocer 8 DRUPALCAMP Zaragoza 2022 ● Existe multitud de material el drupal.org ● Buscar no es difícil ● Lo difícil es saber qué buscar ● Algunas referencias
  31. 31. Qué deberíamos leer/conocer 8 DRUPALCAMP Zaragoza 2022 ahh y sobre todo….
  32. 32. Qué deberíamos leer/conocer 8 DRUPALCAMP Zaragoza 2022 ahh y sobre todo…. CONTRIBUIR
  33. 33. Qué deberíamos leer/conocer 8 DRUPALCAMP Zaragoza 2022
  34. 34. Qué deberíamos leer/conocer 8 DRUPALCAMP Zaragoza 2022 ● Trabajando con el API de Drupal ○ https://api.drupal.org/api/drupal ● Buenas prácticas
  35. 35. Qué deberíamos leer/conocer 8 DRUPALCAMP Zaragoza 2022 Uno de los más habituales son los formularios que nos aportan multitud de posibilidades. ● Form API Reference, si seguimos manteniendo características de D7. ● Introduction to Form API Esquema del API de Form ● https://drupal.org/node/165104
  36. 36. Qué deberíamos leer/conocer 8 DRUPALCAMP Zaragoza 2022
  37. 37. Creando nuestro módulo 9 DRUPALCAMP Zaragoza 2022 Creando nuestro módulo
  38. 38. Creando nuestro módulo 9 DRUPALCAMP Zaragoza 2022
  39. 39. Creando nuestro módulo 9 DRUPALCAMP Zaragoza 2022 ● Eres nuevo creando módulos ○ http://deeson-online.co.uk/labs/are-you-developer-new -drupal-read ● Creating modules - a tutorial: Drupal 9.* ○ https://www.drupal.org/docs/creating-custom-modules ● Examples ○ https://drupal.org/project/examples
  40. 40. Creando nuestro módulo 9 DRUPALCAMP Zaragoza 2022 ● Drush para generar módulos y código ○ drush generate module-standard ■ Generate a Module using Drush
  41. 41. ¡Comenzamos! 10 DRUPALCAMP Zaragoza 2022 ¡Comenzamos!
  42. 42. ¡Comenzamos! 10 DRUPALCAMP Zaragoza 2022
  43. 43. ¡Comenzamos! 10 DRUPALCAMP Zaragoza 2022 ● lando start ● lando ssh ● drush generate module-standard (^10.0) ● drush generate module (^11.0) ● … ● lando stop
  44. 44. Bonus 11 DRUPALCAMP Zaragoza 2022 Bonus
  45. 45. Bonus 11 DRUPALCAMP Zaragoza 2022
  46. 46. Bonus 11 DRUPALCAMP Zaragoza 2022 ● Debug ○ https://asociaciondrupal.es/video/virtual-bof-debugging -php ● XDebug ○ www.keopx.net/blog/configuracion-de-php-53-y-xdebug ○ https://docs.lando.dev/guides/lando-phpstorm.html ○ https://docs.lando.dev/guides/lando-with-vscode.html ● Configuración del entorno: ○ https://drupal.org/node/238805
  47. 47. Bonus 11 DRUPALCAMP Zaragoza 2022 Por donde empezar a contribuir Issue ● https://drupal.org/novice ● http://drupalize.me/videos/getting-started-issue-queue Herramientas ● https://www.drupalpod.com ● https://dreditor.org/
  48. 48. Fin 12 DRUPALCAMP Zaragoza 2022
  49. 49. AGRADECIMIENTOS 13 DRUPALCAMP Zaragoza 2022 PLATINUM GOLD SILVER BRONZE COLABORADORES
  50. 50. ZARAGOZA 3-5 JUNIO DRUPALCAMP SPAIN 2022 Eskerrik asko zuen arretagatik keopx GNU/GPL Licence Gracias por vuestra atención Thanks for your attention

×