Nuevo módulo Drupal: BRIEFCASE

Ya tenía ganas de estrenar el blog y que mejor manera que hacerlo que presentando la primera contribución de Strabinarius a la comunidad Drupal: módulo Briefcase.

Todo equipo de desarrollo de software, incluido Strabinarius, necesita usar alguna herramienta que le permita gestionar el código y todos los cambios producidos en él. Básicamente lo que se conoce como Sistema de Control de Versiones. Nosotros llevamos mucho tiempo utilizando Subversion en todos nuestros proyectos. A día de hoy, esta herramienta resulta totalmente indispensable en nuestro modelo de trabajo.

Cuando empezamos a desarrollar con Drupal, descubrimos que existían algunos módulos que te permitían implementar funcionalidades sin necesidad de tirar una línea de código. En especial, quedamos maravillados con los módulos (o más bien super-proyectos) de CCK y Views.

Las posibilidades y ventajas que te ofrecen estos 2 módulos son enormes. Una vez que aprendes a utilizarlos, comienzas a ser consciente de todo lo que te aporta en tus proyectos y la cantidad de tiempo de desarrollo que consigues reducir en cada uno de ellos.

No obstante, como comentaba arriba, ámbos módulos se gestionan a través de páginas y formularios webs. La información o cambios introducidos en estas pantallas se guardan de forma directa en la Base de Datos (local).

Ésto supone un problema cuando estás trabajando dentro de un equipo de desarrollo de software, ya que los cambios realizados en estas pantallas no pueden ser compartidos de forma rápida y eficiente a través de un Sistema de Control de Versiones.

De esta necesidad surge la idea de crear un nuevo módulo: Briefcase.
 

¿Qué hace exactamente el módulo Briefcase?

Exportar e importa de forma masiva elementos o configuraciones de otros módulos como CCK o Views.
 

¿Cómo se realiza el proceso de EXPORTAR?

Se genera un fichero PHP con el código de exportación por cada elemento o configuración de otro módulo.
Por ejemplo, si tienes 3 CCK's y 4 Views en tu proyecto, se generarán 7 ficheros diferentes.
 

¿Dónde se exportan/importan los ficheros?

El módulo Briefcase dispone de una pantalla de configuración que te permite, entre otras cosas, indicar la ruta origen y destino de tus ficheros exportables.

 

¿Por qué Briefcase está pensado para usarse con SVN o GIT?

Briefcase exporta cada View o CCK en un fichero separado.
Estos ficheros pueden ser añadidos a un repositorio SVN o GIT para mantener un control de versiones y seguimiento de cambios.

 

Ejemplo de modelo de trabajo con Briefcase y SVN.

Supongamos el siguiente escenario. Un proyecto eCommerce con 2 CCK's ("producto" y "pedido") y 1 View ("productos_mas_vendidos").

  1. Antes de empezar a trabajar en el proyecto, un desarrollador Drupal debe realizar las siguientes tareas:
    • Hacer un Update SVN para obtener los últimos cambios del proyecto.
      El programador se da cuenta de que el Content Type "pedido" ha sido modificado recientemente.
    • Realizar un Import a través del módulo Briefcase. Mucho más rápido si se usan comandos Drush (ver documentación adjunta).
    De esta manera, el programador ya tiene actualizado el proyecto en su equipo local (incluidos los últimos cambios en el Content Type "pedido") y puede comenzar a trabajar.
     
  2. El programador realiza una serie de modificaciones en CCK's y Views:
    • Añade nuevos campos al Content Type "Producto".
    • Modifica la View "productos_mas_vendidos".
    • Crea una View nueva llamada "ultimos_productos".
       
  3. Una vez finalizado todos los cambios, el programador realiza la siguientes tareas:
    • Ejecuta un Export a través del módulo Briefcase.
      • En la carpeta indicada se actualizarán los ficheros de exportación del Content Type "producto" y de la View "productos_mas_vendidos" con los últimos cambios.
      • En esta carpeta también se creará un nuevo fichero con la exportaación de la nueva View: "ultimos_productos".
    • Hace un Commit SVN para subir todos los cambios al repositorio.
      De esta manera, cualquier otro miembro del equipo podrá continuar desarrollando a partir de los últimos cambios realizados.

 

Documentación Adjunta

Comentarios

Enviar un comentario nuevo

9 + 2 =