O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Hello!
This is Drupal!
Sobre nosotros
La Drupalera AED Grupo Local Sevilla
José Luis Bellido
@jose_lakatos
Carmen García
@keilovecraft
¿Qué vamos a ver?
● Introducción
● Conceptos básicos
● Desarrollo: extendiendo Drupal
● Referencias
1. Introducción
Introducción: ¿Qué es?
● CMS escrito en PHP
● Extensible mediante módulos y temas
● Arquitectura LAMP
● Software libre (GP...
Introducción: Puntos fuertes
● Gran flexibilidad
● Enorme velocidad de desarrollo
● Separación de presentación y lógica
● ...
Introducción: Puntos débiles
● Bajo rendimiento:
Dependencia de caché
● Menor usabilidad para el
usuario inicial
● Incompa...
2. Conceptos básicos
Drush, nuestra mejor herramienta
● drush dl
● drush en
● drush dis
● drush pm-uninstall
● drush cc
● drush pml
● drush sql...
Conceptos básicos: Componentes
● Core : Instalación básica de
Drupal
● Module: Extensión de la
funcionalidad del core
● Th...
Conceptos básicos: Sistema de publicación
● Tipo de contenido
● Campos
● Nodo
● Comentario
● Taxonomía
Conceptos básicos: Organizar la información
● html
● página
● región
● nodo
● bloques
● Plantillas anidadas
Conceptos básicos: Menús
● Características
○ Potente gestor de menús
○ Posibilidad de anidamiento
○ Gestión de menús
multi...
Conceptos básicos: Bloques
● Piezas de código HTML que
podemos colocar donde
necesitemos
● Gestión de bloques básica
● Se ...
Conceptos básicos: Gestión de usuarios
● Usuario
● Perfil
● Rol
● Permiso
3. Desarrollo extendido en Drupal
3.1. Hooks
Conceptos importante: Hooks
● Funciones que se ejecutan cuando un evento sucede
● Ejemplo: hook_init → cuando termina la c...
Múltiples API’s: Algunas API de Drupal
● Form API: Formularios
● Database API: Base de datos
● Entity API: Nodos, términos...
3.2. Módulos
¿Cómo es un módulo? Estructura de directorios
● sites/all/modules/tipo-modulo/nombre_modulo
○ contrib
○ custom
○ features
...
¿Cómo es un módulo? Ficheros
● nombre_modulo.info → Meta-información del módulo
● nombre_modulo.module → Implementación de...
3.3. Módulos comunes
Módulos comunes: Views
Características
○ Creación de listados de forma
sencilla.
○ Extensible mediante muchos
otros
■ Slid...
Módulos comunes: Context
Objetivo: Queremos poder definir
más fácilmente la estructura de
contenidos de nuestro site
Carac...
Módulos comunes: Devel Generate
Objetivo: Queremos poder tener
herramientas específicas para
desarrolladores.
Característi...
Módulos comunes: Features
Objetivo: Drupal es muy dependiente de la BD.
Queremos tenerla en código.
Características
○ Nos ...
Módulos comunes: Muchos más
● Token
● Pathauto
● Webform
● CKEditor
● Rules
● ...
3.4. Temas
Capa de presentación: Temas
● Distinta apariencia, distintas funcionalidades
● Subtemas customizables
● Nuevos lenguajes o...
Capa de presentación: Sistemas de plantillas
● Plantilla HTML con código PHP incrustado
● nombre_fichero.tpl.php
● Usado s...
4. Referencias
Referencias
Página oficial de Drupal
https://drupal.org
Documentación completa
https://drupal.org/documentation
Estándar d...
Referencias
Ejemplos completos
https://github.com/jlbellido/aed_drupal_workshop
Web DrupalCamp 2015 en Jerez!
http://2015....
Conclusión
● Cuestión de echarle
ganas... y horas
● Velocidad, flexibilidad...
● ¿Lo mejor? La comunidad
¡Gracias!
¿Preguntas?
Próximos SlideShares
Carregando em…5
×

This is Drupal! (Basics)

355 visualizações

Publicada em

Basic session. What is Drupal?

Publicada em: Software
  • Seja o primeiro a comentar

This is Drupal! (Basics)

  1. 1. Hello! This is Drupal!
  2. 2. Sobre nosotros La Drupalera AED Grupo Local Sevilla José Luis Bellido @jose_lakatos Carmen García @keilovecraft
  3. 3. ¿Qué vamos a ver? ● Introducción ● Conceptos básicos ● Desarrollo: extendiendo Drupal ● Referencias
  4. 4. 1. Introducción
  5. 5. Introducción: ¿Qué es? ● CMS escrito en PHP ● Extensible mediante módulos y temas ● Arquitectura LAMP ● Software libre (GPL) ● Actualmente, Drupal 7 ● Lo mejor: La comunidad
  6. 6. Introducción: Puntos fuertes ● Gran flexibilidad ● Enorme velocidad de desarrollo ● Separación de presentación y lógica ● Multitud de módulos (16k+) y temas (1.2k+) disponibles ● Documentación extensa y calidad ● Soporte por parte de la comunidad
  7. 7. Introducción: Puntos débiles ● Bajo rendimiento: Dependencia de caché ● Menor usabilidad para el usuario inicial ● Incompatibilidad entre versiones mayores ● Curva de aprendizaje elevada
  8. 8. 2. Conceptos básicos
  9. 9. Drush, nuestra mejor herramienta ● drush dl ● drush en ● drush dis ● drush pm-uninstall ● drush cc ● drush pml ● drush sql-sync @alias1 @alias2 ...y muchos más
  10. 10. Conceptos básicos: Componentes ● Core : Instalación básica de Drupal ● Module: Extensión de la funcionalidad del core ● Theme: Extensión “visual” (Plantillas, estilos..) ● Library: Librerías externas con funcionalidad adicional
  11. 11. Conceptos básicos: Sistema de publicación ● Tipo de contenido ● Campos ● Nodo ● Comentario ● Taxonomía
  12. 12. Conceptos básicos: Organizar la información ● html ● página ● región ● nodo ● bloques ● Plantillas anidadas
  13. 13. Conceptos básicos: Menús ● Características ○ Potente gestor de menús ○ Posibilidad de anidamiento ○ Gestión de menús multilenguaje ○ Colocación por bloques ● Menús por defecto: ○ Management ○ Main menu ○ User menu ○ Navigation
  14. 14. Conceptos básicos: Bloques ● Piezas de código HTML que podemos colocar donde necesitemos ● Gestión de bloques básica ● Se colocan en las regiones de los temas. ● Ampliable por módulos ● Ejemplos ○ Bloque de login ○ Bloques de menús ○ Bloques personalizados.
  15. 15. Conceptos básicos: Gestión de usuarios ● Usuario ● Perfil ● Rol ● Permiso
  16. 16. 3. Desarrollo extendido en Drupal
  17. 17. 3.1. Hooks
  18. 18. Conceptos importante: Hooks ● Funciones que se ejecutan cuando un evento sucede ● Ejemplo: hook_init → cuando termina la carga de bootstrap ● Orden determinado por el peso del módulo que lo implementa ● Un hook de cada tipo por módulo ● Esquema de nombre: nombre_modulo_nombre_hook()
  19. 19. Múltiples API’s: Algunas API de Drupal ● Form API: Formularios ● Database API: Base de datos ● Entity API: Nodos, términos, comentarios, … ● Field API: Campos de entidades ● Batch API: Operaciones por lotes ● Sistema de menú ● Variables persistentes ● Sistema de traducción ● ...
  20. 20. 3.2. Módulos
  21. 21. ¿Cómo es un módulo? Estructura de directorios ● sites/all/modules/tipo-modulo/nombre_modulo ○ contrib ○ custom ○ features ○ patch ● Subdirectorios: ○ js ○ css ○ img ○ includes ○ tpl, translations, …
  22. 22. ¿Cómo es un módulo? Ficheros ● nombre_modulo.info → Meta-información del módulo ● nombre_modulo.module → Implementación de hooks ● nombre_modulo.install → Hooks de instalación/desinstalación ● nombre_modulo.admin.inc → Configuración del módulo ● nombre_modulo.inc → Funciones que no son hooks ● nombre_modulo.views.inc → Hooks del módulo Views
  23. 23. 3.3. Módulos comunes
  24. 24. Módulos comunes: Views Características ○ Creación de listados de forma sencilla. ○ Extensible mediante muchos otros ■ Sliders ■ Carruseles ○ Todo mediante interfaz. ○ Sólo para el desarrollo. Conozcamos a Views! Objetivo: Acelerar la forma en la mostramos listados de contenido
  25. 25. Módulos comunes: Context Objetivo: Queremos poder definir más fácilmente la estructura de contenidos de nuestro site Características ○ Disponemos de condiciones para definir layouts. ○ Más potente que la administración del core. ○ Son solapables. Conozcamos a Context!
  26. 26. Módulos comunes: Devel Generate Objetivo: Queremos poder tener herramientas específicas para desarrolladores. Características ○ Mejoramos como vemos variables. ○ Podemos generar contenido y usuarios aleatorio. ○ Para desarrolladores Conozcamos a Devel!
  27. 27. Módulos comunes: Features Objetivo: Drupal es muy dependiente de la BD. Queremos tenerla en código. Características ○ Nos permite exportar la configuración a código. ○ Útil para desplegar funcionalidades. ○ Puedo empaquetar funcionalidad. Conozcamos a Features!
  28. 28. Módulos comunes: Muchos más ● Token ● Pathauto ● Webform ● CKEditor ● Rules ● ...
  29. 29. 3.4. Temas
  30. 30. Capa de presentación: Temas ● Distinta apariencia, distintas funcionalidades ● Subtemas customizables ● Nuevos lenguajes opcionales
  31. 31. Capa de presentación: Sistemas de plantillas ● Plantilla HTML con código PHP incrustado ● nombre_fichero.tpl.php ● Usado según nomenclatura del fichero ● Recibe un array de parámetros ($vars) ● Funciones de preprocesado
  32. 32. 4. Referencias
  33. 33. Referencias Página oficial de Drupal https://drupal.org Documentación completa https://drupal.org/documentation Estándar de codificación https://drupal.org/coding-standards Drupal 7 Pro Development http://www.drupalbook.com High Performance Drupal https://drupal.org/node/2119971 Blog La Drupalera http://www.ladrupalera.com/drupal/ Api Drupal 7 https://api.drupal.org/api/drupal Drupal Modules http://drupalmodules.com/ Grupo Local de Sevilla https://groups.drupal.org/sevilla Canal vimeo http://vimeo.com/drupales
  34. 34. Referencias Ejemplos completos https://github.com/jlbellido/aed_drupal_workshop Web DrupalCamp 2015 en Jerez! http://2015.drupalcamp.es/
  35. 35. Conclusión ● Cuestión de echarle ganas... y horas ● Velocidad, flexibilidad... ● ¿Lo mejor? La comunidad
  36. 36. ¡Gracias! ¿Preguntas?

×