Sei sulla pagina 1di 5

Ejemplos del uso de Drupal para el desarrollo de aplicaciones Web

Examples of the use of Drupal for the development of web applications


Maikel Manuel Fernández Fernández
Universidad de las Ciencias Informáticas
maikelm@uci.cu

Resumen
Drupal es un sistema gestor de contenidos para la Web, desarrollado en lenguaje PHP. Presenta una arquitectura modular y una
comunidad muy activa, así como un grado de madurez bastante alto. Es un sistema gestor de contenidos que se puede adaptar de
acuerdo a las necesidades y optimizar para solo emplear los recursos que sean necesarios. Un grupo de aspectos como la
usabilidad, seguridad, independencia diseño-contenido y otros son muy bien tratados en este gestor de contenidos. El presente
trabajo hace un análisis de cuatro aplicaciones desarrolladas con Drupal, cada una de ellas con un fin diferente y llega a
conclusiones al respecto.
Palabras clave: Aplicaciones Web, Drupal, Sistemas de gestión de contenidos

Abstract
Drupal is a contents management system for the Web, developed in PHP. It has a modular architecture and a very active
community, as well as a fairly high degree of maturity. It is a contents management system that can be adapted according to the
needs and optimize for single use of resources. A group of issues such as usability, security, independence content-design and
others are very well treated in this contents management. This paper is an analysis of four applications developed with Drupal,
each with a different purpose and reaches conclusions.
Key words: Contents management system, Drupal, Web Applications.

Introducción
Cada día el desarrollo de aplicaciones Web cobra mayor importancia, actualmente este tipo de aplicaciones no se queda solamente
en el ámbito informativo, sino, que se extienden incluso hasta grandes sistemas de gestión. Se pueden poner distintos ejemplos de
aplicaciones Web: una página de noticias, un blog personal, un foro, un chat, un periódico digital, una revista, un sitio de
comercio electrónico, un centro de llamadas, incluso un sistema de gestión empresarial. Cada día el desarrollo y el mantenimiento
de estos sistemas es más importante. Es aquí donde los Sistemas de Administración de Contenidos (CMS) juegan un papel
determinante. Es poco común es estos días ver una aplicación Web que no esté soportada por un CMS.
El mundo de los CMS es además un espacio en el que el software libre ha tenido mucho éxito. Existen muchos administradores de
contenidos en distintos lenguajes y para distintos fines. En este caso se centrará la atención en Drupal.

Este CMS surge como un simple tablón de anuncio, en el 2000, y no es hasta el 2001 en que toma su nombre actual y comienza su
desarrollo [1]. Drupal presenta una estructura modular muy simple que da como resultado un sistema muy independiente en
cuanto a sus funcionalidades. Presenta un amplio conjunto de APIS para la extensión de los módulos y para el desarrollo de sus
plantillas. Se puede emplear con base de datos MySQL o PostgreSQL. Es muy flexible lo que permite su extensión desde la
propia administración y da la posibilidad de adaptarlo casi a cualquier tipo de proyecto. Está desarrollado en lenguaje PHP y los
módulos se desarrollan en este lenguaje, aunque presentan su propio lenguaje para el manejo de su interfaz. Actualmente cuenta
con más de 3000 módulos en su sitio oficial [2] y traducciones para más de 20 idiomas [3]. También seleccionado como el mejor
CMS del 2007 [4].

Todas estas bondades y otras no mencionadas hacen que sea muy óptimo el desarrollo de una aplicación Web basada en este
CMS. Esto contribuye a minimizar el tiempo de desarrollo y garantizar cuestiones como la usabilidad y la seguridad, ya tratadas
en el propio CMS. Actualmente existen numerosos sistemas Web en Internet que emplean Drupal para el manejo de contenidos.
Países como España, México y Perú en el mundo de habla hispana son abanderados en este aspecto.

Cuba tiene el potencial no solo para desarrollar Web basadas en Drupal, sino para convertirse en desarrolladores del propio
sistema. Actualmente ya se encuentra en versión estable el Drupal 6.0 y basado en esté ha aparecido el “Carbon” primera versión
comercial de Drupal [5]. De aquí la necesidad de fortalecer el conocimiento que permita la independencia de entes externos.

En el desarrollo de este trabajo se presentan cuatro aplicaciones desarrolladas con Drupal, cada una de ellas con fines diferentes.
Se explican las principales características de estas y los elementos mas significativos del CMS empleados para lograr el resultado
final. Estas aplicaciones han sido desarrolladas en el grupo de portales, facultad 10, Universidad de ciencias informáticas.

El propósito del trabajo va encaminado a mostrar, basado en resultados tangibles las posibilidades y las ventajas que se pueden
obtener con el empleo de un sistema de gestión de contenidos, en este caso particular Drupal. Además significar las múltiples
áreas donde se puede incidir con este tipo de aplicaciones.

Desarrollo
Caso 1, portal “José Martí”
El primer caso de estudio que se presenta es el portal “José Martí” actualmente disponible en http://www.josemarti.cu/. Este es el
sitio más completo de la vida y obra de José Martí. Hoy (01/Abril/2008) cuenta con más de 3700 contenidos en su base de datos
(MySQL). Su diseño es simple, una estructura de tres columnas y menús laterales. Es un sitio meramente informativo, pero con
mucha diversidad en información.

En el sitio se cuenta con 12 tipos de contenidos (noticia, página, investigación, artículo, publicación, institución, personalidad,
convocatoria, enlace, dossier, efemérides y obra), cada uno de estos contenidos con meta datos diferentes. Algunos de ellos
relacionados como es el caso de artículo-publicación. Todos estos contenidos en su mayoría tienen la posibilidad de ser asignados
a una categoría, para una mejor organización de la información. La creación de cada tipo de contenido con sus meta datos y la
validación de estos, así como los procesos básicos de creación, edición y eliminación de contenidos fueron procesos hechos con el
propio CMS, en este caso empleando el módulo CCK [5], sin la necesidad de implementar todo el negocio que esto trae consigo y
garantizando de esta forma que todo esté estandarizado con la forma de trabajo del CMS y que el modelo de datos del mismo
mantenga la normalización y relaciones que lo conforman.

Otra de las cosas más importantes del CMS empleadas fueron las vistas, las cuales se obtienen a partir del uso del módulo VIEW
[6]. Estas vistas realizan el proceso de consultas a la base de datos de los contenidos, mostrando al usuario un resultado. El
módulo permite paginar los resultados y mostrar los datos que se deseen y en diferentes formatos. Es una forma muy ágil de
obtener lo que se desea, con un código limpio e independiente del diseño, además de minimizar el esfuerzo de desarrollo.

Estos son los dos aspectos más significativos del empleo de Drupal en este portal. No se mencionan ni se tratan otros puntos como
la gestión de contenidos, de categorías, menús y bloques de contenido por ser estos, aspectos generales de cualquier CMS. En este
primer caso de estudio se ha visto el uso de los módulos CCK y VIEW y las ventajas que esto trae.

Caso 2, sitio de la convención Informática 2009


Como segundo ejemplo de desarrollo con el CMS Drupal, se presenta el sitio de la XIII convención y feria internacional
INFORMATICA 2009 (http://www.informaticahabana.com/). Este es un sitio que a pesar de ser también informativo. Presenta
una mayor interacción con el usuario, existe la posibilidad de envío de trabajos, los cuales siguen un flujo para su aprobación y
publicación, los bloques son todos de una apariencia visual diferente, la plantilla tiene una personalización muy distinta a las
clásicas, es un sitio en dos idiomas, se han creado nuevas regiones donde se colocan bloques de contenidos, existe intercambio de
información con otros sitios. Estos son algunos aspectos que meritan un trabajo más profundo con el CMS, más allá de una simple
personalización.

En este caso también se utilizan los módulos CCK y VIEW, que ya se vieron en el Caso 1. Estos módulos no vienen en la
instalación inicial de Drupal, pero son muy usados, así que conviene insertarlos desde un inicio en las aplicaciones. Otros módulos
que se usan en este sitio son el FILEFIELD [7], empleado para subir los ficheros adjuntos de los trabajos. Este permite subir al
servidor un fichero adjunto, que da la posibilidad de filtrarlo por extensión, de modo que no se pueda subir un fichero con una
extensión no autorizada. Estos trabajos se publican en su evento correspondiente cuando son aceptados, por tanto debe existir una
persona que los revise y los acepte, para que luego sean publicados por el administrador. Todos estos pasos y la implementación
del flujo de trabajo de cada contenido fueron resueltos con el propio CMS, incorporándole el módulo WORKFLOW [8].
Otro aspecto de este sitio donde se ve las posibilidades del CMS es en su personalización. En este caso cada bloque tiene un estilo
diferente, los vínculos primarios también presentan estilos diferentes y muchos contenidos también presentan diferencias en
cuanto a su diseño gráfico. Pese a esto el sitio es completamente editable desde la interfaz administrativa del CMS, sin necesidad
de tocar su diseño gráfico. También encontramos bloques de contenidos en regiones que no son los laterales, cada una de ellas con
un estilo diferente. Esto se realizó con el empleo del fichero template.tpl.php dentro de la plantilla del sitio, permitiendo definir
regiones nuevas con el nombre que se desee y luego ubicar contenidos en estas.

El otro punto importante es el idioma. El sitio se presenta en idioma inglés y en idioma español, todo el proceso de crear las
traducciones, no solo de los contenidos, sino de los bloques y los menús logrado con el uso del módulo
INTERNATIONALIZATION [9].

Este es un sitio más complejo que el anterior, y que incorporan nuevos módulos para lograr funcionalidades deseadas,
minimizando el trabajo de los desarrolladores. Además se ve un mejor trabajo de diseño, demostrando que gracias a la flexibilidad
del CMS se puede lograr la independencia diseño-contenido a pesar de la complejidad que pueda o no tener el primero.

Caso 3, versión digital de la revista “Patria Grande”


La revista Patria Grande es una revista con una periodicidad trimestral y que en cada edición agrupa un conjunto de artículos. En
este proyecto no se hace uso de módulos o funcionalidades diferentes a las tratadas en los casos anteriores, simplemente se tomó
como caso de estudio para demostrar la factibilidad de usar Drupal con diferentes fines, en los casos anteriores se mostraban sitios
informativos, y en este una publicación digital, que presenta sus características propias, pero que se puede adaptar según las
necesidades específicas.

En el sitio de la revista (aún por publicar), actualmente hay 17 números, cada uno con aproximadamente 18-20 artículos. La
aplicación da la posibilidad de crear y agrupar estos artículos por ediciones de la revista, además de implementar el flujo de
trabajo de los mismos. Todo se realizó con los módulos antes mencionados incorporados al CMS, y que normalmente no los trae
en su instalación básica. En ese momento no se emplearon módulos como el E-JOURNAL [10], hecho para este fin, por estar en
versiones beta, pero que actualmente se pueden utilizar.

Caso 4, evento virtual informática 2007


El evento virtual de informática 2007 (http://www.informaticahabana.com/evento_virtual) es el último caso de estudio de este
trabajo. Este ejemplo lo podemos tomar como una aplicación Web para el trabajo de una comunidad, pues el objetivo que
perseguía era propiciar el intercambio vía Web de los temas y trabajos presentes en la convención.

Este sitio incorporaba foro de discusión y Chat, además que mostraba los distintos salones de eventos y los trabajos por salones,
los foros estaban orientados hacia cada trabajo, incluía moderación de las opiniones y además gestionaba las relatorías de la
convención por eventos y secciones de trabajo. Se realizaba un trabajo fuerte con los roles de usuario (administradores, usuarios
autenticados, moderadores, expositores, relatores). Para esto mencionar el uso de los módulos de la familia ORGANICGROUP
[11], que permiten un control basado en roles y acciones sobre los distintos contenidos, garantizando la seguridad del sistema y el
funcionamiento correcto.

Estos cuatro casos presentan aplicaciones de distintas índoles las cuales fueron desarrolladas con un mismo producto, adaptando
este a las situaciones existentes. Drupal es un sistema muy amplio, en este trabajo solamente se mencionan unos pocos módulos y
algunos trabajos específicos, que no ilustran de forma total todas las posibilidades, pero que dan una idea de las mismas.

Conclusiones
Se ha tratado en este trabajo de ilustrar las posibilidades de DRUPAL como plataforma para desarrollar aplicaciones Web.
Mostrando cuatro aplicaciones con objetivos diferentes, pero desarrolladas en la misma plataforma. Existen muchísimos sistemas
de administración de contenido para la Web, muchos y muy buenos con lenguaje php, sin embargo se escoge Drupal y la principal
razón está en su gran cantidad de módulos desarrollados y en la capacidad de extensión y personalización. Cabe señalar que los
cuatro ejemplos tratados son resultados tangibles, que incluso en estos momentos están disponibles para su consulta.

Referencias Bibliográficas
1- http://drupal.org/node/769 [En línea] [Citado: 10 de marzo de 2008]
2- http://drupal.org/project/Modules [En línea] [Citado: 8 de marzo de 2008]
3- http://drupal.org/project/Translations [En línea] [Citado: 8 de marzo de 2008]
4- http://www.packtpub.com/award [En línea] [Citado: 20 de marzo de 2008]
5- http://drupal.org/project/cck [En línea] [Citado: 20 de marzo de 2008]
6- http://drupal.org/project/views [En línea] [Citado: 24 de marzo de 2008]
7- http://drupal.org/project/filefield [En línea] [Citado: 24 de marzo de 2008]
8- http://drupal.org/project/workflow [En línea] [Citado: 24 de marzo de 2008]
9- http://drupal.org/project/i18n [En línea] [Citado: 24 de marzo de 2008]
10- http://drupal.org/project/ejournal [En línea] [Citado: 24 de marzo de 2008]
11- http://drupal.org/project/Modules/category/90 [En línea] [Citado: 24 de marzo de 2008]

Potrebbero piacerti anche