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

35
Introducción al desarrollo de módulos en Drupal 7 Ruben Egiguren 07/07/2014

Upload: keopx

Post on 07-Jun-2015

411 views

Category:

Software


0 download

DESCRIPTION

Presentacion del taller para la introducción al desarrollo de modulos en Drupal 7. Taller realizado en los cursillos de verano de e-Ghost 2014

TRANSCRIPT

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

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

Ruben Egiguren07/07/2014

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

Acerca de mí

Miembro de:Drupal associationAsociación Española de Drupal…

Ruben Egiguren a.k.a. keopx@regiguren - www.keopx.net

Software Libre enthusiast, Drupal Developer, new technologies and geek

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

De qué hablaremosHablaremos de

EstándaresHerramientasOrganización de módulosOrganización de códigoCódigo

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

MaterialAqui esta el material del taller

Maquina Virtual VirtualBoxUbuntu 12.04 64bitsLAMPNetbeans

Datos de accesoPresentación

eghost2014.keopx.net

Page 5: e-Ghost 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.

•¿Qué son los hooks en Drupal?

SIN MIEDO

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

¿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)

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

¿Dónde puedo encontrar gente cercana?

Grupos de drupal

groups.drupal.org/basque-country

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

¿Dónde puedo encontrar gente cercana?

Grupos de drupal

groups.drupal.org/basque-country

APUNTAROS!!!

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

¿Próximo evento?

Drupal Day Bilbao

2014.drupalday.es

8 de noviembre

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

¿Próximo evento?

Drupal Day Bilbao

2014.drupalday.es

8 de noviembre

It’s FREE!

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

¿Qué son los hooks en Drupal?

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

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-

usados

Que es un hook

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

Estándares

Page 14: e-Ghost 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 15: e-Ghost 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 16: e-Ghost 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 17: e-Ghost 2014: introducción al desarrollo de módulos en drupal 7

Estructura de directorios

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

Directoriossites/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 19: e-Ghost 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 20: e-Ghost 2014: introducción al desarrollo de módulos en drupal 7

Organizar el módulo

Page 21: e-Ghost 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 22: e-Ghost 2014: introducción al desarrollo de módulos en drupal 7

Qué deberíamos leer/conocer

Page 23: e-Ghost 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 24: e-Ghost 2014: introducción al desarrollo de módulos en drupal 7

Qué deberíamos leer/conocer

ahh y sobre todo….

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

Qué deberíamos leer/conocer

CONTRIBUIRahh y sobre todo….

Page 27: e-Ghost 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 28: e-Ghost 2014: introducción al desarrollo de módulos en drupal 7

Qué deberíamos leer/conocer

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

Creando nuestro módulo

Page 30: e-Ghost 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 31: e-Ghost 2014: introducción al desarrollo de módulos en drupal 7

¡Comenzamos!

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

Bonus

Page 33: e-Ghost 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 34: e-Ghost 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 35: e-Ghost 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