Ampliación de funcionalidades con módulos con Drupal 7

Qué son los módulos?

Un módulo Drupal 7 es una extensión para Drupal que, o bien añade nuevas funcionalidades a su sitio o mejora las características actuales. Hay muchos módulos incluidos por defecto al instalar Drupal 7, pero no todos ellos están habilitados de forma predeterminada.

Además de los módulos instalados por defecto con Drupal 7, hay literalmente miles de otros módulos disponibles para Dupal 7, y usted puede encontrarlos en Download and Extend de drupal.org

Los módulos son, por tanto, conjuntos de funcionalidades con la capacidad de integrarse en una instalación Drupal, añadiendo y/o mejorando el funcionamiento del sitio en multitud de áreas: administración, gestión de contenidos, gestión de usuarios, comercio electrónico, etc.

Los módulos son desarrollados y compartidos libremente por la comunidad de usuarios y desarrolladores de Drupal. Esto hace que sea bastante común encontrar errores e incompatibilidades entre módulos (que es conveniente reportar a sus autores) y por ello debemos mantener nuestro sitio web actualizado y en un estado permanente de revisión y mejora continua.

Una vez subidos los módulos a nuestro sitio, podremos consultar los módulos disponibles (activados y no activados) en el área de gestión de módulos:

Administración->Módulos

Módulos del Core

El núcleo de Drupal 7 incorpora 44 módulos, que estarán disponibles tras la instalación. Todos estos módulos se agrupan en el apartado Núcleo. Algunos de estos módulos son imprescindibles para el funcionamiento de Drupal, por lo que el sistema no dejará que los desactivemos.

Los módulos obligatorios que forman parte del núcleo de Drupal 7 son:

  • Field y Field SQL storage, que permiten conjuntamente añadir campos a entidades, tales como nodos y usuarios. Explicaremos estos conceptos en este mismo apartado.
  • Filter, que realiza acciones de filtrado sobre los contenidos a mostrar.
  • Image, que permite al sistema manejar imágenes.
  • Node, que realiza las acciones necesarias para la publicación y gestión de contenidos.
  • System, encargado de la administración general del sitio.
  • Taxonomy, que permite la categorización de contenido.
  • Text, que define tipos de campo de texto simple.
  • User, necesario para el registro, acceso y gestión de usuarios.

Otros módulos vienen activados por defecto, pero no son imprescindibles, aunque probablemente aporten funcionalidades que no es recomendable desactivar. Es el caso, por ejemplo, de los módulos Menu y Path.

Un tercer grupo de módulos consiste en todos aquellos que también vienen incluidos en el núcleo de Drupal, porque se ha considerado que son módulos interesantes que pueden cubrir las necesidades de la mayoría de los usuarios, pero inicialmente están desactivados. Para hacer uso de estos módulos bastará con activarlos. Veamos una breve descripción de cada uno de los módulos distribuidos con el Core de Drupal:

  • Aggregator: Permite integrar contenido sindicado en nuestro sitio web. Entendemos por contenido sindicado el contenido generado por otros sitios web en formato de canales de noticias RSS, RDF o Atom.
  • Block: Los bloques son cajas que podremos ubicar en distintas partes de la página web. Podemos configurar estas cajas para mostrar contenido de la página, imágenes, campos para logearse, etc...
  • Blog: Este módulo, inicialmente desactivado, permite una rápida activación y puesta en marcha de un blog multi usuario en el sitio web.
  • Book: Un book (libro) en Drupal es un conjunto de páginas vinculadas y organizadas en una estructura jerárquica, como podrían ser capítulos, secciones y subsecciones. Los libros pueden usarse para presentar en nuestro sitio contenidos tales como manuales, tutoriales, listas de preguntas frecuentes u otros materiales que, por su naturaleza, requieran de alguna organización jerárquica.
  • Comment: Es el módulo que permite la publicación de comentarios en el sitio, asociados a​ los contenidos. Provee de las herramientas para poder integrar comentarios en los tipos de contenido de nuestro sitio y múltiples permisos para poder decidir qué usuarios podrán comentar los contenidos.
  • Contact: Genera un formulario de contacto para el sitio web. Es la manera más rápida de exponer un formulario de contacto para que los usuarios o visitantes puedan comunicarse con el administrador del sitio.
  • Content translation: Permite que el contenido pueda traducirse a distintos idiomas. Si queremos tener un sitio multilingüe, este módulo es el que nos va a permitir que podamos traducir los nodos a todos los idiomas en los que esté configurado nuestro sitio.
  • Contextual links: Este módulo, que está activado por defecto, genera en la esquina superior derecha de bloques y otros elementos un icono que funciona a modo de acceso directo a las opciones de configuración. Al hacer clic sobre el icono se desplegará un menú con una o varias opciones, que podrán variar en función del tipo de bloque o elemento.
  • Dashboard: Este módulo aporta otra funcionalidad que puede ser muy útil a administradores y desarrolladores del sitio. Al tenerlo activado añade un enlace en el menú de administración, denominado Panel de control. El Panel de control es un área en la que se pueden agregar múltiples bloques, de manera que el administrador puede organizar en una única página la información y las herramientas de administración y gestión más utilizadas en el sitio.
  • Database logging: Cuando está activado, ciertos eventos producidos en el sitio web se almacenan en la base de datos. Algunos errores como los accesos denegados a ciertas páginas, o intentos de visitas a páginas no encontradas, pueden ser analizados para mejorar el sitio web.
  • Field: Este módulo permite añadir campos a las entidades de Drupal (por ejemplo a los tipos de contenido y usuarios).
  • Field SQL storage: Este módulo es necesario para que la información añadida en los campos creados mediante el módulo Field se pueda almacenar en la base de datos.
  • Field UI: Provee de la interfaz de usuario (UI, user interface) para que los usuarios con los permisos adecuados puedan añadir y gestionar los campos asociados a las entidades. Los módulos Field, Field SQL storage y Field UI están íntimamente relacionados.
  • File: Permite que se puedan adjuntar archivos a los contenidos. Define un tipo de campo Archivo que puede ser utilizado en cualquier entidad (tipos de contenido, usuarios, etc.).
  • Filter: Este módulo maneja los formatos de texto y filtros asociados. Los filtros actuán sobre el texto para dar formato a la prensetación final de los mismos. Inicialmente los formatos de texto disponibles son Filtered HTML, Full HTML y Plain text. Por ejemplo, para el formato Filtered HTML las etiquetas HTML permitidas estarán limitadas a un conjunto de ellas.
  • Forum: Añade foros de discusión al sitio. 
  • Help: Permite que se visualice ayuda sobre los módulos, generalmente en forma de mensajes en la zona superior de la página. También se encarga de mostrar, en la página de administración de Módulos, un enlace a la página de ayuda de cada módulo que la incorpore.
  • Image: Permite subir y presentar imágenes en las entidades. El campo Imagen que ya hemos estudiado en los campos adicionales de los tipos de contenido, proviene de este módulo.
  • List: Permite crear campos adicionales de tipo lista de elementos, que podemos añadir a las entidades.
  • Locale: Permite disponer de varios idiomas en el sitio, como base para la traducción de la interfaz y de los contenidos.
  • Menu: Provee de una interfaz para el manejo de los menús en Drupal. Como hemos visto, un menú es una colección jerárquica de enlaces, que pueden conducir a páginas internas del sitio o externas a él.
  • Node: Éste es un módulo imprescindible para el funcionamiento de Drupal y gestiona todas las tareas relacionadas con los nodos. Se encarga de la creación, edición, eliminación, configuración y visualización del contenido del sitio.
  • Number: Este módulo, activado por defecto, nos da la posibilidad de crear campos para de distintos tipos numéricos (entero, decimal, flotante), que podremos añadir a las entidades.
  • OpenID: Los usuarios de Internet deben gestionar numerosos datos de acceso para diferentes portales web. OpenID es un estándar de identificación descentralizado que podemos usar para identificarnos en distintos portales. El módulo permite que se puedan utilizar los datos de acceso de OpenID en el sitio web con Drupal, sin necesidad de tener un nombre de usuario y contraseña específicos para nuestra página.
  • Options: Este módulo incorpora los controles necesarios para utilizar casillas de selección y botones de opción en los campos implementados por el módulo Field.
  • Overlay: Añade la capa de administración superpuesta. Si lo tenemos activado veremos como todas las páginas de administración se cargan sobre la página del sitio activa, como una ventana emergente o superpuesta. Al finalizar las tareas de administración volveremos directamente a la página del sitio que estábamos visitando antes de entrar en el área de administración.
  • Path: Este módulo sirve para asignar alias de URL a las rutas internas del sitio. De esta forma, las rutas del tipo node/50, pueden sustituirse por una URL amigable, que se identifique con el contenido (por ejemplo, sobre-nosotros). Viene activado por defecto y es altamente recomendable su uso para que los contenidos se posicionen adecuadamente en los buscadores (fundamental para el posicionamiento SEO).
  • PHP filter: Este módulo nos permite insertar código PHP en el cuerpo de los nodos y en el contenido de los bloques, que se ejecutará cuando se vayan a mostrar en pantalla. Puede ser muy útil para crear contenidos dinámicos, ejecutando porciones de código PHP para variar el contenido o presentación de la información. Después de activarlo veremos que tenemos otro formato de texto disponible, PHP Code, que es el formato que tendremos que seleccionar en los contenidos para que el código PHP sea ejecutado como tal. Este módulo debe utilizarse con precaución, ya que un uso indebido puede provocar un malfuncionamiento generalizado del sitio.
  • Poll: Permite crear encuestas. Al activarlo veremos que disponemos de un nuevo tipo de contenido, "Encuesta", con el que podremos plantear preguntas a los usuarios del sitio y podrán expresar su opinión votando por alguna de las opciones disponibles.
  • RDF: Con este módulo Drupal permite añadir metadatos a los contenidos del sitio, lo que favorece que otras aplicaciones (como por ejemplo, buscadores y agregadores de canales RSS) entiendan mejor las relaciones y atributos del contenido del sitio. Un buen uso de estos metadatos implicará también un mejor posicionamiento en los buscadores.
  • Search: Habilita las búsquedas en el sitio. Las búsquedas se estudiarán en la Unidad 17.
  • Shortcut: Este módulo gestiona la barra de "atajos", en la que los usuarios podrán añadir enlaces directos a las páginas que más utilicen.
  • Statistics: Provee de herramientas para registrar estadísticas de acceso al sitio (permite obtener, por ejemplo, las páginas más visitadas del sitio).
  • Syslog: Almacena los principales eventos ocurridos en el sistema mediante el protocolo syslog, que generalmente consiste en escribir en un fichero de log configurado para tal efecto en el servidor donde se ejecuta Drupal. Su correcta configuración puede depender del servidor donde se encuentre alojado el sitio web.
  • System: Este es un módulo fundamental del núcleo, que no puede desactivarse. Se encarga de gestionar el uso y funcionamiento general del sitio. También es el responsable de controlar el rendimiento, la caché, de la habilitación y deshabilitación de temas, la presentación del área de administración y la configuración de las opciones principales del sitio. Ejecuta operaciones de mantenimiento del sitio periódicamente y también configura las acciones que se utilizan con los disparadores.
  • Taxonomy: Permite la categorización del contenido a través términos y vocabularios. El uso de la taxonomía se estudia en la Unidad 11.
  • Testing: Permite ejecutar pruebas del núcleo Drupal y de los módulos activos, garantizando que el código del sitio web funciona correctamente. Es una herramienta fundamental para desarrolladores del sitio, especialmente cuando se encuentran un error y quieren acotarlo para localizar el módulo que lo genera.
  • Text: Provee del control necesario para manejar campos de texto. Se trata de un módulo básico, ya que muchas funcionalidades dependen de él. Si queremos añadir campos de texto a entidades, este módulo será el encargado de su funcionamiento. También tiene una estrecha relación con el módulo Filter, ya que el contenido de los campos de texto tendrá que pasar por alguno de los formatos de texto establecidos.
  • Toolbar: Controla la barra de herramientas que muestra el menú de administración en la parte superior de la página.
  • Tracker: Almacena información sobre el contenido reciente publicado. En la página /tracker podremos ver el contenido reciente, que por norma general será aquel que se haya publicado o modificado desde la última visita del usuario a la página. Además, cada usuario tiene disponible en su cuenta de usuario (/user) una pestaña dedicada a esta tarea, "Seguimiento". Este módulo está desactivado por defecto.
  • Trigger: Activa las acciones que pueden dispararse en determinados eventos del sistema. Con este módulo se puede configurar el sitio para que, por ejemplo, se envíe un correo al autor de un nodo cada vez que un usuario realice un comentario sobre él.
  • Update manager: Comprueba periódicamente las actualizaciones disponibles en el sitio, tanto del núcleo como de los módulos y temas activados, informando al administrador de las nuevas versiones disponibles. Es muy recomendable su activación para mantener el sitio actualizado. También permite la instalación automática de módulos, funcionalidad que utilizaremos en esta misma unidad.
  • User: Este módulo es imprescindible para el funcionamiento de Drupal, por lo que no se puede desactivar. Es el encargado de gestionar las cuentas de usuario, los roles y los permisos del sitio.

Descarga e instalación de módulos

Descarga desde la página oficial

Desde la página oficial de Drupal, a dia de hoy hay casi 17000 módulos a descargar, clasificados por:

  • Maintenance status: Según su estado de mantenimiento.
  • Development status: Según su estado de desarrollo.
  • Module categories: Según su categoria.
  • Core compatibility: Según la compatibilidad de la versión.
  • Status: Según su estado.
  • Search Modules: Búsqueda directa de módulo.

 

Descarga desde otras páginas de interés

Otra opción de descarga de módulos es a través de la página drupalmodules.com. Este sitio se encuentra totalmente enfocado a módulos para Drupal e incorpora filtros y buscadores que permiten localizar los módulos de una forma más ágil y sencilla. Además, incorpora gráficos que indican las funcionalidades, seguridad, facilidad de uso y documentación en una escala del 1 al 5 para cada módulo y en algunos casos comentarios de los usuarios.

 

Drupal 7 dispone del módulo Update Manager que permite la instalación automática de los módulos. Para que esta función esté diponible es necesario que el módulo esté activado. Su funcionamiento es parecido a la instalación automática de nuevos temas donde debe indicarse la dirección url donde se encuentra el archivo comprimido del módulo o indicar el archivo comprimido en el caso que se haya descargado en el servidor.

Para instalar un nuevo módulo debemos seleccionar la siguiente ruta:

Administración->Módulos->Instalar nuevo módulo.

Al presionar Instalar, Drupal hará las acciones necesarias para descargar e instalar el nuevo módulo. En el caso que haya algún error se nos comunicara mediante un mensaje

Debemos tener en cuenta que los módulos que se instalan con este método se almacenan en /sites/all/modules, por si en algún momento queremos acceder a ellos.

Una vez instalado correctamente el módulo, debemos volver a la página de módulos, según la ruta especificada y marcar la casilla de activación para activar el módulo y esté en servicio en nuestro proyecto. Finalmente debemos pulsar el botón de guardar configuración para que los cambios hagan efecto.

Configuración de módulos

Si bien el proceso de instalación y activación de un módulo suele ser común a todo ellos, encontraremos importantes diferencias a la hora de configurar y poner a punto cada módulo.

Para empezar, la instalación y activación de un módulo puede generar:

  • Nuevas opciones en el menú de Administración. Para encontrar estas nuevas opciones generadas por el módulo instalado, se recomienda utilizar la vista por módulos del área de administración (URL admin/index).
  • Nuevos bloques. Algunos módulos generan nuevos bloques listos para su utilización. Por defecto estos bloques aparecerán desactivados, por lo que habrá que ir al área de administración de bloques para activarlos y colocarlos en la región del sitio que deseemos.
  • Nuevas opciones de configuración. Y por último, muchos módulos generan nuevas opciones de configuración integradas en otras secciones del sitio (por ejemplo, mediante nuevas pestañas).
  • Permisos. Los módulos pueden generar permisos que debemos configurar correctamente. Estudiaremos más sobre usuarios, roles y permisos en la Unidad 10.

Una vez instalado un nuevo módulo, se recomienda familiarizarse con él analizando su comportamiento, contenido y capacidades ya que los módulos descargados no son objetivo de este tutorial.

Tags: 

Tema: