Estos son los videos de las ponencias de la Drupal Day Bilbao 2014.
La última web realizada por The Cocktail en Drupal se ha realizado siguiendo la metodología de trabajo usada para desarrollar proyectos con RonR, esto es, creación de un BackOffice, creacción de un Front estático mediante MiddelMan, integrar el Front con el Back.
La charla explica:
- Por un lado el flujo de trabajo,
- Que tareas se han realizado para llevar a cabo esta integración,
- Que hemos hecho bien,
- Que hemos hecho mal, y como evitar los errores,
- Porque usar esta metodología de trabajo.
Como bien es conocido, para poder publicar módulos en drupal.org debes pasar un proceso de validación que muchos definen como largo, tedioso y complicado.
Desde mi punto de vista, es una experiencia en la que aprendes bastante haciendo algo que en el fondo te gusta. Si no te gustase programar, no intentarías contribuir software libre "Y LO SABES".
En esta charla simplemente propongo contar mi experiencia personal ahora que la tengo reciente, y resumir los consejos que me dio keopx cuando empecé con todo esto y que hizo que fuera un proceso sencillo.
Drupal es un excelente gestor de contenidos, pero también un horrible framework de desarrollo.
El código procedural, el uso de variables estáticas y globales por doquier y otros problemas de testabilidad hacen muy difícil mantener el código a medida que la lógica de negocio crece.
En esta sesión, enfocada principalmente al refactoring de aplicaciones legacy, vamos a aprender a "desdrupalizar" nuestro código y a limitar Drupal a la gestión de contenidos, introduciendo conceptos como la arquitectura hexagonal, la inyección de dependencias y los patrones de diseño. Veremos también cómo añadir herramientas como Composer y PHPSpec a un viejo proyecto en Drupal 6.
Esta charla será en formato taller de aproximadamente hora y media.
Este taller será de poner las manos en la masa. Durante una hora y media aprenderemos sobre las buenas prácticas a la hora de trabajar con Drupal, con un ejemplo práctico en el que veremos, entre otras cosas, lo siguiente:
* Revisión de la estructura de carpetas de Drupal y como organizar nuestro proyecto.
* Drush make, qué es y cómo se usa.
* Installation profiles, qué son y cómo usarlos.
* Features, exportar configuración a código (una aproximación).
* hook_install y hook_update, gestionando lo que se le escapa a features.
* Despliegues, automatizar un despliegue, basado en nuestra arquitectura.
Al final de la sesión, tendremos unos conocimientos suficientes para saber como arrancar un proyecto siguiendo las mejores prácticas, preparado para hacer deploys de manera fácil y quitandonos muchos de los dolores de cabeza habituales de Drupal.
Caso de estudio sobre una aplicación móvil multiplataforma real construida con Backbone, Marionette y jQuery Mobile utilizando como base de información un sitio web montado con Drupal anteriormente.
Análisis de los problemas planteados y soluciones encontradas, centrándonos en la integración entre nuevas concepciones de ambos mundos: Javascript como lenguaje de aplicaciones y Drupal como un API REST.
En la charla se presentará el caso real y se repasará como se han construido aspectos concretos de la aplicación. En la medida de lo posible no nos quedaremos solo en lo teórico, aportaremos valor a la charla con nuestra experiencia real.
Las tecnologías empleadas:
- Backbone, un framework para construir aplicaciones en Javascript que se ejecutan en el cliente
- Marionette, una capa superior a Backbone para facilitar la programación con este framework
- jQuery Mobile, un framework para construir aplicaciones basadas en HTML5 y ofrecer una visualización más cercana a la del móvil
- Cordova, un software para construir una aplicación móvil compatible con Android o iOS (entre otros)
- Drupal 7, que no necesita presentación
Introducción a drush
1- Instalacion drush
2- Comandos principales
3- Copias de seguridad
4- Definir sites alias
5- Comandos utiles para site alias
Aunque es para intermedios, si que se requiere tener conocimientos generales de drupal 7.
Los desarrolladores no solemos ser los mejores comunicadores del mundo. Muchas veces, siendo unos técnicos excelentes, nuestros proyectos pierden calidad por una mala gestión de requisitos y una mala comunicación con el cliente.
En esta charla pretendo en primer lugar mostrar cómo y por qué una mala comunicación con el cliente hace que tu código sea peor y después comentar algunos trucos y estrategias y pequeños consejos para intentar evitar que un mal cliente tire por tierra nuestro proyecto.
Hablaremos de comunicación, de control de crisis y gestión del cambio (mucho). También de metodologías y herramientas (poco).
Cuando abordamos el desarrollo de un nuevo proyecto (Sobre todo si este es para la administración, empresa pública o como quiera llamarse) uno de nuestros ha de ser (o debería) construirlo de tal forma que sea lo más accesible posible.
Cuando hablamos de un sitio accesible, hablamos de un sitio donde los usuarios con discapacidad pueden navegar tranquilamente y aprovechar todos los recursos que este ofrezca.
En esta charla repasaremos algunos de los conceptos que debemos tener claros a la hora de elaborar nuestros proyectos y hablaremos de ciertos módulos que pueden ayudar a construir un sitio más accesible.
Algunos de los temas a tratar serán:
- Formularios (Etiquetado, captchas, etc.)
- Encabezados
- Imágenes
- Alternativas a ciertos tipos de contenidos (Audios, videos, etc.)
Uno de los indicadores de madurez de un equipo de desarrollo consiste en responder a la pregunta ¿Cuantos pasos tienes que dar para poner en producción la última versión de tu aplicación?. ¿Complicamos la pregunta?, Vamos a meter más requisitos: tienes un entorno clusterizado con 3 servidores de front-end, un cluster de base de datos, una capa de cacheo externa con N servidores varnish y otra con servidores Memcache... ¿eres capaz de publicar la última versión de tu proyecto en un solo paso y dándole a un botón?. Mi respuesta: Sí. ¿seguro?, que Sí... es más si va mal tengo rollback y además el proceso de despliegue termina en menos de 20 segundos.
En esta sesión presentaremos de forma práctica como estamos realizando nuestros despliegues de proyectos Drupal en entornos clusterizados en Amazon AWS usando una combinación de Capistrano 3 y una política de ramas en GIT.
La sesión combinará una parte teórica con una parte de demo real. El objetivo es que en media hora se tengan los conceptos clave para que a partir de ahora os olvidéis de la subida a producción usando sFTP, scripts de shell o cualquier medio no automatizado. Además "destriparemos" las recetas ruby que estamos usando y las publicaremos para vuestro uso y disfrute!.
Como ejemplos prácticos veremos como lo usamos en entornos tan exigentes como el portal de Museo Reina Sofía o la plataforma de formación del ISDI InternetAcademi.
David Gil - Biko
Drupal 8 tiene unos 250 archivos (por ahora) donde se definen los tests del sistema y muchos de ellos están escritos usando la librería PHPUnit. Una de las más usadas del mercado.
En esta charla veremos una *introducción a PHPUnit* basándonos en los tests que incorpora Drupal 8.
Drupal 8 has a broad list of tools to help you to create an API to expose your data. In this session we will review each of them with practical examples.
Here are some of the topics that we will cover:
The REST module. How to read, modify and delete entities.
How to test requests: cURL, Guzzle and browser extensions.
Building listings with Views REST exports.
Protecting our API with authentication.
Debugging tools.
TODOs, current limitations and follow-up work to make this rock.
Note I can give this session in Spanish if required by the organization.
Drupal 8 incorporará bastantes novedades que harán la vida más fácil a los themers.
Esta sesión pretende presentar las novedades que tendrá la capa de theme y las mejoras en el ámbito de marcado y renderización frontend de la nueva versión de Drupal así como las nuevas funcionalidades o mejoras en este ámbito.
Puntos a tratar:
- Cambios en sistema de theme - suggestions, preprocess, etc
- Adiós theme functions, hola render arrays
- Twig!
- Estilos siguiendo SMACSS
- Herramientas RWD (picture, breakpoint, etc)
En esta sesión presentaremos como estamos utilizando CasperJS para asegurar la calidad de algunos de nuestros desarrollos y evitar los tan temidos (y comunes) bugs de regresión.
Mostraremos el uso básico de CasperJS y veremos un caso real en el que estamos testando la lógica principal de un portal con procesos complejos que involucran submits de formularios multipaso, testeo con multiples roles, etc...
David Gil - Biko