Todo empezó por allá el 2012 en el Drupal Day de Valencia, explicando que Drupal era "malo" y que eso de mezclar contenido y configuración no era muy bonito y mucho menos práctico, que había por ahí un modulito que la gente no le hacía mucho caso y que te ayudaba a arquitecturizar tu código para exportar la configuración y hacerla versionable.
Visto el éxito de esa charla, di un paso más en la Drupal Camp de Madrid de 2012 y pasé a exponer que, una vez dominada la parte de exportables, sería bueno lo de tener un fichero con el "contrato" de nuestra aplicación (.make) para mantener versiones y parcheados de módulos, temas y librerías, además de introducir el concepto de trabajo con perfiles de instalación y control de versiones.
Ahora que han pasado ya tres años desde esa última charla, me gustaría dar un paso más y exponer cómo se puede crear una estructura de proyecto para ser fácilmente versionada, actualizada, desplegada y mantenida dentro de un equipo de desarrollo formado por distintos perfiles y una arquitectura con distintos entornos. Se expondrán herramientas que son estándares de la indústria que nos ayudan en cada uno de los puntos de nuestro desarrollo diario. Además de ello, se introducirán algunas buenas prácticas sobre el desarrollo de proyectos como revisión de código o trazabilidad.
Algunos de los temas que se tratarán son:
- Requisitos: trabajo con git y features
- Estructura de nuestro proyecto
- Trabajo con perfil de instalación
- Flujo de desarrollo en fases de proyecto: instalación vs. actualización
- Facilitar las pruebas con contenido por defecto
- Cómo manejar el concepto placeholder
- Integración contínua y paso entre entornos
- Testing y otras cosas interesantes en esta fase
- Buenas prácticas durante el desarrollo y posterior mantenimiento de proyectos.