SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
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ó

Weitere ähnliche Inhalte

Was ist angesagt?

Drupalchix - PUCP 19.10.13
Drupalchix - PUCP 19.10.13Drupalchix - PUCP 19.10.13
Drupalchix - PUCP 19.10.13witperu
 
Curso cei 337 acrobat profesional
Curso cei 337   acrobat profesionalCurso cei 337   acrobat profesional
Curso cei 337 acrobat profesionalProcasecapacita
 
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
 
Presentando drupal en xalapa
Presentando drupal en xalapaPresentando drupal en xalapa
Presentando drupal en xalapaMedio y forma
 
Introduciendo drupal 8
Introduciendo drupal 8Introduciendo drupal 8
Introduciendo drupal 8Atenea tech
 
Taller drupal 8 tuxtepec
Taller drupal 8 tuxtepecTaller drupal 8 tuxtepec
Taller drupal 8 tuxtepecMedio 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ódulosMediaglobe Innova
 
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 contenidosJuampy 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 DrupalMediaglobe Innova
 
Presentacion I Noite Drupal GNU Linux
Presentacion I Noite Drupal GNU LinuxPresentacion I Noite Drupal GNU Linux
Presentacion I Noite Drupal GNU LinuxAlberto Permuy Leal
 
Introducción a Drupal
Introducción a DrupalIntroducción a Drupal
Introducción a DrupalKeopx
 
¡This is drupal! - Global Training Days
¡This is drupal! - Global Training Days¡This is drupal! - Global Training Days
¡This is drupal! - Global Training DaysLa Drupalera
 

Was ist angesagt? (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
 

Ähnlich wie 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 10Keopx
 
[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 9Keopx
 
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 DrupalRojomorgan
 
Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Sesionmoodle 101223143117-phpapp02
Sesionmoodle 101223143117-phpapp02Kimiemi 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
 
Presentacion Drupal Ccrtv
Presentacion Drupal CcrtvPresentacion Drupal Ccrtv
Presentacion Drupal CcrtvPedro Cambra
 
Introduccion a Drupal 6 e-ghost
Introduccion a Drupal 6 e-ghostIntroduccion a Drupal 6 e-ghost
Introduccion a Drupal 6 e-ghostKeopx
 
Arquitectura de proyectos Drupal
Arquitectura de proyectos DrupalArquitectura de proyectos Drupal
Arquitectura de proyectos DrupalYmbra
 
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 2014OpenExpoES
 
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íaMontaña Franco
 
Taller de drupal7
Taller de drupal7Taller de drupal7
Taller de drupal7Rojomorgan
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8Julian 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ª parteJavier Gomez
 

Ähnlich wie 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
 

Mehr von Keopx

Fucking copyright
Fucking copyrightFucking copyright
Fucking copyrightKeopx
 
Segurtasuna sarean
Segurtasuna sareanSegurtasuna sarean
Segurtasuna sareanKeopx
 
[DrupalCampSpain2018] CircleCI
[DrupalCampSpain2018] CircleCI[DrupalCampSpain2018] CircleCI
[DrupalCampSpain2018] CircleCIKeopx
 
[DrupalCampSpain2018] Trabajando en remoto
[DrupalCampSpain2018] Trabajando en remoto[DrupalCampSpain2018] Trabajando en remoto
[DrupalCampSpain2018] Trabajando en remotoKeopx
 
[DrupalCampSpain2018] Contribuir a Drupal
[DrupalCampSpain2018] Contribuir a Drupal[DrupalCampSpain2018] Contribuir a Drupal
[DrupalCampSpain2018] Contribuir a DrupalKeopx
 
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.orgKeopx
 
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 100Keopx
 
Contribuir a Drupal
Contribuir a DrupalContribuir a Drupal
Contribuir a DrupalKeopx
 
Contribuir a Drupal - Entorno
Contribuir a Drupal - EntornoContribuir a Drupal - Entorno
Contribuir a Drupal - EntornoKeopx
 
Uso practico de git
Uso practico de gitUso practico de git
Uso practico de gitKeopx
 
WorkShop: Introducción a GIT
WorkShop: Introducción a GITWorkShop: Introducción a GIT
WorkShop: Introducción a GITKeopx
 
Drupal 8 WorkShop
Drupal 8 WorkShopDrupal 8 WorkShop
Drupal 8 WorkShopKeopx
 
Herramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPHerramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPKeopx
 
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 cierreKeopx
 
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 aperturaKeopx
 
Introducción a git
Introducción a gitIntroducción a git
Introducción a gitKeopx
 
Business inteligence
Business inteligenceBusiness inteligence
Business inteligenceKeopx
 
Herramientas de reporte
Herramientas de reporteHerramientas de reporte
Herramientas de reporteKeopx
 

Mehr von 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
 

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ó