Como montar una web con Drupal. El caso inLab

Como montar una web con Drupal. El caso inLab

Drupal es uno de los gestores de contenido para web más potentes que podemos encontrar, debido a su gran cantidad de módulos. Este artículo es una guía para los recién llegados a Drupal, usando como ejemplo práctico el nuevo sitio web de inLab.

Cuando nos enfrentamos a crear un sitio web desde cero, un punto muy importante es decidir cuál de los gestores de contenido existentes podemos utilizar. Para el tipo de sitio web que queríamos, que no solo quiere ser un escaparate, sino también una herramienta de comunicación interna, nos hemos inclinado por Drupal debido a su flexibilidad. Tanta flexibilitat porta associada una corba d’aprenentatge, que es pot fer bastant més suau si d’entrada tenim clars certs conceptes d’aquest gestor de continguts.

Conceptos básicos de Drupal

Nodos y tipos de contenido

En Drupal, los nodos son los contenidos propiamente dichos. Un cert node pot ser d’un cert tipus de contingut. Por ejemplo, este artículo es del tipo de contenido Artículo (hasta aquí nada sorprendente). Otros tipos de contenido que Drupal ya incluye por defecto son las páginas simples (que básicamente son texto HTML). Si queremos algún otro tipo de contenido, podemos crear nuevos. Por ejemplo, en este sitio web hemos creado el tipo «Proyecto», que nos ha servido para crear todas las fichas de los proyectos. Haciendo un símil con una base de datos relacional, los tipos de contenido de Drupal serían las tablas y los nodos, los registros concretos.

Vistas

Las vistas son uno de los elementos más potentes de Drupal y nos permiten hacer consultas a nuestros contenidos y presentarlos de diversas formas. Podemos tomar solo ciertos campos de nuestros contenidos, agrupar, ordenar y filtrar. Las vistas nos permiten desde hacer una lista de proyectos sobre un tema específico hasta una lista de los artículos escritos por una persona.

Taxonomías

Las taxonomías permiten organizar nuestro contenido. En el caso del sitio web de inLab, tanto las tecnologías como las áreas de expertise son taxonomías. Si etiquetamos cualquier contenido, ya sea un artículo o un proyecto con un término dentro de una taxonomía, podemos después fácilmente relacionarlo con contenidos similares. Por ejemplo, si vamos al proyecto de la ampliación del Racó, veremos que a la derecha aparecen otros proyectos relacionados con entornos colaborativos que se han hecho en inLab. Esto lo hemos podido hacer gracias a que todos están etiquetados como «Entorno colaborativo». Una vista con la consulta de los contenidos con la misma clasificación que el nodo que estamos mirando en forma de bloque hace el resto.

Temas

Son los aspectos visuales que puede tener Drupal a la hora de presentar la información. Un tema tiene «huecos» donde luego irán los contenidos. Por ejemplo, una columna a la derecha, una a la izquierda, una cabeza, un pie y un área central. Lógicamente, un tema también incorpora un CSS que podemos modificar para adaptarlo a nuestras necesidades. Y si por CSS no podemos alcanzar el grado de personalización que necesitamos, siempre podemos tocar las plantillas PHP que trae el tema para ajustarlas a nuestras necesidades.

Bloques

Son fragmentos de página. Un bloque puede ir a diferentes «huecos» que tenga nuestro tema. Por ejemplo, podemos tener un bloque con una vista con contenido relacionado que vaya a una columna a la derecha y uno con el menú que vaya a la parte de la cabecera.

Módulos

Dentro de nuestro sitio web hemos tenido que instalar varios módulos para ampliar las funcionalidades básicas del paquete. Esta es una lista de los más importantes y que nos permiten hacer.

Views

El módulo que permite vistas curiosamente no forma parte del núcleo de Drupal, sino que debe instalarse aparte. Ya hemos hablado de lo que permite: mostrar los contenidos introducidos de la forma que más nos convenga.

Entity Reference

Si queremos que un campo de un contenido sea una relación con otro campo, necesitaremos este módulo. Con esto podemos hacer, por ejemplo, una relación entre un proyecto y un equipo de personas que ha llevado este proyecto. De hecho, nos permitirá hacer cualquier tipo de relación entre contenidos que vaya más allá de una clasificación dentro de una taxonomía.

Date

Otra cosa curiosa de Drupal: dentro de los tipos básicos con los que permite trabajar no hay tipo fecha. Si queremos crear contenidos con fechas o crear calendarios, necesitaremos instalar este módulo antes.

Slideshow

Este módulo nos permite presentar conjuntos de fotos de forma que vayan pasando, tal como mostramos en la portada. Lo que sería un campo multivaluado de tipo imagen, que por defecto se mostraría una detrás de otra, se puede mostrar de forma mucho más dinámica utilizando este módulo y sin tener que programar nada.

Módulos de internacionalización

Drupal tiene soporte en el núcleo para múltiples idiomas, pero son necesarios varios módulos para tener todo el soporte que necesitamos para hacer un sitio web multilingüe. Por ejemplo, los contenidos se pueden marcar como traducibles pero… ¿y los textos de las vistas? ¿Y las etiquetas? Todas estas cuestiones están tratadas en este tutorial sobre internacionalización en Drupal 7

Conclusiones

Drupal nos permite crear nuestro sitio web corporativo de una forma relativamente simple, sin tener que tocar código y haciendo que sea fácilmente modificable. Cualquier gestor de contenidos web tiene asociada una curva de aprendizaje y este no es una excepción. Una vez superada, nos ha permitido hacer todo lo que necesitábamos y, por lo tanto, consideramos que ha sido una buena elección.