Successfully reported this slideshow.
Your SlideShare is downloading. ×

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

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 34 Ad

More Related Content

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

Advertisement

Recently uploaded (20)

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

  1. 1. DRUPAL 7 MUCHO MÁS QUE UNA NUEVA VERSIÓN Ramon Vilar Gavaldà
  2. 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. 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. 4. ÍNDICE 01 DRUPAL 02 DRUPAL 7: NOVEDADES 03 DESARROLLO DRUPAL 04 UNIVERSO DRUPAL 05 RECURSOS 06 CONTACTO 4
  5. 5. DRUPAL 5
  6. 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. 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. 8. QUÉ SE PUEDE HACER CON DRUPAL (I) 8
  9. 9. QUÉ SE PUEDE HACER CON DRUPAL (y II) 9
  10. 10. DRUPAL 7: NOVEDADES 10
  11. 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. 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. 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. 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. 15. INSTALACIÓN DESDE LA INTERFAZ ● Se pueden instalar/actualizar módulos y temas desde la interfaz 15
  16. 16. USABILIDAD ● Dashboard, rediseño centrado en el usuario, overlay, ... 16
  17. 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
  18. 18. DESARROLLO DRUPAL 18
  19. 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. 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. 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. 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. 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. 24. Y MUCHO MÁS... ● Field API ● File API (Stream wrappers) ● Form API ● Menu API ● Render arrays ● Sistema de caché ● Localización ● ... 24
  25. 25. UNIVERSO DRUPAL 25
  26. 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. 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. 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. 29. RECURSOS 29
  30. 30. LIBROS (I) 30
  31. 31. LIBROS (II) 31
  32. 32. LIBROS (y III) 32
  33. 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. 34. CONTACTO ● Twitter: @rvilar ● Correo: ramon@ymbra.com ● Blog: http://ymbra.com/blogs/ramon ● Web: http://ymbra.com Gracias a todos(as). ¿Preguntas? 34

×