Intro a Drupal

https://slides.com/erian/drupal101-3/live#/

  • Conceptos básicos
  • Módulos
  • Roles y permisos
  • Temas
  • Cache
  • Programación en Drupal
  • Views
  • Panels
  • Práctica
  • Y más!

"Life is trying things to see if they work."

Ray Bradbury

 

"Drupal is trying things to see if they work."

Edgar Barrantes

 

Conceptos básicos

CMS

  • Content Management System (Sistema de manejo de contenido)
  • El contenido es fácil de editar por el dueño del sitio.

Drupal

  • Es un CMS.
  • Hasta el momento, es el más avanzado de los tres CMSs libres más populares (Joomla, Wordpress y Drupal)
  • Avanzado en: comunidad, contribución al código, capacidades.

Core de Drupal

  • Son los archivos que definen Drupal.
  • Se actualiza.

Campos

  • Almacenan datos de tipos determinados (texto, fechas, números, etc)
  • Se agregan a entidades
  • Tienen distintos tipos

Eg: Título, descripción, imagen.

Entidades

  • Agrupan campos
  • Almacenan datos

Eg: Tipos de contenido, usuarios, taxonomías.

Tipos de contenido

  • Son entidades (agrupan campos)
  • De aquí se crean nodos.
  • El equivalente a clases

Eg: Blog, Productos, Notas.

Nodos

  • Se crean a partir de un tipo de contenido.
  • Son contenido.
  • Viven en la base de datos (y sólo allí).
  • Son el equivalente a los objetos

Taxonomías

  • Consisten de vocabularios y términos
  • Los vocabularios engloban términos
  • Sirven principalmente para clasificar
  • Eg: 

Vocabulario: Tipo de blog.

Términos: Drupal, Javascript, CSS, Personal.

Usuarios

  • Se pueden loggear en Drupal
  • Son entidades, entonces tienen campos
  • Pueden modificar drupal de acuerdo a sus permisos

Relaciones entre entidades

Las entidades pueden estar relacionadas entre sí

Eg:

  • El usuario está relacionado con el contenido que crea.
  • Lo comentarios están relacionados con los nodos a los que pertenecen. 
  • El core de drupal trae varias relaciones como estas, pero se pueden crear más (Entity Reference).

Regiones y Bloques

  • El tema define regiones
  • Se pueden definir bloques (piezas que llevan información)
  • Los bloques se pueden ubicar en regiones

Módulos

  • Extienden la funcionalidad de Drupal
  • Cumplen una o varias funciones particulares

Menús

  • Agrupan links (internos o externos)
  • Crean un bloque

Y ahora, para algo completamente diferente.

"Tipos" de módulos

  • Contrib
  • Custom
  • Features (D7)

Roles y permisos

  • Los usuarios tienen roles
  • Los roles agrupan permisos
  • Los permisos definen la posibilidad de realizar un acción
  • Drupal tiene permisos definidos, uno puede definir permisos, y los módulos contribuidos normalmente traen permisos.

Temas

  • Definen regiones
  • Contienen templates
  • Llevan los estilos
  • Pueden definir variables para usar en los templates
  • Normalmente, incluyen la configuración para compilar sass, reducir JS.

Drush

  • Herramienta de línea de comandos
  • Sirve para todo
  • drush uli, drush cc all, drush cc css-js, drush dl, drush en -y

Cache

  • Existe
  • Varía por usuarios
  • En desarrollo debería estar deshabilitado
  • drush cc all

Actualizaciones

  • Major (7 a 8)
  • Minor (7.49 a 7.50)
  • No todo funciona out of the box
  • Implican mantenimiento

Programación en drupal

  • Módulos llevan funciones de PHP.
  • Existen los hooks. 
  • Drupal tiene un proceso para funcionar (aunque no lo crean)
  • Los hooks permiten meterse dentro de ese proceso y hacer algo determinado
  • Son de la forma: foo_bar()
  • foo es el nombre del módulo o tema en el que viven.
  • bar es el nombre del hook en sí

Views

  • Es un creador de queries de SQL
  • ¿Qué es eso? Un buscador.
  • Permite mostrar contenido de acuerdo a condiciones.
  • Viene con D8, es un módulo en D7

Panels

  • Permite mostrar contenido de la forma que se quiera
  • Permite condicionales
  • Permite añadir clases, ids.
  • Puede sobreescribir como se ven nodos, taxonomías, etc.

Práctica

  • Crear un vocabulario "Tipos de blog" con algunos términos.
  • Crear un tipo de contenido "Blog" con: título, texto, imagen, referencia a: "Tipos de blog".
  • Bonus: Crear una vista que permita filtrar por términos de tipos de blog.
  • Bonus: meta esa vista en un panel.

Recursos

¿A quienes ponerles atención?

Drupal

UX y diseño

Web en general

All things frontend

https://slides.com/erian/drupal101-3

¡Gracias!

Práctica

  • Crear un vocabulario "Tipos de blog" con algunos términos.
  • Crear un tipo de contenido "Blog" con: título, texto, imagen, referencia a: "Tipos de blog".
  • Bonus: Crear una vista que permita filtrar por términos de tipos de blog.
  • Bonus: meta esa vista en un panel.
Made with Slides.com