SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
DRUPAL 7
MUCHO MÁS QUE UNA NUEVA VERSIÓN


         Ramon Vilar Gavaldà
QUIÉN SOY

                                 ●   Socio fundador de Ymbra
                                 ●   Desarrollador Drupal
                                 ●   Desarrollador frontend
                                 ●   Miembro activo de la
                                     comunidad drupalera:
 Ramon Vilar Gavaldà                 ●   Presidente de Drupal.cat
 http://ymbra.com/blogs/ramon        ●   Administrador de la
 http://twitter.com/rvilar
                                         traducción catalana de Drupal
 http://drupal.org/user/293298


                                                                     2
QUÉ ES YMBRA




●   Ymbra es una empresa de servicios basados en
    Drupal
●   Amplia experiencia del equipo en entornos Drupal
    y webs de alto rendimiento
●   SCRUM cómo metodología de trabajo
●   Comprometidos con la comunidad
                                                   3
ÍNDICE

01 DRUPAL
02 DRUPAL 7: NOVEDADES
03 DESARROLLO DRUPAL
04 UNIVERSO DRUPAL
05 RECURSOS
06 CONTACTO
                         4
DRUPAL



         5
QUÉ ES DRUPAL

●   Un gestor de contenidos (CMS)
●   Desarrollado en PHP
●   Software libre (licencia GPL)
●   Flexible
●   Fácilmente ampliable
●   Arquitectura modular
●   Con soporte en distintas plataformas
●   Drupal = comunidad
                                           6
EL ÉXITO DE DRUPAL: SU COMUNIDAD

●   Drupal no sería lo que es a día de hoy sin su
    comunidad
●   La comunidad es la que dirige el desarrollo del
    software con la ayuda de los recursos
    proporcionados a través de la “Drupal
    Association” http://ves.cat/aw9O
●   Comunidad internacional: http://drupal.org
●   Comunidad catalana: http://drupal.cat
●   Comunidad española: http://drupal.es
                                                      7
QUÉ SE PUEDE HACER CON DRUPAL (I)




                                    8
QUÉ SE PUEDE HACER CON DRUPAL (y II)




                                       9
DRUPAL 7:
NOVEDADES
             10
QUÉ HAY EN DRUPAL?

●   Hasta la versión 6.x ya contábamos con muchas
    funcionalidades:
    ●   Gestión completa de usuarios y permisos
    ●   Soporte de traducción de contenido en el núcleo
    ●   Categorización del contenido mediante taxonomías
    ●   Soporte SEO
    ●   ...
●   Y todo esto sólo con el núcleo.
●   La verdadera potencia de Drupal está en los
    módulos contribuidos por la comunidad
                                                           11
CREACIÓN DE CAMPOS




●   Se pueden añadir campos a los tipos de
    contenido, a los términos de las taxonomías, a los
    comentarios y a los usuarios
                                                     12
GESTIÓN DE IMÁGENES Y FICHEROS (I)

●   A través de la interfaz se pueden crear campos
    de tipo fichero e imagen
●   Los ficheros disponen de distintos espacios de
    almacenaje dependiendo de sus
    características:
    ●   Ficheros públicos: sin necesidad de ningún tipo de
        control
    ●   Ficheros privados: con control de acceso



                                                             13
GESTIÓN DE IMÁGENES Y FICHEROS (y II)

●   Se pueden crear estilos de imágenes para
    disponer de distintas presentaciones de la
    misma imagen




                                                 14
INSTALACIÓN DESDE LA INTERFAZ

●   Se pueden instalar/actualizar módulos y temas
    desde la interfaz




                                                    15
USABILIDAD




●   Dashboard, rediseño centrado en el usuario, overlay, ...

                                                               16
Y MUCHO MÁS...

●   RDFa (web semántica)
●   Mejoras en la gestión del multilenguaje
●   Mejoras en la configuración regional
●   Enlaces contextuales
●   Mejoras en el sistema de caché
●   …



                                              17
DESARROLLO
DRUPAL
             18
CONCEPTOS BÁSICOS DE DESARROLLO
DRUPAL: HOOK
●   Drupal trabaja con hooks (Passive Observer)
●   Drupal ejecuta un hook y permite a los módulos
    asociarse para añadir su código.
    hook_user_login() comment_user_login(),
                      locale_user_login(),
                      node_user_login()
●   La OOP la encontraremos en algunos subsistemas
    del núcleo, cómo por ejemplo, la API de acceso a
    BD, la creación de tests, etc.
●   La biblia del desarrollador Drupal es
    http://api.drupal.org/
                                                       19
PLATAFORMA DE TESTS AUTOMÁTICOS
●   El núcleo de D7 incorpora SimpleTest, un framework de
    creación de test unitarios, juntamente con un conjunto de
    tests que aseguran el correcto funcionamiento de cada uno
    de sus módulos.
●   En el ciclo de desarrollo del núcleo, cada patch que se
    añade a Drupal.org fuerza la ejecución automática de los
    tests y responde con el resultado a esta ejecución.
●   Los módulos contribuidos (D7) están empezando a crear un
    conjunto de tests amplio para poder tener la máxima
    cobertura de su código.
●   Si desarrollamos nuestros propios módulos podemos crear
    fácilmente nuestros tests para así asegurar también la
    calidad de nuestro código.
●   http://drupal.org/simpletest                               20
CAPA DE ACCESO A BD

●   En D7 se ha reescrito la capa de abstracción de BD
    (basada en PDO)
●   Código D6:
$result = db_query(“SELECT nid, title FROM {node} n WHERE
n.status = 1 ORDER BY created DESC”);
●   Código D7:
$result = db_select('node', 'n')
  -> condition('n.status', 1, '=')
  ->fields('n', array('nid', 'title'))
  ->orderBy('created', 'DESC')
  ->execute();
●   Soporte maestro-esclavo, soporte de transacciones

                                                         21
ENTIDADES EN D7

●   En D6 sólo existían los nodos cómo forma de abstracción:
    campos, versiones, traducciones, listados, etc.
●   En D7 nace el concepto de entidad.
●   Una entidad es un tipo de objeto/dato que trabaja en Drupal,
    que tiene su propia base datos, flujos, etc.
●   A una entidad se le pueden añadir campos, gestionar sus
    traducciones, sus flujos e interacciones, entre otros.
●   En D7 los nodos, los comentarios, los términos de taxonomía y
    los usuarios son entidades
●   Gran potencia con EntityFieldQuery
●   Otros ejemplos de entidades: líneas de compra (Drupal Commerce),
    media (Media), grupos (Organic Groups), etc.

                                                                       22
DESARROLLO FRONTEND: THEMES

●   El desarrollo frontend se hace a partir de temas
    (theme)
●   Theme = *.tpl.php (HTML) + estáticos (css, js,
    img) + magia
●   En sí, para crear un tema, no es necesario tener
    conocimientos de PHP a no ser que queramos
    usar la magia.
●   Las funciones de preprocesado nos permiten
    modificar las variables que se mostraran en las
    plantillas.
                                                       23
Y MUCHO MÁS...

●   Field API
●   File API (Stream wrappers)
●   Form API
●   Menu API
●   Render arrays
●   Sistema de caché
●   Localización
●   ...
                                 24
UNIVERSO DRUPAL




                  25
UN MUNDO POR DESCUBRIR

●   La verdadera potencia de Drupal reside en los módulos
    contribuidos por la comunidad
●   Hay módulos que se han convertido en una necesidad para
    cualquier desarrollo en Drupal cómo por ejemplo Views
●   Existen módulos para hacer miles de cosas:
    ●   Comercio electrónico: Drupal Commerce http://ves.cat/aw0m
    ●   Creación de formularios web: Webform http://ves.cat/aw0n
    ●   Sitios multilenguaje: Internationalization http://ves.cat/aTWs
    ●   Integración con Twitter: Twitter http://ves.cat/aw0o
    ●   Control de spam: Mollom http://ves.cat/aw0q
    ●   ...


                                                                         26
NO SÓLO UNA PLATAFORMA PARA HACER
WEBS (I)
●   Drupal ha pasado de ser un CMS a ser un CMF (Content
    Management Framework)
●   A parte de los módulos y los temas, Drupal ofrece en el núcleo
    una “cosa” llamada perfiles (de instalación).
●   Un perfil de instalación no es más que un conjunto de módulos
    y temas, junto con un conjunto de tareas, que permiten crear
    una instalación de Drupal en base a esto.
●   Por ejemplo, podemos tener un perfil (distribución) que al
    instalarlo nos cree una plataforma de blogs, un comercio
    electrónico, etc.




                                                                 27
NO SÓLO UNA PLATAFORMA PARA HACER
WEBS (y II)
●   Perfil de instalación + funcionalidad +
    documentación + soporte = producto
●   Des de hace un tiempo, están apareciendo
    distintos productos con carácter final basados
    en Drupal.




                                                     28
RECURSOS
           29
LIBROS (I)




             30
LIBROS (II)




              31
LIBROS (y III)




                 32
ENLACES

●   Desarrollo de módulos
    http://drupal.org/documentation/develop
●   Theming
    http://drupal.org/documentation/theme
●   API del núcleo
    http://api.drupal.org/
●   API de los módulos contribuidos
    http://drupalcontrib.org/


                                              33
CONTACTO

 ●   Twitter: @rvilar
 ●   Correo: ramon@ymbra.com
 ●   Blog: http://ymbra.com/blogs/ramon
 ●   Web: http://ymbra.com


 Gracias a todos(as). ¿Preguntas?




                                          34

Weitere ähnliche Inhalte

Ähnlich wie Drupal 7: mucho más que una nueva versión (para desarrolladores)

Presentacion Drupal Ccrtv
Presentacion Drupal CcrtvPresentacion Drupal Ccrtv
Presentacion Drupal Ccrtv
Pedro Cambra
 

Ähnlich wie Drupal 7: mucho más que una nueva versión (para desarrolladores) (20)

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
 
Drupal - Introducción
Drupal - IntroducciónDrupal - Introducción
Drupal - Introducción
 
Arquitectura de proyectos Drupal
Arquitectura de proyectos DrupalArquitectura de proyectos Drupal
Arquitectura de proyectos Drupal
 
Drupal Sitebuilding 101
Drupal Sitebuilding 101Drupal Sitebuilding 101
Drupal Sitebuilding 101
 
Introduccion técnica a Drupal
Introduccion técnica a DrupalIntroduccion técnica a Drupal
Introduccion técnica 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
 
Desarrollo y arquitectura de proyectos con Features
Desarrollo y arquitectura de proyectos con FeaturesDesarrollo y arquitectura de proyectos con Features
Desarrollo y arquitectura de proyectos con Features
 
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
 
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
 
This is Drupal! (Basics)
This is Drupal! (Basics)This is Drupal! (Basics)
This is Drupal! (Basics)
 
Introducción general a Drupal
Introducción general a DrupalIntroducción general a Drupal
Introducción general a Drupal
 
Introduccion drupal
Introduccion drupalIntroduccion drupal
Introduccion drupal
 
Conociendo drupal
Conociendo drupalConociendo drupal
Conociendo drupal
 
[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
 
Drupal mas que un cms
Drupal mas que un cmsDrupal mas que un cms
Drupal mas que un cms
 
Introducción a Drupal
Introducción a DrupalIntroducción a Drupal
Introducción a Drupal
 
Presentando Drupal en el Flisol Xalapa
Presentando Drupal en el Flisol XalapaPresentando Drupal en el Flisol Xalapa
Presentando Drupal en el Flisol Xalapa
 
[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
 
Programación de módulos para Drupal 7
Programación de módulos para Drupal 7Programación de módulos para Drupal 7
Programación de módulos para Drupal 7
 

Mehr von Ymbra

Distribuciones en Drupal
Distribuciones en DrupalDistribuciones en Drupal
Distribuciones en Drupal
Ymbra
 
Drupal 7 multilingüe: internacionalització i localització de llocs web
Drupal 7 multilingüe: internacionalització i localització de llocs webDrupal 7 multilingüe: internacionalització i localització de llocs web
Drupal 7 multilingüe: internacionalització i localització de llocs web
Ymbra
 

Mehr von Ymbra (10)

El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8
 
Migrate, una herramienta de trabajo y desarrollo
Migrate, una herramienta de trabajo y desarrolloMigrate, una herramienta de trabajo y desarrollo
Migrate, una herramienta de trabajo y desarrollo
 
Field Types API: Field, widgets y formatters
Field Types API: Field, widgets y formattersField Types API: Field, widgets y formatters
Field Types API: Field, widgets y formatters
 
Distribuciones en Drupal
Distribuciones en DrupalDistribuciones en Drupal
Distribuciones en Drupal
 
Introducció al Git
Introducció al GitIntroducció al Git
Introducció al Git
 
Views 3: Qué hay de nuevo
Views 3: Qué hay de nuevoViews 3: Qué hay de nuevo
Views 3: Qué hay de nuevo
 
ELISAVA Beta. Cas d'èxit desenvolupat per Ymbra
ELISAVA Beta. Cas d'èxit desenvolupat per YmbraELISAVA Beta. Cas d'èxit desenvolupat per Ymbra
ELISAVA Beta. Cas d'èxit desenvolupat per Ymbra
 
Drupal 7 multilingüe: internacionalització i localització de llocs web
Drupal 7 multilingüe: internacionalització i localització de llocs webDrupal 7 multilingüe: internacionalització i localització de llocs web
Drupal 7 multilingüe: internacionalització i localització de llocs web
 
El universo JavaScript en Drupal 7
El universo JavaScript en Drupal 7El universo JavaScript en Drupal 7
El universo JavaScript en Drupal 7
 
Desmitificant l'HTML5
Desmitificant l'HTML5Desmitificant l'HTML5
Desmitificant l'HTML5
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Kürzlich hochgeladen (11)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

Drupal 7: mucho más que una nueva versión (para desarrolladores)

  • 1. DRUPAL 7 MUCHO MÁS QUE UNA NUEVA VERSIÓN Ramon Vilar Gavaldà
  • 2. QUIÉN SOY ● Socio fundador de Ymbra ● Desarrollador Drupal ● Desarrollador frontend ● Miembro activo de la comunidad drupalera: Ramon Vilar Gavaldà ● Presidente de Drupal.cat http://ymbra.com/blogs/ramon ● Administrador de la http://twitter.com/rvilar traducción catalana de Drupal http://drupal.org/user/293298 2
  • 3. QUÉ ES YMBRA ● Ymbra es una empresa de servicios basados en Drupal ● Amplia experiencia del equipo en entornos Drupal y webs de alto rendimiento ● SCRUM cómo metodología de trabajo ● Comprometidos con la comunidad 3
  • 4. ÍNDICE 01 DRUPAL 02 DRUPAL 7: NOVEDADES 03 DESARROLLO DRUPAL 04 UNIVERSO DRUPAL 05 RECURSOS 06 CONTACTO 4
  • 5. DRUPAL 5
  • 6. QUÉ ES DRUPAL ● Un gestor de contenidos (CMS) ● Desarrollado en PHP ● Software libre (licencia GPL) ● Flexible ● Fácilmente ampliable ● Arquitectura modular ● Con soporte en distintas plataformas ● Drupal = comunidad 6
  • 7. EL ÉXITO DE DRUPAL: SU COMUNIDAD ● Drupal no sería lo que es a día de hoy sin su comunidad ● La comunidad es la que dirige el desarrollo del software con la ayuda de los recursos proporcionados a través de la “Drupal Association” http://ves.cat/aw9O ● Comunidad internacional: http://drupal.org ● Comunidad catalana: http://drupal.cat ● Comunidad española: http://drupal.es 7
  • 8. QUÉ SE PUEDE HACER CON DRUPAL (I) 8
  • 9. QUÉ SE PUEDE HACER CON DRUPAL (y II) 9
  • 11. QUÉ HAY EN DRUPAL? ● Hasta la versión 6.x ya contábamos con muchas funcionalidades: ● Gestión completa de usuarios y permisos ● Soporte de traducción de contenido en el núcleo ● Categorización del contenido mediante taxonomías ● Soporte SEO ● ... ● Y todo esto sólo con el núcleo. ● La verdadera potencia de Drupal está en los módulos contribuidos por la comunidad 11
  • 12. CREACIÓN DE CAMPOS ● Se pueden añadir campos a los tipos de contenido, a los términos de las taxonomías, a los comentarios y a los usuarios 12
  • 13. GESTIÓN DE IMÁGENES Y FICHEROS (I) ● A través de la interfaz se pueden crear campos de tipo fichero e imagen ● Los ficheros disponen de distintos espacios de almacenaje dependiendo de sus características: ● Ficheros públicos: sin necesidad de ningún tipo de control ● Ficheros privados: con control de acceso 13
  • 14. GESTIÓN DE IMÁGENES Y FICHEROS (y II) ● Se pueden crear estilos de imágenes para disponer de distintas presentaciones de la misma imagen 14
  • 15. INSTALACIÓN DESDE LA INTERFAZ ● Se pueden instalar/actualizar módulos y temas desde la interfaz 15
  • 16. USABILIDAD ● Dashboard, rediseño centrado en el usuario, overlay, ... 16
  • 17. Y MUCHO MÁS... ● RDFa (web semántica) ● Mejoras en la gestión del multilenguaje ● Mejoras en la configuración regional ● Enlaces contextuales ● Mejoras en el sistema de caché ● … 17
  • 19. CONCEPTOS BÁSICOS DE DESARROLLO DRUPAL: HOOK ● Drupal trabaja con hooks (Passive Observer) ● Drupal ejecuta un hook y permite a los módulos asociarse para añadir su código. hook_user_login() comment_user_login(), locale_user_login(), node_user_login() ● La OOP la encontraremos en algunos subsistemas del núcleo, cómo por ejemplo, la API de acceso a BD, la creación de tests, etc. ● La biblia del desarrollador Drupal es http://api.drupal.org/ 19
  • 20. PLATAFORMA DE TESTS AUTOMÁTICOS ● El núcleo de D7 incorpora SimpleTest, un framework de creación de test unitarios, juntamente con un conjunto de tests que aseguran el correcto funcionamiento de cada uno de sus módulos. ● En el ciclo de desarrollo del núcleo, cada patch que se añade a Drupal.org fuerza la ejecución automática de los tests y responde con el resultado a esta ejecución. ● Los módulos contribuidos (D7) están empezando a crear un conjunto de tests amplio para poder tener la máxima cobertura de su código. ● Si desarrollamos nuestros propios módulos podemos crear fácilmente nuestros tests para así asegurar también la calidad de nuestro código. ● http://drupal.org/simpletest 20
  • 21. CAPA DE ACCESO A BD ● En D7 se ha reescrito la capa de abstracción de BD (basada en PDO) ● Código D6: $result = db_query(“SELECT nid, title FROM {node} n WHERE n.status = 1 ORDER BY created DESC”); ● Código D7: $result = db_select('node', 'n') -> condition('n.status', 1, '=') ->fields('n', array('nid', 'title')) ->orderBy('created', 'DESC') ->execute(); ● Soporte maestro-esclavo, soporte de transacciones 21
  • 22. ENTIDADES EN D7 ● En D6 sólo existían los nodos cómo forma de abstracción: campos, versiones, traducciones, listados, etc. ● En D7 nace el concepto de entidad. ● Una entidad es un tipo de objeto/dato que trabaja en Drupal, que tiene su propia base datos, flujos, etc. ● A una entidad se le pueden añadir campos, gestionar sus traducciones, sus flujos e interacciones, entre otros. ● En D7 los nodos, los comentarios, los términos de taxonomía y los usuarios son entidades ● Gran potencia con EntityFieldQuery ● Otros ejemplos de entidades: líneas de compra (Drupal Commerce), media (Media), grupos (Organic Groups), etc. 22
  • 23. DESARROLLO FRONTEND: THEMES ● El desarrollo frontend se hace a partir de temas (theme) ● Theme = *.tpl.php (HTML) + estáticos (css, js, img) + magia ● En sí, para crear un tema, no es necesario tener conocimientos de PHP a no ser que queramos usar la magia. ● Las funciones de preprocesado nos permiten modificar las variables que se mostraran en las plantillas. 23
  • 24. Y MUCHO MÁS... ● Field API ● File API (Stream wrappers) ● Form API ● Menu API ● Render arrays ● Sistema de caché ● Localización ● ... 24
  • 26. UN MUNDO POR DESCUBRIR ● La verdadera potencia de Drupal reside en los módulos contribuidos por la comunidad ● Hay módulos que se han convertido en una necesidad para cualquier desarrollo en Drupal cómo por ejemplo Views ● Existen módulos para hacer miles de cosas: ● Comercio electrónico: Drupal Commerce http://ves.cat/aw0m ● Creación de formularios web: Webform http://ves.cat/aw0n ● Sitios multilenguaje: Internationalization http://ves.cat/aTWs ● Integración con Twitter: Twitter http://ves.cat/aw0o ● Control de spam: Mollom http://ves.cat/aw0q ● ... 26
  • 27. NO SÓLO UNA PLATAFORMA PARA HACER WEBS (I) ● Drupal ha pasado de ser un CMS a ser un CMF (Content Management Framework) ● A parte de los módulos y los temas, Drupal ofrece en el núcleo una “cosa” llamada perfiles (de instalación). ● Un perfil de instalación no es más que un conjunto de módulos y temas, junto con un conjunto de tareas, que permiten crear una instalación de Drupal en base a esto. ● Por ejemplo, podemos tener un perfil (distribución) que al instalarlo nos cree una plataforma de blogs, un comercio electrónico, etc. 27
  • 28. NO SÓLO UNA PLATAFORMA PARA HACER WEBS (y II) ● Perfil de instalación + funcionalidad + documentación + soporte = producto ● Des de hace un tiempo, están apareciendo distintos productos con carácter final basados en Drupal. 28
  • 29. RECURSOS 29
  • 33. ENLACES ● Desarrollo de módulos http://drupal.org/documentation/develop ● Theming http://drupal.org/documentation/theme ● API del núcleo http://api.drupal.org/ ● API de los módulos contribuidos http://drupalcontrib.org/ 33
  • 34. CONTACTO ● Twitter: @rvilar ● Correo: ramon@ymbra.com ● Blog: http://ymbra.com/blogs/ramon ● Web: http://ymbra.com Gracias a todos(as). ¿Preguntas? 34