Módulos
Drupal defínese como un CMS (Content Management System) modular, ou o que é o mesmo, un Sistema de Xestión de Contidos modular. Estruturalmente a aplicación ten un núcleo (core) que é básico para que a aplicación funcione e a partir de ahí podemos ir engadindo diferentes módulos dependendo das funcionalidades que queremos que teña a nosa páxina web. Así, se imos utilizar o noso Drupal como unha plataforma de comercio electrónico instalaremos uns módulos diferentes que se o que queremos é que funcione como un portal de recollida de documentación, ou se desexamos crear un portal para un centro educativo. Cantos máis módulos activados máis funcionalidades vai ter a páxina pero isto non é sinónimo de calidade, ademáis unha sobrecarga de módulos pode afectar negativamente á velocidade de resposta durante a navegación pola web do centro. No equilibrio está a clave do éxito.
Podemos facer a seguinte clasificación dos módulos:
- Módulos do núcleo de Drupal. Son os que trae o paquete de instalación de Drupal
- Requeridos. Deben estar sempre activos para o funcionamento da web. Podemos velos no grupo Core-requerido, e son: Block, Filter, Node, System, User
- Opcionais. Ofrecen funcionalidades do nucleo que non son obligatorias. Podemos velos no grupo Core-opcional.
- Módulos contributivos. Son módulos desenvolvidos pola comunidade de Software Libre. Podemos intalar aqueles que desexemos.
- Módulos particulares e personalizados. No proxecto Webs Dinámicas temos algúns módulos desenvolvidos para tarefas concretas necesarias no proxecto, e tamén módulos contributivos adaptados ao proxecto.
Formulario de administración do módulos.
Ruta: Administrar > Construción da páxina > Módulos

Figura 1: Formulario de administración do módulos.
Dependencias entre módulos.
Os modulos agrúpanse en función da relación que existe entre eles, e en moitos casos cando descargamos un paquete para a instalación dun módulo en realidade estamos descargando varios módulos estreitamente relacionados entre si. Ademáis entre os módulos existen dependencias, de xeito que un módulo pode precisar de outro para poder funcionar sendo entón necesario activar o segundo se queremos utilizar o primeiro. Por exemplo, na seguinte imaxe vemos como o módulo Menu é requerido polos módulos Menu translation e Nice menus, de xeito que para poder activar calquera de estes dous teremos que activar tamén o módulo Menu.

Figura 2: Dependencias entre módulos.
Instalación de novos módulos
Os módulos son elementos instalables adicionais ao núcleo de Drupal, desenvolvidos pola comunidade, que engaden funcións á nosa páxina. Na web de drupal.org pódense facer búsquedas dos módulos dispoñibles para Drupal. O Proxecto Webs Dinámicas está constantemente analizando novos módulos que engadir ás páxinas web dos centros e poder así ampliar a seguridade e funcionalidade dos espazos. Se nalgunha ocasión algún administrador cre que sería recomendable engadir algún módulo de Drupal ao conxunto xa instalado pode comunicalo enviando un correo electrónico a websdinamicas@edu.xunta.es indicando o módulo e tamén a xustificación de por que se considera que é de interese. Os responsables do proxecto analizarían a viabilidade do módulo e instalaríase, ou rexeitarase, para tódolos centros de Galicia. É importante comprender que algúns módulos presentan incompatibilidades con outros.
Diagrama de estados dos módulos en Drupal.
Na seguinte imaxe podemos ver un diagrama sobre os distintos estados nos que pode estar un módulo, o que significa cada estado e como se pasa dun estado a outro.

Figura 3: Diagrama de estados dos módulos.
Administración dos módulos. Lapela Lista.
Na ruta de administración de módulos temos o listado de tódolos módulos instalados nos servidores que dan o servizo de Webs Dinámicas, e que os administradores dos centros poden activar ou desactivar segundo as funcións que desexen utilizar na web do centro.
Na pestana Lista temos as seguintes columnas:
- Activado. É un cadro de marca que nos indica se o módulo está activo ou non e que tamén utilizaremos para activar ou desactivar módulos.
- Nome. Nome de módulo.
- Versión. Versión do módulo, que se divide en versión maior e versión menor separadas por un punto. A versión maior dun módulo sempre debe coincidir coa versión maior do núcleo de Drupal coa que estamos traballando, neste caso a versión 6. A versión menor serve para diferenciar distintas versións dun módulo dentro da mesma versión maior.
- Descripción. Aquí temos dúas partes, primeiro unha descripción da funcionalidade do módulo, e logo a lista de módulos que dependen da funcionalidade deste indicándonos se están ou non activos.
Activación de módulos.
Para activar ou habilitar un ou varios módulos marcaremos o cadro da columna Activado e pincharemos ao final do formulario no botón Gardala Configuración. Se algún dos módulos marcados require de algún outro que non o está, pedirásenos confirmación para activar tamén eses outros. Así non temos que preocuparnos das dependencias, xa o sistema as comproba por nos.
Moitos modulos precisan gardar información na base de datos para o seu funcionamento. Esta información pode consistir simplemente en valores de configuración que definen o seu funcionamento ou tamen en datos introducidos polos usuarios ou recopilados polo propio módulo. Cando se activa un módulo por primeira vez, ou se este foi desinstalado, dentro da web dun centro, creánse as estructuras de datos necesarias para gardar dita información.
Desactivación de módulos.
Para desactivar ou deshabilitar un ou varios módulos desmarcaremos o cadro da columna Activado e pincharemos ao final do formulario no botón Gardala Configuración. Se un módulo é requerido por outro que está activo o cadro de marca aparecerá deshabilitado e non poderemos desmarcalo mentras no desactivemos primeiro os módulos que o están requerindo. Por exemplo, vendo a imaxe anterior das dependencias do módulo Menu, para poder desactivar este módulo deberemos primeiro deshabilitar o módulo Nice menus.
A desactivación dun módulo non provoca a perda da información gardada por ese módulo.
Desinstalación de módulos.
Na lapela Desintalar do formulario de administración do módulos veremos a lista de módulos inactivos que ademáis gardan algún tipo de información na base de datos.
Para desinstalar un módulo, marcaremos o cadro de marcha da columna Desinstalar e pincharemos no botón Desinstalar. Esta acción provoca que se elimine da base de datos toda a información relativa a este módulo, tanto a relativa a súa configuración como aos datos introducidos polos usuarios ou recopilados polo módulo.
Esta desinstalación elimina as estructuras de datos do módulo na base de datos da nosa web (cada centro do proxecto Webs Dinámicas ten a súa propia base de datos), pero non se eliminan os ficheiros do módulo no servidor (os ficheiros de instalación de drupal e dos módulos son compartidos por tódolos centros). Así poderemos activar de novo o módulo desinstalado, momento no que volverá a crear as estructuras de datos precisas para o seu funcionamento.
Módulos máis empregados polos centros do proxecto Webs Dinámicas:
Algúns dos módulos máis empregados polos centros no proxecto Webs Dinmámicas son:
- Image: permite a utilización do tipo de contido Imaxe.
- IMCE e IMCEWysiwygAPI bridge: utilizámolos para subir arquivos á web.
- Collapsiblock: Permite contraer ou expandir os bloques.
- Comment: Permite aos usuarios comentar e debatir o contido publicado.
- Event: Permite crear contidos con data e hora de inicio e fin que quedarán marcados un calendario.
- Notify: permite manter informado ós usuarios das actualizacións da páxina a través do correo electrónico.
- Nice Menús: amosa os menús dun xeito máis dinámico.
- Paging: permite establecer, mediante unha liña de código no corpo dos documentos, saltos de páxina.
- Printer, email and PDF version: permite utilizar a "versión para imprimir", enviar por correo ou gardar como PDF os contidos.
- Scheduler: permite publicar ou despublicar contidos especificando as datas desexadas.
- Site Map: ofrece a posibilidade de ter un mapa do sitio. Moi interesante para ofrecer a sindicación ós contidos da nosa web por categorías.
- SWF Tools: Consunto de módulos que permiten a reproducción de ficheiros multimedia, principalmente vídeo flash e audio MP3.
- Taxonomy Access Control: permite establecer permisos aos diferentes roles sobre as taxonomías creadas.
- Taxonomy Menú: é o responsable de converter taxonomías (categorías) en menús.
- Themekey: Permite o uso de distintas plantillas ou temas Drupal en función da ruta visitada dentro da web do sitio. Especialmente utilizada para os blogs do centro.
- Wysiwyg: incorpora a barra de enriquecemento de texto que aparece cando creamos/editamos determinados campos de contido, por exemplo o Corpo.
- Webform: permite a elaboración de formularios para a recollida dinámica de información.