Siete Módulos para Drupal 7 - Herramientas de Desarrollo

Además de las herramientas usuales para desarrollo en PHP, Javascript, HTML, etc.. hay una serie de utilidades específicas de Drupal. Quizá la más conocida y la más útil es Drush, que es una herrmienta de línea de comandos y deberíamos tenerla instalada siempre, aunque sólo sea para que los que miran lo que hacemos por encima del hombro vean una consola abierta, que siempre queda muy profesional ;-).

Pero aquí voy a hablar sólo de algunos módulos realmente útiles. Sí, "Módulos de Drupal" que nos ayudan a desarrollar "Módulos de Drupal", desde varias utilidades de depuración hasta algún otro que simplemente nos proporciona en un click la opción de borrar el caché o de exportar o importar la base de datos. Estos son los que yo al menos siempre tengo instalados, algunos en el servidor de desarrollo y otros en el entorno de pruebas o en el de producción. Al final del artículo están los enlaces para descargar cada módulo.

El básico: Devel

Pantalla - Módulo Devel

Screenshot - Drupal módulo Devel

El módulo Devel quizá sea el más básico y el más conocido. Principalmente nos proporciona información de depuración, desde las consultas que se ejecutan en una página hasta la memoria o el tiempo que se usan para generar la página. Pero también tiene otras capacidades como generar cualquier cantidad de nodos o usuarios para tener algún contenido con el que empezar el desarrollo y las pruebas. Si quieres saber más sobre este módulo, está bastante mejor explicado en Módulo devel para el desarrollo de Drupal.

Limpia tu base de datos: Schema

Screenshot - Drupal módulo Schema

Este módulo básicamente comprueba si el esquema real de la base de datos coincide con el 'teórico', es decir, el declarado por los diferentes módulos. Generalmente muy útil a partir de las pocas semana de proyecto, cuando todos los desarrolladores ya han empezado a hacer y deshacer con sus tablas de la base de datos, y a veces se acuerdan de añadir el script correspondiente de actualización y a veces no.

Mantén limpio tu código: Coder

Screenshot - Drupal módulo Coder

No digo que lo estándares de desarrollo o "Coding standards" sean una religión que haya que seguir al pie de la letra. Pero cuando trabajas en un equipo lo bastante grande cada chapuza que uno hace en el código puede hacer perder bastante tiempo a todos los demás integrantes del equipo. Este módulo comprueba el código de los diferentes módulos, con unos parámetros bastante flexibles, y detecta automáticamente las "chapucillas" que hicimos "un día porque teníamos prisa para arreglar mañana pero mañana había otras cosas más importantes que hacer".

Limpia tu página: Drupal for Firebug

Screenshot - Módulo Drupal for Firebug

Si utilizas Firebug, una extensión de Firefox para desarrolladores (Y si no utilizas ésta ni ninguna otra, pruébala!) hay una opción mejor para la información de depuración que imprimir datos directamente en la página web. Este módulo, que necesita algún complemento más como el plug-in de Firefox correspondiente, muestra directamente en una ventana de tu navegador toda la información de depuración que puedas necesitar, e incluso te permite ejecutar PHP en tu instalación de Drupal directamente en tu navegador.

Ahorra tu tiempo: Administration Menu

Screenshot - Módulo Drupal Admin Toolbar

"Oye, que me he bajado la última versión del código y no me funciona", "Borra el caché", "Ah, ahora ya va!". El módulo Administration Menu, aunque no es exactamente una herramienta de desarrollo, sí es la que nos va a ayudar a ahorrar un montón de clicks y cargas de página y por tanto, unas cuantas horas a la semana. Bastante más útil que la que viene de serie con Drupal 7, proporciona menús desplegables en la parte superior de la página. Y un regalo: Desde el icono de la izquierda se puede acceder directamente a un montón de funciones y enlaces útiles, cómo el borrado de caché o el editor de variables (Se integra con el módulo Devel) o los enlaces en Drupal.org de los módulos que tienes instalados.

Mueve tus datos: Backup and Migrate

Screenshot - Drupal módulo Backup and Migrate

Tampoco es un módulo específico de desarrollo pero sí es realmente útil cada vez que un desarrollador necesita un volcado de la base de datos del servidor. Porque la otra opción es cuando pierdes un día porque no tienes acceso al servidor, y una hora más porque cuando por fin te lo dan tienes que andar buscando la base de datos y moviendo archivos de un lado para otro. También sirve para otras cosas, como hacer backups.

Y por último, pero el más importante: Testing

Screenshot - Drupal módulo Testing

En los años que llevo haciendo cosas con Drupal he participado en dos tipos de proyectos: Aquellos en los que se invierte algo de tiempo en usar tests automatizados (Unit Testing u otros..) que al final se acaba recuperando con creces además de hacer un producto o un sitio web bastante más estable, y aquellos en los que no hay "tiempo para esas cosas", pero sí hay horas y horas (y días y días) para arreglar en un servidor de producción los problemas que unos pocos Tests hubieran detectado un mes antes cuando alguien tuvo un mal día y tocó la línea de código equivocado. Para quien no lo ha usado nunca, sólo recomiendo activar este módulo (que está incluido en Drupal core) y ver, aunque sólo sea una vez, cómo se ejecutan algunos tests. Pista: Configuración > Desarrollo > Testing