-
Notifications
You must be signed in to change notification settings - Fork 2
Manuales: Instalar un módulo
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:
- Instalar el módulo
- Configurar el módulo
- (Opcional) Configurar permisos del módulo
- Exportar la configuración del módulo al código
- Crear pull request
A continuación se explican los pasos a seguir, usando como ejemplo la instalación del módulo piwik
Desde interfaz de usuario:
- Descargar el módulo deseado, teniendo en cuenta lo siguiente:
- 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)
- 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-
) - 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.
- Descomprimir el módulo en la carpeta
docroot/profiles/c_inmobiliarios/modules/contrib/<carpeta-nombre-módulo>
(en el caso de piwik quedaría endocroot/profiles/c_inmobiliarios/modules/contrib/piwik
- 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) - 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).
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.
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")
Algunos módulos asignan permisos adicionales que deberíamos mirar.
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:
- Tengamos una copia versionada a través de git
- 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:
- 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) - 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)
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:
- 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 ynombre
puede ser cualquier explicación. En nuestro ejemplo podríamos llamarla24_piwik
, ya que la issue #24 es la que hace referencia a la necesidad de instalar un sistema de estadísticas. - 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ónTask #<issue> - <mensaje>.
De esta forma la issue mostrará los commits, y el commit enlazará a la issue. - subir los commits a la nueva rama:
git push origin <nombre_rama>
- 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.