e-Ghost 2014: introducción al desarrollo de módulos en drupal 7

Keopx
Keopx Drupal Developer at Isarea
Introducción al desarrollo
de módulos en Drupal 7
Ruben Egiguren
07/07/2014
Acerca de mí
Miembro de:
Drupal association
Asociación Española de Drupal
…
Ruben Egiguren a.k.a. keopx
@regiguren - www.keopx.net
Software Libre enthusiast, Drupal Developer, new technologies and geek
De qué hablaremos
Hablaremos de
Estándares
Herramientas
Organización de módulos
Organización de código
Código
Material
Aqui esta el material del taller
Maquina Virtual VirtualBox
Ubuntu 12.04 64bits
LAMP
Netbeans
Datos de acceso
Presentación
eghost2014.keopx.net
¿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.
•¿Qué son los hooks en Drupal?
SIN MIEDO
¿Dónde puedo preguntar?
Foros
•https://drupal.org/forum (inglés)
•http://drupal.org.es/foros (castellano)
IRC irc.freenode.net
•#drupal-es (castellano)
•#drupal-contribute (inglés)
¿Dónde puedo encontrar
gente cercana?
Grupos de drupal
groups.drupal.org/basque-country
¿Dónde puedo encontrar
gente cercana?
Grupos de drupal
groups.drupal.org/basque-country
APUNTAROS!!!
¿Próximo evento?
Drupal Day Bilbao
2014.drupalday.es
8 de noviembre
¿Próximo evento?
Drupal Day Bilbao
2014.drupalday.es
8 de noviembre
It’s FREE!
¿Qué son los hooks en
Drupal?
Son funciones PHP que utilizamos en nuestros
módulos, el nombre de las mismas se compone de la
siguiente forma:
function hook_name() {
}
hook => nombre del módulo
name => nombre del hook
Referencia: http://7sabores.com/blog/que-son-los-hooks-drupal-y-cuales-son-los-mas-
Que es un hook
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
1 of 35

Recommended

DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7 by
DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7
DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7Keopx
1.5K views28 slides
Introduccion técnica a Drupal by
Introduccion técnica a DrupalIntroduccion técnica a Drupal
Introduccion técnica a DrupalPedro Cambra
1.5K views30 slides
Presentación Drupal by
Presentación DrupalPresentación Drupal
Presentación DrupalMedio y forma
1.8K views17 slides
Todo lo que necesitas saber sobre Drupal 8 by
Todo lo que necesitas saber sobre Drupal 8Todo lo que necesitas saber sobre Drupal 8
Todo lo que necesitas saber sobre Drupal 8Acquia
1.7K views65 slides
Curso básico de drupal 8 by
Curso básico de drupal 8Curso básico de drupal 8
Curso básico de drupal 8Medio y forma
1K views42 slides
Presentando Drupal en el Flisol Xalapa by
Presentando Drupal en el Flisol XalapaPresentando Drupal en el Flisol Xalapa
Presentando Drupal en el Flisol XalapaMedio y forma
753 views21 slides

More Related Content

What's hot

Drupal 8 WorkShop - e-Ghost 2015 by
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015 Keopx
860 views89 slides
Curso Drupal. Administración, instalación y configuración de módulos by
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ódulosMediaglobe Innova
551 views9 slides
Taller de Drupal - Sesion 1 by
Taller de Drupal -  Sesion 1Taller de Drupal -  Sesion 1
Taller de Drupal - Sesion 1SEAT, S.A.
618 views10 slides
Presentando drupal en xalapa by
Presentando drupal en xalapaPresentando drupal en xalapa
Presentando drupal en xalapaMedio y forma
1.1K views74 slides
Curso Drupal. Instalación y configuracion de Drupal by
Curso Drupal. Instalación y configuracion de DrupalCurso Drupal. Instalación y configuracion de Drupal
Curso Drupal. Instalación y configuracion de DrupalMediaglobe Innova
814 views23 slides
Taller de Drupal - Sesión 3 by
Taller de Drupal - Sesión 3Taller de Drupal - Sesión 3
Taller de Drupal - Sesión 3SEAT, S.A.
771 views13 slides

What's hot(16)

Drupal 8 WorkShop - e-Ghost 2015 by Keopx
Drupal 8 WorkShop - e-Ghost 2015  Drupal 8 WorkShop - e-Ghost 2015
Drupal 8 WorkShop - e-Ghost 2015
Keopx 860 views
Curso Drupal. Administración, instalación y configuración de módulos by Mediaglobe Innova
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 Innova551 views
Taller de Drupal - Sesion 1 by SEAT, S.A.
Taller de Drupal -  Sesion 1Taller de Drupal -  Sesion 1
Taller de Drupal - Sesion 1
SEAT, S.A.618 views
Presentando drupal en xalapa by Medio y forma
Presentando drupal en xalapaPresentando drupal en xalapa
Presentando drupal en xalapa
Medio y forma1.1K views
Curso Drupal. Instalación y configuracion de Drupal by Mediaglobe Innova
Curso Drupal. Instalación y configuracion de DrupalCurso Drupal. Instalación y configuracion de Drupal
Curso Drupal. Instalación y configuracion de Drupal
Mediaglobe Innova814 views
Taller de Drupal - Sesión 3 by SEAT, S.A.
Taller de Drupal - Sesión 3Taller de Drupal - Sesión 3
Taller de Drupal - Sesión 3
SEAT, S.A.771 views
Taller drupal 8 tuxtepec by Medio y forma
Taller drupal 8 tuxtepecTaller drupal 8 tuxtepec
Taller drupal 8 tuxtepec
Medio y forma454 views
Taller de Drupal - Sesión 4 by SEAT, S.A.
Taller de Drupal - Sesión 4Taller de Drupal - Sesión 4
Taller de Drupal - Sesión 4
SEAT, S.A.1.2K views
Introducción a Drupal by Keopx
Introducción a DrupalIntroducción a Drupal
Introducción a Drupal
Keopx 5.5K views
Taller de Drupal - Sesión 2 by SEAT, S.A.
Taller de Drupal - Sesión 2Taller de Drupal - Sesión 2
Taller de Drupal - Sesión 2
SEAT, S.A.767 views
Taller de Drupal by SEAT, S.A.
Taller de DrupalTaller de Drupal
Taller de Drupal
SEAT, S.A.1K views

Similar to e-Ghost 2014: introducción al desarrollo de módulos en drupal 7

[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10 by
[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 10Keopx
163 views41 slides
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9 by
[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 9Keopx
236 views50 slides
Sesionmoodle 101223143117-phpapp02 by
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Jose Miguel Guadarrama Cruz
351 views14 slides
Sesionmoodle 101223143117-phpapp02 by
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Kimiemi VJ
176 views14 slides
Sesion moodle - "más allá de lo básico"... by
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
3.3K views14 slides
Taller de drupal7 by
Taller de drupal7Taller de drupal7
Taller de drupal7Rojomorgan
967 views57 slides

Similar to e-Ghost 2014: introducción al desarrollo de módulos en drupal 7(20)

[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10 by Keopx
[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 163 views
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9 by 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
Keopx 236 views
Sesionmoodle 101223143117-phpapp02 by Kimiemi VJ
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02
Kimiemi VJ176 views
Sesion moodle - "más allá de lo básico"... by Valeria Pleszowski
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 Pleszowski3.3K views
Taller de drupal7 by Rojomorgan
Taller de drupal7Taller de drupal7
Taller de drupal7
Rojomorgan967 views
Inciación a Drupal 8 by Julian Valero
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8
Julian Valero2.6K views
Presentacion Drupal Ccrtv by Pedro Cambra
Presentacion Drupal CcrtvPresentacion Drupal Ccrtv
Presentacion Drupal Ccrtv
Pedro Cambra1.4K views
Haciendo que tu entorno de desarrollo de Drupal rocks by Sacha Chua
Haciendo que tu entorno de desarrollo de Drupal rocksHaciendo que tu entorno de desarrollo de Drupal rocks
Haciendo que tu entorno de desarrollo de Drupal rocks
Sacha Chua2.1K views
¡This is drupal! - Global Training Days by La Drupalera
¡This is drupal! - Global Training Days¡This is drupal! - Global Training Days
¡This is drupal! - Global Training Days
La Drupalera415 views
Drupal 7: mucho más que una nueva versión (para desarrolladores) by Ymbra
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)
Ymbra1.8K views
Programación de módulos para Drupal 7 by Cristian Mamani
Programación de módulos para Drupal 7Programación de módulos para Drupal 7
Programación de módulos para Drupal 7
Cristian Mamani5.2K views
Moodle by Emergya
MoodleMoodle
Moodle
Emergya895 views
Taller de introducción a drupal 7 1ª parte by Javier Gomez
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 Gomez6.2K views
Introduccion a Drupal 6 e-ghost by Keopx
Introduccion a Drupal 6 e-ghostIntroduccion a Drupal 6 e-ghost
Introduccion a Drupal 6 e-ghost
Keopx 444 views

More from Keopx

Fucking copyright by
Fucking copyrightFucking copyright
Fucking copyrightKeopx
265 views27 slides
Segurtasuna sarean by
Segurtasuna sareanSegurtasuna sarean
Segurtasuna sareanKeopx
348 views40 slides
[DrupalCampSpain2018] CircleCI by
[DrupalCampSpain2018] CircleCI[DrupalCampSpain2018] CircleCI
[DrupalCampSpain2018] CircleCIKeopx
771 views38 slides
[DrupalCampSpain2018] Trabajando en remoto by
[DrupalCampSpain2018] Trabajando en remoto[DrupalCampSpain2018] Trabajando en remoto
[DrupalCampSpain2018] Trabajando en remotoKeopx
558 views26 slides
[DrupalCampSpain2018] Contribuir a Drupal by
[DrupalCampSpain2018] Contribuir a Drupal[DrupalCampSpain2018] Contribuir a Drupal
[DrupalCampSpain2018] Contribuir a DrupalKeopx
446 views40 slides
DrupalDay Bilbao 2014: Publica tu proyecto en drupal.org by
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.orgKeopx
217 views16 slides

More from Keopx (20)

Fucking copyright by Keopx
Fucking copyrightFucking copyright
Fucking copyright
Keopx 265 views
Segurtasuna sarean by Keopx
Segurtasuna sareanSegurtasuna sarean
Segurtasuna sarean
Keopx 348 views
[DrupalCampSpain2018] CircleCI by Keopx
[DrupalCampSpain2018] CircleCI[DrupalCampSpain2018] CircleCI
[DrupalCampSpain2018] CircleCI
Keopx 771 views
[DrupalCampSpain2018] Trabajando en remoto by Keopx
[DrupalCampSpain2018] Trabajando en remoto[DrupalCampSpain2018] Trabajando en remoto
[DrupalCampSpain2018] Trabajando en remoto
Keopx 558 views
[DrupalCampSpain2018] Contribuir a Drupal by Keopx
[DrupalCampSpain2018] Contribuir a Drupal[DrupalCampSpain2018] Contribuir a Drupal
[DrupalCampSpain2018] Contribuir a Drupal
Keopx 446 views
DrupalDay Bilbao 2014: Publica tu proyecto en drupal.org by Keopx
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 217 views
El poder de webform (antes yaml form) by Keopx
El poder de webform (antes yaml form)El poder de webform (antes yaml form)
El poder de webform (antes yaml form)
Keopx 691 views
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao] by 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]
Keopx 1.8K views
[Drupal campspain2017] Contribuir a Drupal, de 0 a 100 by 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
Keopx 820 views
Contribuir a Drupal by Keopx
Contribuir a DrupalContribuir a Drupal
Contribuir a Drupal
Keopx 673 views
Contribuir a Drupal - Entorno by Keopx
Contribuir a Drupal - EntornoContribuir a Drupal - Entorno
Contribuir a Drupal - Entorno
Keopx 249 views
Uso practico de git by Keopx
Uso practico de gitUso practico de git
Uso practico de git
Keopx 1.3K views
WorkShop: Introducción a GIT by Keopx
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GIT
Keopx 2.3K views
Drupal 8 WorkShop by Keopx
Drupal 8 WorkShopDrupal 8 WorkShop
Drupal 8 WorkShop
Keopx 791 views
Herramientas de trabajo para entorno LAMP by Keopx
Herramientas de trabajo para entorno LAMPHerramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMP
Keopx 2.3K views
Drupal Day Bilbao 2014 - Sesión de cierre by Keopx
Drupal Day Bilbao 2014 - Sesión de cierreDrupal Day Bilbao 2014 - Sesión de cierre
Drupal Day Bilbao 2014 - Sesión de cierre
Keopx 632 views
Drupal Day Bilbao 2014 - Sesión de apertura by Keopx
Drupal Day Bilbao 2014 - Sesión de aperturaDrupal Day Bilbao 2014 - Sesión de apertura
Drupal Day Bilbao 2014 - Sesión de apertura
Keopx 360 views
Introducción a git by Keopx
Introducción a gitIntroducción a git
Introducción a git
Keopx 1.8K views
Business inteligence by Keopx
Business inteligenceBusiness inteligence
Business inteligence
Keopx 1K views
Herramientas de reporte by Keopx
Herramientas de reporteHerramientas de reporte
Herramientas de reporte
Keopx 2.3K views

Recently uploaded

T3. Taller de diseño del informe PRESENTACION.pptx by
T3. Taller de diseño del informe PRESENTACION.pptxT3. Taller de diseño del informe PRESENTACION.pptx
T3. Taller de diseño del informe PRESENTACION.pptxEmanuelMuoz11
7 views19 slides
Seguridad de Windows 11 by
Seguridad de Windows 11Seguridad de Windows 11
Seguridad de Windows 11cesardani28128
6 views7 slides
Tecnologia (3).pdf by
Tecnologia (3).pdfTecnologia (3).pdf
Tecnologia (3).pdfnosi6702
8 views15 slides
Qué es el rodamiento hacia adelante.docx by
Qué es el rodamiento hacia adelante.docxQué es el rodamiento hacia adelante.docx
Qué es el rodamiento hacia adelante.docxFabianCarrillo31
12 views1 slide
Tecnologia (1).pdf by
Tecnologia (1).pdfTecnologia (1).pdf
Tecnologia (1).pdfnosi6702
9 views13 slides
Advanced Persistent Threat ' BugCON 2023 by
Advanced Persistent Threat '  BugCON 2023Advanced Persistent Threat '  BugCON 2023
Advanced Persistent Threat ' BugCON 2023Jonathan Palacios
12 views40 slides

Recently uploaded(10)

T3. Taller de diseño del informe PRESENTACION.pptx by EmanuelMuoz11
T3. Taller de diseño del informe PRESENTACION.pptxT3. Taller de diseño del informe PRESENTACION.pptx
T3. Taller de diseño del informe PRESENTACION.pptx
EmanuelMuoz117 views
Tecnologia (3).pdf by nosi6702
Tecnologia (3).pdfTecnologia (3).pdf
Tecnologia (3).pdf
nosi67028 views
Qué es el rodamiento hacia adelante.docx by FabianCarrillo31
Qué es el rodamiento hacia adelante.docxQué es el rodamiento hacia adelante.docx
Qué es el rodamiento hacia adelante.docx
FabianCarrillo3112 views
Tecnologia (1).pdf by nosi6702
Tecnologia (1).pdfTecnologia (1).pdf
Tecnologia (1).pdf
nosi67029 views
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1 by Angel Borroy López
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
Seguridad de los Sistema Operativo by byshyno19
Seguridad de los Sistema OperativoSeguridad de los Sistema Operativo
Seguridad de los Sistema Operativo
byshyno199 views

e-Ghost 2014: introducción al desarrollo de módulos en drupal 7