Una de las grandes de las grandes ventajas que tiene Drupal es que podemos crear webs complejas y personalizadas sin tocar una sola línea de código. Sin embargo, en muchas ocasiones nos veremos en la necesidad de crear nuestras propias funcionalidades para cubrir necesidades muy concretas que, en un principio, no están contempladas en el funcionamiento básico de Drupal. Haciendo uso de su framework, las posibilidades que nos ofrece este cms son prácticamente infinitas.
Como es lógico, la libertad que da Drupal para modificar cualquier aspecto del gestor nos puede llevar a encontrarnos con un sistema complejo que puede espantar a aquellas personas que se inician con esta herramienta. Por suerte, tenemos a nuestra disposición muchos módulos que nos pueden ayudar a entender mejor el funcionamiento interno de Drupal y a desarrollar nuestras propias extensiones.
Aquí comentaré los que son, en mi opinión, los módulos que no nos pueden faltar en nuestro entorno de desarrollo:
Examples for Developers
A diferencia de la mayoría de módulos que podemos encontrar en cualquier proyecto basado en Drupal, Examples for Developers no tiene ninguna funcionalidad concreta ni está pensado para ser utilizado en un entorno de producción.
Está compuesto por una gran cantidad de submódulos que hacen uso de las distintas APIs del cms para demostrar cuál es la utilidad de cada una de ellas y de qué son capaces. Activando cada uno de ellos, veremos distintos ejemplos de formularios, páginas, creación de contenidos, etc. Si accedemos al código fuente del ejemplo que nos interese, podremos leer las explicaciones paso a paso de cómo esta desarrollado ese submódulo.
Si estamos aprendiendo a desarrollar con Drupal, Examples for Developers debería ser nuestra primera parada, ya que mediante ejemplos prácticos, podemos empezar a crear nuestros propios módulos.
Devel
Este módulo nos proporciona distintas utilidades que nos pueden facilitar cualquier tarea a la hora de crear una web. En el momento de activarlo, dispondremos de un menú de desarrollo que enlazará a las distintas herramientas de Devel: acceso directo al limpiado de cachés, editor de variables del sistema, ejecución de código php, etc.
Con el módulo activo también podremos hacer uso de distintas funciones, de las cuales, la más útil puede ser dmp, que mediante la librería Krumo, sustituye al var_dump de php, mostrando en el área de notificaciones de Drupal toda la información de cualquier variable u objeto de forma anidada y limpia.
Features
Desde el backend de nuestra web, podemos crear fácilmente distintos tipos de contenidos, bloques, formularios, etc. Muchas veces, estas modificaciones las hacemos cuando ya existe una versión en producción y se ha decidido ampliar alguna funcionalidad. En estos casos, nos encontramos con el problema de traspasar las nuevas características creadas en el entorno de desarrollo a la web en producción.
Gracias a Features, podemos generar de forma automática un módulo que incluya todo aquello que le indiquemos. Por ejemplo, podemos crear un nuevo tipo de contenido con sus propios campos, exportarlo y activarlo en producción.
Administration Menu
Para configurar nuestra web tendremos que movernos constantemente por las distintas secciones del backend de Drupal. El menú de administración que nos encontraremos por defecto puede dificultarnos estas tareas, puesto que para acceder a una subsección en concreto, tenemos que ir descendiendo por todas sus secciones padre.
Administration Menu sustituye el menú por defecto por otro menú desplegable, que se irá abriendo con solo pasar el ratón por encima. De esta manera, podremos acceder a cualquier apartado de la web con un solo clic.