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

Post on 07-Jun-2015

411 views 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 of 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

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

De qué hablaremosHablaremos de

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

MaterialAqui esta el material del taller

Maquina Virtual VirtualBoxUbuntu 12.04 64bitsLAMPNetbeans

Datos de accesoPresentació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-

usados

Que es un hook

Estándares

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

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

HerramientasDrush

http://drush.ws/

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

Devel

https://drupal.org/project/devel

Coder

https://drupal.org/project/coder

Estructura de directorios

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

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

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

CONTRIBUIRahh y sobre todo….

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

Qué deberíamos leer/conocer

Creando nuestro módulo

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

¡Comenzamos!

Bonus

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

BonusPor 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ónThanks for your attention