• No se han encontrado resultados

Ejemplos del uso de Drupal para el desarrollo de aplicaciones Web

N/A
N/A
Protected

Academic year: 2020

Share "Ejemplos del uso de Drupal para el desarrollo de aplicaciones Web"

Copied!
5
0
0

Texto completo

(1)

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

[email protected]

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.

(2)

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.

(3)

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.

(4)

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

(5)

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]

Referencias

Documento similar

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)