SlideShare una empresa de Scribd logo
Introducción al desarrollo
de módulos en Drupal 7
Ruben Egiguren
17/05/2014
Acerca de mí
Ruben Egiguren a.k.a. keopx
Profesional: 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
Acerca de mí
Programador senior
Drupal Developer, Software Libre enthusiast, new technologies and geek
De qué hablaremos
Hablaremos de
• Estándares
• Herramientas
• Organización de módulos
• Organización de código
• Código
¿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
Estándares
Estándares
Drupal 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
Estándares
Netbeans 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
Herramientas
Drush
• http://drush.ws/
• https://github.com/drush-ops/drush
Devel
• https://drupal.org/project/devel
Coder
• https://drupal.org/project/coder
Estructura de directorios
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.
Estructura de directorios
Estructura de directorios
Existen 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
Organizar el módulo
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
Qué deberíamos leer/conocer
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
Qué deberíamos leer/conocer
ahh y sobre todo….
Qué deberíamos leer/conocer
CONTRIBUIR
ahh y sobre todo….
Qué deberíamos leer/conocer
• Trabajando con el API de Drupal
• https://api.drupal.org/api/drupal
• Buenas prácticas
Qué deberíamos leer/conocer
Uno 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
Qué deberíamos leer/conocer
Creando nuestro módulo
Creando nuestro módulo
Eres 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
¡Comenzamos!
Bonus
Bonus
Debug
• 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
Bonus
Por donde empezar a contribuir
Issue
• https://drupal.org/novice
• http://drupalize.me/videos/getting-started-issue-queue
Eskerrik asko zuen harretagaitik
GNU/GPL Licence
Gracias por vuestra atención
Thanks for your attention
Gràcies per la vostra atenció

Más contenido relacionado

La actualidad más candente

Drupalchix - PUCP 19.10.13
Drupalchix - PUCP 19.10.13Drupalchix - PUCP 19.10.13
Drupalchix - PUCP 19.10.13
witperu
 
Curso cei 337 acrobat profesional
Curso cei 337   acrobat profesionalCurso cei 337   acrobat profesional
Curso cei 337 acrobat profesional
Procasecapacita
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015
Keopx
 
Drupal 8, presente y futuro
Drupal 8, presente y futuroDrupal 8, presente y futuro
Drupal 8, presente y futuro
Mediaglobe Innova
 
Presentando drupal en xalapa
Presentando drupal en xalapaPresentando drupal en xalapa
Presentando drupal en xalapa
Medio y forma
 
Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8
Atenea tech
 
Taller drupal 8 tuxtepec
Taller drupal 8 tuxtepecTaller drupal 8 tuxtepec
Taller drupal 8 tuxtepec
Medio y forma
 
Curso Drupal. Administración, instalación y configuración de módulos
Curso Drupal. Administración, instalación y configuración de módulosCurso Drupal. Administración, instalación y configuración de módulos
Curso Drupal. Administración, instalación y configuración de módulos
Mediaglobe Innova
 
Indicadores
IndicadoresIndicadores
Indicadores
profes2014
 
Por qué Drupal es un potente gestor de contenidos
Por qué Drupal es un potente gestor de contenidosPor qué Drupal es un potente gestor de contenidos
Por qué Drupal es un potente gestor de contenidos
Juampy NR
 
Curso Drupal. Instalación y configuracion de Drupal
Curso Drupal. Instalación y configuracion de DrupalCurso Drupal. Instalación y configuracion de Drupal
Curso Drupal. Instalación y configuracion de Drupal
Mediaglobe Innova
 
Flujo de desarrollo para drupal (PFC)
Flujo de desarrollo para drupal (PFC)Flujo de desarrollo para drupal (PFC)
Flujo de desarrollo para drupal (PFC)
Ignacio Sánchez Holgueras
 
Presentando drupal
Presentando drupalPresentando drupal
Presentando drupal
Medio y forma
 
Presentacion I Noite Drupal GNU Linux
Presentacion I Noite Drupal GNU LinuxPresentacion I Noite Drupal GNU Linux
Presentacion I Noite Drupal GNU Linux
Alberto Permuy Leal
 
Practica05 b
Practica05 bPractica05 b
Practica05 b
Itzcel FriRios
 
This is Drupal! (Basics)
This is Drupal! (Basics)This is Drupal! (Basics)
This is Drupal! (Basics)
Maria del Carmen Garcia
 
Introducción a Drupal
Introducción a DrupalIntroducción a Drupal
Introducción a Drupal
Keopx
 
¡This is drupal! - Global Training Days
¡This is drupal! - Global Training Days¡This is drupal! - Global Training Days
¡This is drupal! - Global Training Days
La Drupalera
 

La actualidad más candente (18)

Drupalchix - PUCP 19.10.13
Drupalchix - PUCP 19.10.13Drupalchix - PUCP 19.10.13
Drupalchix - PUCP 19.10.13
 
Curso cei 337 acrobat profesional
Curso cei 337   acrobat profesionalCurso cei 337   acrobat profesional
Curso cei 337 acrobat profesional
 
Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015
 
Drupal 8, presente y futuro
Drupal 8, presente y futuroDrupal 8, presente y futuro
Drupal 8, presente y futuro
 
Presentando drupal en xalapa
Presentando drupal en xalapaPresentando drupal en xalapa
Presentando drupal en xalapa
 
Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8
 
Taller drupal 8 tuxtepec
Taller drupal 8 tuxtepecTaller drupal 8 tuxtepec
Taller drupal 8 tuxtepec
 
Curso Drupal. Administración, instalación y configuración de módulos
Curso Drupal. Administración, instalación y configuración de módulosCurso Drupal. Administración, instalación y configuración de módulos
Curso Drupal. Administración, instalación y configuración de módulos
 
Indicadores
IndicadoresIndicadores
Indicadores
 
Por qué Drupal es un potente gestor de contenidos
Por qué Drupal es un potente gestor de contenidosPor qué Drupal es un potente gestor de contenidos
Por qué Drupal es un potente gestor de contenidos
 
Curso Drupal. Instalación y configuracion de Drupal
Curso Drupal. Instalación y configuracion de DrupalCurso Drupal. Instalación y configuracion de Drupal
Curso Drupal. Instalación y configuracion de Drupal
 
Flujo de desarrollo para drupal (PFC)
Flujo de desarrollo para drupal (PFC)Flujo de desarrollo para drupal (PFC)
Flujo de desarrollo para drupal (PFC)
 
Presentando drupal
Presentando drupalPresentando drupal
Presentando drupal
 
Presentacion I Noite Drupal GNU Linux
Presentacion I Noite Drupal GNU LinuxPresentacion I Noite Drupal GNU Linux
Presentacion I Noite Drupal GNU Linux
 
Practica05 b
Practica05 bPractica05 b
Practica05 b
 
This is Drupal! (Basics)
This is Drupal! (Basics)This is Drupal! (Basics)
This is Drupal! (Basics)
 
Introducción a Drupal
Introducción a DrupalIntroducción a Drupal
Introducción a Drupal
 
¡This is drupal! - Global Training Days
¡This is drupal! - Global Training Days¡This is drupal! - Global Training Days
¡This is drupal! - Global Training Days
 

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

[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
Keopx
 
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
Keopx
 
Metodologia de Trabajo en Proyectos con Drupal
Metodologia de Trabajo en Proyectos con DrupalMetodologia de Trabajo en Proyectos con Drupal
Metodologia de Trabajo en Proyectos con Drupal
Rojomorgan
 
Drupal
DrupalDrupal
Drupal
Andy Garcia
 
Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02
Jose Miguel Guadarrama Cruz
 
Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02
Kimiemi VJ
 
Sesion moodle - "más allá de lo básico"...
Sesion moodle - "más allá de lo básico"...Sesion moodle - "más allá de lo básico"...
Sesion moodle - "más allá de lo básico"...
Valeria Pleszowski
 
Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)
Ymbra
 
¡This is drupal!
¡This is drupal!¡This is drupal!
¡This is drupal!
Jose Luis Bellido
 
Presentacion Drupal Ccrtv
Presentacion Drupal CcrtvPresentacion Drupal Ccrtv
Presentacion Drupal Ccrtv
Pedro Cambra
 
Introduccion a Drupal 6 e-ghost
Introduccion a Drupal 6 e-ghostIntroduccion a Drupal 6 e-ghost
Introduccion a Drupal 6 e-ghost
Keopx
 
Conociendo drupal
Conociendo drupalConociendo drupal
Conociendo drupal
Victor M Gutierrez
 
Introduccion drupal
Introduccion drupalIntroduccion drupal
Introduccion drupal
Danilo Domínguez
 
Arquitectura de proyectos Drupal
Arquitectura de proyectos DrupalArquitectura de proyectos Drupal
Arquitectura de proyectos Drupal
Ymbra
 
Por qué Drupal es un potente gestor de contenidos #OpenExpoDay 2014
Por qué Drupal es un potente gestor de contenidos #OpenExpoDay 2014Por qué Drupal es un potente gestor de contenidos #OpenExpoDay 2014
Por qué Drupal es un potente gestor de contenidos #OpenExpoDay 2014
OpenExpoES
 
Cómo contribuir en tu día a día
Cómo contribuir en tu día a díaCómo contribuir en tu día a día
Cómo contribuir en tu día a día
Montaña Franco
 
Taller de drupal7
Taller de drupal7Taller de drupal7
Taller de drupal7
Taller de drupal7Taller de drupal7
Taller de drupal7
Rojomorgan
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8
Julian Valero
 
Taller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parteTaller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parte
Javier Gomez
 

Similar a DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7 (20)

[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
 
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
 
Metodologia de Trabajo en Proyectos con Drupal
Metodologia de Trabajo en Proyectos con DrupalMetodologia de Trabajo en Proyectos con Drupal
Metodologia de Trabajo en Proyectos con Drupal
 
Drupal
DrupalDrupal
Drupal
 
Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02
 
Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02
 
Sesion moodle - "más allá de lo básico"...
Sesion moodle - "más allá de lo básico"...Sesion moodle - "más allá de lo básico"...
Sesion moodle - "más allá de lo básico"...
 
Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)Drupal 7: mucho más que una nueva versión (para desarrolladores)
Drupal 7: mucho más que una nueva versión (para desarrolladores)
 
¡This is drupal!
¡This is drupal!¡This is drupal!
¡This is drupal!
 
Presentacion Drupal Ccrtv
Presentacion Drupal CcrtvPresentacion Drupal Ccrtv
Presentacion Drupal Ccrtv
 
Introduccion a Drupal 6 e-ghost
Introduccion a Drupal 6 e-ghostIntroduccion a Drupal 6 e-ghost
Introduccion a Drupal 6 e-ghost
 
Conociendo drupal
Conociendo drupalConociendo drupal
Conociendo drupal
 
Introduccion drupal
Introduccion drupalIntroduccion drupal
Introduccion drupal
 
Arquitectura de proyectos Drupal
Arquitectura de proyectos DrupalArquitectura de proyectos Drupal
Arquitectura de proyectos Drupal
 
Por qué Drupal es un potente gestor de contenidos #OpenExpoDay 2014
Por qué Drupal es un potente gestor de contenidos #OpenExpoDay 2014Por qué Drupal es un potente gestor de contenidos #OpenExpoDay 2014
Por qué Drupal es un potente gestor de contenidos #OpenExpoDay 2014
 
Cómo contribuir en tu día a día
Cómo contribuir en tu día a díaCómo contribuir en tu día a día
Cómo contribuir en tu día a día
 
Taller de drupal7
Taller de drupal7Taller de drupal7
Taller de drupal7
 
Taller de drupal7
Taller de drupal7Taller de drupal7
Taller de drupal7
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8
 
Taller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parteTaller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parte
 

Más de Keopx

Fucking copyright
Fucking copyrightFucking copyright
Fucking copyright
Keopx
 
Segurtasuna sarean
Segurtasuna sareanSegurtasuna sarean
Segurtasuna sarean
Keopx
 
[DrupalCampSpain2018] CircleCI
[DrupalCampSpain2018] CircleCI[DrupalCampSpain2018] CircleCI
[DrupalCampSpain2018] CircleCI
Keopx
 
[DrupalCampSpain2018] Trabajando en remoto
[DrupalCampSpain2018] Trabajando en remoto[DrupalCampSpain2018] Trabajando en remoto
[DrupalCampSpain2018] Trabajando en remoto
Keopx
 
[DrupalCampSpain2018] Contribuir a Drupal
[DrupalCampSpain2018] Contribuir a Drupal[DrupalCampSpain2018] Contribuir a Drupal
[DrupalCampSpain2018] Contribuir a Drupal
Keopx
 
DrupalDay Bilbao 2014: Publica tu proyecto en drupal.org
DrupalDay Bilbao 2014: Publica tu proyecto en drupal.orgDrupalDay Bilbao 2014: Publica tu proyecto en drupal.org
DrupalDay Bilbao 2014: Publica tu proyecto en drupal.org
Keopx
 
El poder de webform (antes yaml form)
El poder de webform (antes yaml form)El poder de webform (antes yaml form)
El poder de webform (antes yaml form)
Keopx
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Keopx
 
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100[Drupal campspain2017] Contribuir a Drupal, de 0 a 100
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100
Keopx
 
Contribuir a Drupal
Contribuir a DrupalContribuir a Drupal
Contribuir a Drupal
Keopx
 
Contribuir a Drupal - Entorno
Contribuir a Drupal - EntornoContribuir a Drupal - Entorno
Contribuir a Drupal - Entorno
Keopx
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de git
Keopx
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GIT
Keopx
 
Drupal 8 WorkShop
Drupal 8 WorkShopDrupal 8 WorkShop
Drupal 8 WorkShop
Keopx
 
Herramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPHerramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMP
Keopx
 
Drupal Day Bilbao 2014 - Sesión de cierre
Drupal Day Bilbao 2014 - Sesión de cierreDrupal Day Bilbao 2014 - Sesión de cierre
Drupal Day Bilbao 2014 - Sesión de cierre
Keopx
 
Drupal Day Bilbao 2014 - Sesión de apertura
Drupal Day Bilbao 2014 - Sesión de aperturaDrupal Day Bilbao 2014 - Sesión de apertura
Drupal Day Bilbao 2014 - Sesión de apertura
Keopx
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
Keopx
 
Business inteligence
Business inteligenceBusiness inteligence
Business inteligence
Keopx
 
Herramientas de reporte
Herramientas de reporteHerramientas de reporte
Herramientas de reporte
Keopx
 

Más de Keopx (20)

Fucking copyright
Fucking copyrightFucking copyright
Fucking copyright
 
Segurtasuna sarean
Segurtasuna sareanSegurtasuna sarean
Segurtasuna sarean
 
[DrupalCampSpain2018] CircleCI
[DrupalCampSpain2018] CircleCI[DrupalCampSpain2018] CircleCI
[DrupalCampSpain2018] CircleCI
 
[DrupalCampSpain2018] Trabajando en remoto
[DrupalCampSpain2018] Trabajando en remoto[DrupalCampSpain2018] Trabajando en remoto
[DrupalCampSpain2018] Trabajando en remoto
 
[DrupalCampSpain2018] Contribuir a Drupal
[DrupalCampSpain2018] Contribuir a Drupal[DrupalCampSpain2018] Contribuir a Drupal
[DrupalCampSpain2018] Contribuir a Drupal
 
DrupalDay Bilbao 2014: Publica tu proyecto en drupal.org
DrupalDay Bilbao 2014: Publica tu proyecto en drupal.orgDrupalDay Bilbao 2014: Publica tu proyecto en drupal.org
DrupalDay Bilbao 2014: Publica tu proyecto en drupal.org
 
El poder de webform (antes yaml form)
El poder de webform (antes yaml form)El poder de webform (antes yaml form)
El poder de webform (antes yaml form)
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
 
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100[Drupal campspain2017] Contribuir a Drupal, de 0 a 100
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100
 
Contribuir a Drupal
Contribuir a DrupalContribuir a Drupal
Contribuir a Drupal
 
Contribuir a Drupal - Entorno
Contribuir a Drupal - EntornoContribuir a Drupal - Entorno
Contribuir a Drupal - Entorno
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de git
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GIT
 
Drupal 8 WorkShop
Drupal 8 WorkShopDrupal 8 WorkShop
Drupal 8 WorkShop
 
Herramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPHerramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMP
 
Drupal Day Bilbao 2014 - Sesión de cierre
Drupal Day Bilbao 2014 - Sesión de cierreDrupal Day Bilbao 2014 - Sesión de cierre
Drupal Day Bilbao 2014 - Sesión de cierre
 
Drupal Day Bilbao 2014 - Sesión de apertura
Drupal Day Bilbao 2014 - Sesión de aperturaDrupal Day Bilbao 2014 - Sesión de apertura
Drupal Day Bilbao 2014 - Sesión de apertura
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a git
 
Business inteligence
Business inteligenceBusiness inteligence
Business inteligence
 
Herramientas de reporte
Herramientas de reporteHerramientas de reporte
Herramientas de reporte
 

Último

Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
holabuscafiesta
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
JhenryHuisa1
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 

Último (9)

Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdfPC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
PC-04-DISEÑOS DE PITS Y STOPES DE UNA MINA A TAJO ABIERTO.pdf
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 

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

  • 1. Introducción al desarrollo de módulos en Drupal 7 Ruben Egiguren 17/05/2014
  • 2. Acerca de mí Ruben Egiguren a.k.a. keopx Profesional: 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
  • 3. Acerca de mí Programador senior Drupal Developer, Software Libre enthusiast, new technologies and geek
  • 4. De qué hablaremos Hablaremos de • Estándares • Herramientas • Organización de módulos • Organización de código • Código
  • 5. ¿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
  • 7. Estándares Drupal 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
  • 8. Estándares Netbeans 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
  • 9. Herramientas Drush • http://drush.ws/ • https://github.com/drush-ops/drush Devel • https://drupal.org/project/devel Coder • https://drupal.org/project/coder
  • 11. 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. Estructura de directorios
  • 12. Estructura de directorios Existen 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
  • 14. 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
  • 16. 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
  • 19. Qué deberíamos leer/conocer • Trabajando con el API de Drupal • https://api.drupal.org/api/drupal • Buenas prácticas
  • 20. Qué deberíamos leer/conocer Uno 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
  • 23. Creando nuestro módulo Eres 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
  • 25. Bonus
  • 27. Bonus Por donde empezar a contribuir Issue • https://drupal.org/novice • http://drupalize.me/videos/getting-started-issue-queue
  • 28. Eskerrik asko zuen harretagaitik GNU/GPL Licence Gracias por vuestra atención Thanks for your attention Gràcies per la vostra atenció