Arquitectura de Proyectos Drupal
DrupalDay Bilbao 2014
Created by David Hernández
¿De qué va este taller?
- ¿Desarrollo? ¡No!
- ¿Introducción a Drupal? ¡No!
- ¿Cómo trabajamos con Drupal? ¡Si!
¿Qué puedes esperar de este taller?
- Mucho contenido.
- Poco código.
- Mucha terminal.
- Pocas slides.
Nuestros objetivos
- Mejorar el trabajo en equipo.
- Mejorar nuestros procesos.
- Mayor confianza.
Resumen
- contrib
- custom
- features
- hacked
Notas
Módulos custom, no un módulo custom.
Principio de única responsabilidad.
Ventajas
- Actualizaciones genéricas en un sitio con sentido.
- Mejor gestión de las dependencias.
- Replicación más fácil
Resumen
- drupal-org-core.make
- drupal-org.make
- profile.make
Resumen
- Solo versionas código custom. Nunca core o contrib.
- La excepción son módulos hackeados sin parche.
Notas
Branching y flujos es un tema aparte. ¡Búscalo!
Módulos útiles
- Strongarm
- Context (o Panels)
- Beans / Context
Resumen
- Exporta basado en componentes, no en funcionalidades.
Notas
Evita el sistema de bloques y los custom blocks.
Resumen
- Automatiza todo lo automatizable:
- Deploys
- Builds
- Actualizaciones
Notas
Puedes automarizar features, pero ¡cuidado!
Resumen
- El método Capistrano.
- Mantén configuración y archivos fuera de Drupal.
- Sigue el mismo proceso entre todos los entornos.
Notas
- Los pasos del deploy pueden variar entre entornos.
- Backups son siempre esenciales.
- Para hacer un rollback, activar release antigua y restaurar backup.
Resumen
- Subir cambios.
- Deploy de cambios.
- Rebuild del sitio.
- Aplicar actualizaciones.
Testing
- SimpleTest.
- PHP Unit.
- Behat.
- CasperJs.
- Selenium.