Iniciando con el Drush Make de Drupal

Drush es una herramienta la cual nos permite realizar una serie de tareas administrativas dentro de un sitio web desarrollado con Drupal mediante la línea de comandos, el uso de esta herramienta nos puede permitir ahorrar tiempo, esfuerzo cuando desarrollamos y administramos el sitio web. Drush cuenta con una cantidad considerable de utilidades y en este artículo en específico explicare el funcionamiento y uso de "drush make".

¿Qué es Drush Make?

Esta es una funcionalidad agregada por defecto en el aversión 5 de Drush, la cual permite por un lado crear archivos de instalación, en los cuales se indiquen los módulos que se deben instalar; por otro lado permite ejecutar estos archivos de instalación para que automáticamente se descargue el Drupal junto los módulos indicados. El beneficio principal es facilitar y automatizar la tarea de descarga de módulos cuando estamos iniciando un nuevo proyecto, ahorrando tiempo al desarrollador al no tener que realizar esta tarea de forma manual. En el archivo de instalación lo que por lo general agregaríamos son los módulos que siempre requerimos para todo proyecto.

Estructura de un archivo de instalación de Drush Make

La estructura de estos archivos es relativamente simple y muy similar a la de un archivo module.info, está conformado por siete grupos de información los cuales enlisto a continuación:

Core Version: 

Versión del core de drupal a utilizar, Ej:  core = 7.x.

API Version: 

Versión del API de Drush make a utilizar, en la actualidad la última versión es las 2, Ej: api = 2.

Proyects: 

Este es el grupo principal del archivo y el que tendrá por lo general más información, en el mismo se enlista los diferentes módulos y temas que se desea en la instalación, en el mismo se puede definir solo el nombre del proyecto o también indicar que versión en especifico se requiere descargar, en el caso de tener algún problema de incompatibilidad con alguna versión del modulo. Ej: projects[] = drupal o projects['drupal'] = 7 o projects['drupal']['version'] = 7.19.

Patch: 

En ocasiones requerimos aplicar uno o varios parches a los módulos a utilizar y este grupo de información nos permite la automatización de esta tarea, Ej: projects[module][patch][] = "http://drupal.org/files/issues/module.patch".

Subdir: 

Este enunciado nos permite cambiar la carpeta por defecto donde se descargara uno o varios módulos, Ej: projects['twitter'][subdir] = "contrib".

Overwirte: 

Por defecto Drush Make no sobrescribe archivos y marca esto como un error, pero podemos configurar en nuestro archivo que el mismo sobrescriba y los archivos en caso de existir, Ej: projects[patched_module][overwrite] = TRUE.

 

Libraries: 

Drush Make también se puede encargar de la descarga de librerías de terceros, que requieran nuestros módulos, como por ejemplo el modulo Colorbox, Ej: libraries[colorbox][download][type] = "file" y libraries[colorbox][download][url] = "https://github.com/jackmoore/colorbox/archive/master.zip".

 

Creando un archivo Drush Make

Estos archivos pueden ser creados de forma manual o generados a partir de una instalación drupal ya previamente configurada. Sí creamos manualmente el archivo por convención debemos utilizar la extensión .make en el mismo y utilizar el editor de texto que sea de nuestra preferencia, si tenemos una instalación la cual queremos utilizar como base para nuestros próximos proyectos, debemos situarnos por línea de comandos en el directorio raíz del proyecto y ejecutar el comando drush make-generate name_file.make, el cual nos creará un archivo de instalación en el directorio del proyecto, este archivo tendrá la estructura y enunciados que antes mencione.

Como utilizar un archivo de instalación

Para crear una instalación nueva a partir de una archivo de instalación únicamente debemos ejecutar el comando drush make file_name.make, el directorio donde queremos crear nuestro nuevo proyecto, Drush iniciara a mostrar un mensaje por cada tarea ejecutada del archivo y en caso de provocarse un error, el mismo será mostrado en pantalla.

Enlaces de Interés: