Skip to content

Manuales: Instalar un módulo

numeroteca edited this page Jan 4, 2017 · 3 revisions

El proceso de instalación de módulos está cubierto en esta página de drupal.org, sin embargo, dado que usamos un perfil de instalación con features, el proceso es un poco más complejo, y consta de los pasos siguientes:

  1. Instalar el módulo
  2. Configurar el módulo
  3. (Opcional) Configurar permisos del módulo
  4. Exportar la configuración del módulo al código
  5. Crear pull request

A continuación se explican los pasos a seguir, usando como ejemplo la instalación del módulo piwik

Instalar el módulo

Desde interfaz de usuario:

  1. Descargar el módulo deseado, teniendo en cuenta lo siguiente:
  2. Todos los módulos se descargan de la página drupal.org, concretamente desde https://www.drupal.org/project/project_module (en el caso de ejemplo sería https://www.drupal.org/project/piwik)
  3. Asegurarse que se descarga una versión estable compatible con la versión de drupal utilizada (en nuestro caso usamos drupal 7, por lo que habrá que fijarse que las versiones descargadas sean siempre 7.x-)
  4. Es posible que algunos módulos necesiten alguna dependencia (en ese caso se indica en la página de descripción del módulo). Si es el caso, habrá que repetir el proceso para los módulos dependientes.
  5. Descomprimir el módulo en la carpeta docroot/profiles/c_inmobiliarios/modules/contrib/<carpeta-nombre-módulo> (en el caso de piwik quedaría en docroot/profiles/c_inmobiliarios/modules/contrib/piwik
  6. Acceder a la interfaz de administración de módulos en el path <dominio>/admin/modules (es necesario estar logeado y tener permisos para ello)
  7. Buscar el módulo y habilitarlo

Desde línea de comandos

En caso de tener instalado drush, podemos ejecutar estos pasos con estos dos comandos (donde sustituiremos por el nombre del módulo, en el ejemplo sería piwik):

  • drush dl <módulo> --destination=profiles/c_inmobiliarios/modules/contrib
  • drush en <módulo>

Con el primer comando descargamos la versión estable compatible con la versión de drupal del módulo deseado y lo colocamos en la carpeta de destino deseada. Con el segundo, lo habilitamos (y en caso de tener dependencias las descargará y activará, -aunque por defecto pondrá los archivos en sites/all/modules que no es exactamente donde queremos ponerlos).

Configurar el módulo

La mayoría de módulos requieren configuración adicional después de haber sido habilitados. La mayoría de configuraciones de módulos se encuentran en la URL <dominio>/admin/config, pero podemos acceder directamente a la configuración de módulo deseado desde la misma página de módulos, haciendo click en la pestaña desplegable al lado del módulo.

Captura de pantalla

Una vez en la página de configuración, cambiaremos los valores deseados. Dado que variarán enormemente de un módulo a otro no podemos detallar todo en esta página. Un buen principio para ver cómo configurarlo suele ser leer el archivo readme.txt que contienen la mayoría de módulos o leer la documentación oficial den la página de descarga del módulo (muchos de ellos suelen tener un link en el sidebar que dice "Read documentation")

(Opcional) Configurar permisos del módulo

Algunos módulos asignan permisos adicionales que deberíamos mirar.

Exportar la configuración del módulo al código

Dado que todos los cambios que hemos hecho solo se almacenan en la base de datos (salvo la existencia de los archivos del módulo en sí), deberemos exportar la configuración al código para que:

  1. Tengamos una copia versionada a través de git
  2. Podamos replicar la instalación en otros entornos (por ejemplo en local) sin tener que hacer ninguna configuración adicional.

Para ello deberemos utilizar el módulo features accediendo a la URL <midominio>/admin/structure/features. En esa página se muestra un listado de features disponibles. Las features son mini-módulos que contienen configuraciones y dependencias para fines muy concretos (ver info sobre features y leer acerca de la arquitectura de features utilizada en cadáveres inmobiliarios -página por crear).

En el caso de piwik editaremos la feature Cadáveres inmobiliarios' core que contiene las dependencias y configuraciones generales de todo el sitio o las que no sirven para un fin muy específico.

En la pantalla que muestra la captura anterior seleccionaremos todas aquellas configuraciones y dependencias que queramos exportar. Podemos usar el buscador escribiendo piwik para ver toda la información exportable que podemos exportar. Para el caso concreto deberemos seleccionar lo siguiente (se muestran en la pantalla):

  • Dependencias: piwik
  • Permisos
  • Strongarm (esto son variables con configuraciones)

Una vez marcadas las casillas correspondientes deberemos descargar el código correspondiente con uno de estos métodos:

  1. haciendo click en el botón "Descargar y descomprimir el archivo descargado en la carpeta docroot/profiles/c_inmobiliarios/modules/features/general/ (habrá que sobreescribir la feature existente previamente, lo cual no es problema porque está versionado con git)
  2. haciendo click en el botón "Generar features" que está dentro de la pestaña "opciones avanzadas". Al hacer click allí se descomprimirán los archivos necesarios en la carpeta adecuada (suponiendo que nuestro usuario de apache tenga permisos de escritura en dicha carpeta)

Crear un pull request

Una vez realizados los pasos deberemos subir los nuevos archivos con los módulos y configuraciones (via features) al repositorio. Para ello deberemos hacer lo siguiente:

  1. crear una nueva rama en el repositorio de git git checkout -b <nombre_rama>. Como criterio usaremos el patrón ##_nombre, donde ## es el número de la issue a la que nos referimos y nombre puede ser cualquier explicación. En nuestro ejemplo podríamos llamarla 24_piwik, ya que la issue #24 es la que hace referencia a la necesidad de instalar un sistema de estadísticas.
  2. crear cuantos commits sean necesarios git commit -a -m "<mensaje>" (al principio puede ser recomendable usar por lo dos commits: uno para el módulo en sí (lo que hemos hecho en el paso 1) y otro para las features). Por lo general, siempre que nos refiramos a una issue, los nombres de los commits deberían seguir el patrón Task #<issue> - <mensaje>. De esta forma la issue mostrará los commits, y el commit enlazará a la issue.
  3. subir los commits a la nueva rama: git push origin <nombre_rama>
  4. crear una pull request desde github contra la rama master (de esta manera nos aseguramos de no introducir ningún error, ya que exige supervisión manual para hacer el merge.