Podemos referirnos a Drupal tanto como un sistema de gestión de contenidos (CMS, Content Management System), tanto como un framework de gestión de contenidos (CMF, Content Management Framework).
De la mayoría de CMS’s están tan prefabricados que no dejan demasiado margen de acción a la hora de diseñar nuevas funcionalidades en nuestro sitio web. En cambio, los frameworks proporcionan todas las herramientas necesarias para desarrollar lo sea necesario, pero para ello hay que dominar algún lenguaje de programación y tener una idea muy clara sobre cómo integrarlo todo.
Por tanto, lo que se pretende con Drupal es aportar una herramienta para la creación de sitios web que ofrece lo mejor de los dos sistemas. En este sentido, Drupal contiene muchos módulos desarrollados por terceros que, por un lado permiten estructurar tu sitio de acuerdo a tus necesidades como podrías hacer con cualquier CMS, y que, por otro lado, permiten inferir sobre ellos programáticamente para adecuarlos totalmente a nuestras necesidades.
El principal problema al que se enfrenta un usuario de Drupal, al principio, frente a otros CMS’s, es que tanto el núcleo de Drupal como los módulos de terceros están construidos para trabajar de un modo estándar. Esto implica que cuando se instala Drupal o un nuevo módulo es necesario realizar un esfuerzo previo de aprendizaje sobre cómo utilizar la nueva funcionalidad.
Normalmente una página web está formada por una colección de páginas estáticas con unas funcionalidades determinadas, como por ejemplo un blog, un motor de noticias, etc. Pero el gran secreto de la flexibilidad de Drupal son los nodos. Drupal está diseñado mediante nodos, entendiendo como nodo un conjunto de información relacionada. Cada nodo contiene la misma información básica, de modo que puede ser gestionado tanto por el núcleo de Drupal como por cualquier módulo de terceros.
El siguiente gran componente de Drupal son los comentarios. Estos podrían tratarse como ciudadanos de segunda clase en comparación con los nodos. Su principal característica es que pueden ser habilitados para cualquier tipo de nodo, entradas de blogs, ítems de noticias, o incluso para cualquier tipo de nodo definido por el usuario.
Drupal se ha diseñado desde cero, de modo que los usuarios puedan crear contenidos e incluso administrar el sitio web. Se define quién va a hacer qué en el sitio, mediante los permisos de usuarios y, a partir de ahí, empieza la colaboración. De modo que con Drupal, la colaboración se da desde la base, haciendo que cada tipo de usuario haga sus aportaciones con total libertad, siempre dentro de su ámbito de acción definido.
Otro de los aspectos importantes de Drupal es su diseño en capas, lo que nos lleva al flujo de Drupal.
- Datos. En la base del sistema se encuentra la colección de nodos, el pool de datos (base de datos centralizada). Antes de poder visualizar algo en la página web debe ser introducido como datos.
- Módulos. La siguiente capa, hacia arriba, es donde viven los módulos. Los módulos son plugins funcionales que pueden ser tanto parte del núcleo de Drupal como ítems de terceros desarrollados por la comunidad de Drupal.
- Bloques y Menús. En la siguiente capa encontramos los bloques y los menús. Los bloques proporcionan, a menudo, la salida de un módulo o se pueden crear para mostrar lo que se quiera de manera que luego se puedan colocar en diferentes lugares de la plantilla del tema de nuestro diseño. Los bloques se pueden configurar para mostrar la salida de diversas formas, así como mostrarse sólo en ciertas páginas o sólo para ciertos usuarios. Los menús en Drupal son navegadores que definen el contenido que viene en cada ruta de menú creada. Todas las páginas creadas en Drupal ofrecen los menús como elemento central.
- Permisos de usuario. La siguiente capa es que hace referencia a los permisos. Aquí es donde se configuran las opciones para determinar lo que los diferentes tipos de usuarios pueden ver y hacer. Los permisos se definen para varios roles y, a su vez, los usuarios son asignados a estos roles con el fin de otorgarles los permisos definidos.
- Plantilla. En la capa superior se encuentra el tema o plantilla de la página web. Este se compone principalmente de XHTML y CSS, con algunas variables de PHP entrelazadas, de modo que el contenido generado por Drupal pueda ir en los lugares apropiados. Además, con cada tema se incluye un conjunto de funciones que puedan ser utilizadas para sobrescribir las funciones estándar en los módulos con el fin de proporcionar un control completo sobre cómo los módulos generan su marcado en tiempo de salida. Las plantillas también se pueden asignar sobre la marcha en función de los permisos de usuario.
Este flujo direccional de abajo a arriba controla cómo trabaja Drupal. Adicionalmente, es necesario entender este flujo para conseguir el tipo de control detallado que se desee sobre los detalles de las salidas de los módulos XHTML.
Leave a Reply