DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

28
Introducción al desarrollo de módulos en Drupal 7 Ruben Egiguren 17/05/2014

description

Presentacion del taller para la introducción al desarrollo de modulos en Drupal 7. Taller realizado en la DrupalCampSpain 2014

Transcript of DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Page 1: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Introducción al desarrollo de módulos en Drupal 7

Ruben Egiguren17/05/2014

Page 2: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Acerca de mí

Ruben Egiguren a.k.a. keopxProfesional: www.isarea.com

Blog: www.keopx.net

Drupal: www.drupal.org/u/keopx

Miembro de:• Drupal association• Asociación Española de Drupal• G.D.O Basque Country• …

Drupal Developer, Software Libre enthusiast, new technologies and geek

Page 3: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Acerca de mí

Programador senior

Drupal Developer, Software Libre enthusiast, new technologies and geek

Page 4: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

De qué hablaremosHablaremos de• Estándares• Herramientas• Organización de módulos• Organización de código• Código

Page 5: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

¿Quién sabe de qué?

Conocer a los asistentes

•Instalación y crear contenido.

•Editar menús, bloques.

•Instalación y configuracion de modulos.

•Desarrollado algún módulo.

SIN MIEDO

Page 6: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Estándares

Page 7: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

EstándaresDrupal code standars

• https://drupal.org/coding-standards (PHP)

• https://drupal.org/node/172169 (javascript)

• https://drupal.org/node/1886770 (CSS)

Documentación

• https://drupal.org/node/1354

Page 8: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

EstándaresNetbeans setup

• Estándares: https://drupal.org/node/1019816

• Template: https://drupal.org/project/nb_templates

• Plugin:

• https://drupal.org/node/1764074

• https://github.com/HollyIT/NBDrupalDevel

Eclipse

• https://drupal.org/node/75242

Page 9: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

HerramientasDrush

• http://drush.ws/

• https://github.com/drush-ops/drush

Devel

• https://drupal.org/project/devel

Coder

• https://drupal.org/project/coder

Page 10: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Estructura de directorios

Page 11: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Directorios• sites/all/modules/contrib - Contiene los módulos de Drupal.org. Nota: no

se modifican estos módulos, sino es para parches. Consejo: mover a

patches.

• sites/all/modules/custom - Módulos desarrollados.

• sites/all/modules/features - Si usa features, usa este directorio para

organizarlo.

• sites/all/themes/contrib - Contiene los temas de Drupal.org. Nota: usa

subtemas.

• sites/all/themes/custom - Temas propios o subtemas.

• sites/all/libraries - Contiene librerías de terceros como el editor wysiwyg

o plugins javascript.

Fuente: http://www.urbaninsight.com/2014/02/24/module-and-theme-organization

Estructura de directorios

Page 12: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Estructura de directoriosExisten múltiples opciones de usar los directorios de

módulos.

Mi preferencia:

|-- sites| |-- all/site_name| | |-- modules| | | |-- contrib| | | |-- custom| | | |-- features| | | |-- patches

Fuente: http://befused.com/drupal/module-directory-structure

Page 13: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Organizar el módulo

Page 14: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Módulo a medida.Los módulos suele tener esta estructura:● mimodulo.info - Fichero de informacion. https://drupal.org/node/542202● mimodulo.module - Fichero principal, implementación de hook● mimodulo.install - (Des)Instalador del módulo, esquema de información.● mimodulo.admin.inc - Callbacks del menú de administración, añadir/editar ● mimodulo.pages.inc - Callbacks de menú públicos, accesible para a todos● mimodulo.inc - Funciones adicionales.● includes/ - Contienen clases, vistas,...● templates/ - Fichero relacionados con el tema (*.tpl.php,...)● plugins/ - Este directorio para plugins como puede ser Ctools.● css/ - Estilos CSS.● images/ - Imagenes.● js/ - Javascript.

Fuente: http://www.urbaninsight.com/2014/02/24/module-and-theme-organization

Organizar el módulo

Page 15: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Qué deberíamos leer/conocer

Page 16: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Qué deberíamos leer/conocer

• Existe multitud de material el drupal.org

• Buscar no es difícil

• Lo difícil es saber qué buscar

• Algunas referencias

Page 17: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Qué deberíamos leer/conocer

ahh y sobre todo….

Page 18: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Qué deberíamos leer/conocer

CONTRIBUIRahh y sobre todo….

Page 19: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Qué deberíamos leer/conocer• Trabajando con el API de Drupal

• https://api.drupal.org/api/drupal

• Buenas prácticas

Page 20: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Qué deberíamos leer/conocerUno de los más habituales son los formularios que nos

aportan multitud de posibilidades.

• api.drupal.org/api/drupal/developer!topics!

forms_api_reference.html/7

Esquema del API de Form

• https://drupal.org/node/165104

Page 21: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Qué deberíamos leer/conocer

Page 22: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Creando nuestro módulo

Page 23: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Creando nuestro móduloEres nuevo creando módulos

• http://deeson-online.co.uk/labs/are-you-developer-new-drupal-read

Creating modules - a tutorial: Drupal 7.x

• https://drupal.org/node/1074360

Examples

• https://drupal.org/project/examples

Page 24: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

¡Comenzamos!

Page 25: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Bonus

Page 26: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

BonusDebug

• asociaciondrupal.es/taller-sobre-debugging-en-php

XDebug

• www.keopx.net/blog/configuracion-de-php-53-y-xdebug

Configuración del entorno:

• https://drupal.org/node/238805

Page 27: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

BonusPor donde empezar a contribuir

Issue

• https://drupal.org/novice

• http://drupalize.me/videos/getting-started-issue-queue

Page 28: DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7

Eskerrik asko zuen harretagaitik

GNU/GPL Licence

Gracias por vuestra atenciónThanks for your attention

Gràcies per la vostra atenció