Modelo de datos de Drupal 5.7 y Content Construction Kit

Publication Type  Report
Year of Publication  2008
Authors  Ramírez, M.B.
Prepared for  ACME, Inc
Pages  57
Date  06/2008
Institution  ComuniTIC
City  Barcelona
Key Words  drupal; database
Abstract  Estudio del modelo de datos de Drupal a partir de un desarrollo para la versión 5.7 con uso intensivo de Content Construction Kit. El documento incluye diagramas ER inéditos, diccionario de datos y posibles estrategias de migración a nuevas plataformas. Aunque escrito para facilitar la migración de una plataforma Drupal a un CMS propietario, el texto ha sido escrito como una guía de aprendizaje a partir de casos.
Full Text  

Drupal es un CMF (Content Management Framework) explotado en este proyecto en su faceta de RAD (Rapid Application Development).

Drupal y sus módulos garantizan un rendimiento eficaz, ofreciendo un entorno seguro y escalable, como lo constatan importantes desarrollos internacionales en distintas áreas1.

La enorme versatilidad de este Framework de Gestión de Contenidos (CMF) se sustenta sobre dos pilares esenciales: El primero de ellos es que ha sido concebido desde sus más tiernos inicios como una herramienta modular, en la que añadir nuevas funcionalidades puede resultar tan simple como añadir nuevos módulos. El otro motivo consiste en abstraer las unidades básicas de contenido que gestiona en lo que denomina “Nodos”. Los Nodos pueden “instanciarse” en forma de páginas web, eventos de calendario, noticias o cualquier conjunto de datos y metadatos que agrupados entendemos como la información a administrar.

Esta versatilidad es la principal virtud de Drupal y en el contexto de análisis que nos ocupa, también presenta un ligero inconveniente, pues si bien es cierto que el desarrollador puede prestar mayor atención a los requisitos funcionales del cliente, el modelo de datos suele perder su tradicional relevancia y –al menos inicialmente– queda “oculto” tras el sistema. Un posterior estudio de la base de datos en la que reside Drupal, muestra que la generación automática de tablas y atributos que realiza el sistema no es sólo efectiva, sino que se asemeja a la que realizaría un buen analista de bases de datos.

Como hemos dicho, al trabajar sobre Drupal, el desarrollo se eleva a un nivel más cercano al usuario ya que el desarrollador puede implementar nuevas funcionalidades mediante la activación de módulos (existentes o creados para la ocasión), que permiten “prototipar” o adaptar rápidamente la aplicación a necesidades específicas o incluso cambiantes.

Uno de estos módulos, posiblemente el más famoso de ellos, responde a las siglas de “CCK” (Content Construction Kit2) y resulta de suma importancia para este estudio, pues es el encargado de crear las entidades dónde almacenaremos los nuevos tipos de Nodos. Este módulo normaliza las tablas, creando múltiples entidades cuando el atributo puede tomar varios valores o cuando se asignan campos del mismo tipo semántico en distintos nodos (semantic meaning) y unifica los atributos en una sola tabla cuando las propiedades del nodo son únicas.

Conscientes de que toda migración de una aplicación a un nuevo contexto obliga a hacer explícito su modelo de datos, para su comprensión y sobre todo para permitir que la nueva plataforma conserve la información ya almacenada, el siguiente informe:

  1. Detalla el modelo de datos de Drupal 5.7 en el contexto concreto de la aplicación “Coyote Application” de ACME Inc.

  2. Y plantea varias propuestas de migración a Oracle, el gestor de base de datos institucional de ACME Inc.

Cabe comentar que la versión de Drupal empleada hace uso de una base de datos no relacional. Si bien es cierto que MySQL 5 ha incorporado recientemente estas capacidades, Drupal 5.7 no hace uso de ellas.

Así pues, las relaciones entre entidades las establece la lógica de la aplicación y no la base de datos que actúa como mero repositorio, consultado y actualizado en base a los índices y las restricciones en los atributos de las entidades.

Este informe describe de manera general estas relaciones entre tablas, mediante Diagramas Entidad-Relación y presenta los atributos de estas exhibiendo el Diccionario de Datos de Drupal. Dado el propósito de este documento, en todo momento se hace especial hincapié en los datos y estructuras de “Coyote Application” que deben ser trasladados al nuevo sistema.

Para este análisis se han empleado herramientas de ingeniería inversa como DBDesigner (de Fabforce) que facilitan la extracción de relaciones entre índices primarios y foráneos en base a sus nomenclaturas y datos.

Esta primera extracción ha sido profundamente estudiada y contrastada por nuestros expertos y enriquecida con la documentación previamente suministrada por algunos desarrolladores de la comunidad de Drupal.




Sony BGM Myplay: http://myplay.com/
The NewYork Observer: http://www.observer.com/
Flixya Sharing Site: http://www.flixya.com/
Nike Media: http://nikemedia.com
2El artículo de difusión de Robert Duglas en “What is the Content Construction Kit? A View from the Database” permite una primera aproximación a los CCK y su efecto en la base de datos.
Fuente on-line:
http://www.lullabot.com/articles/an_introduction_to_the_content_construction_kit
Exportar  Etiquetado XML BibTex
AdjuntoTamaño
[file] ModeloDatosDrupal57_v012_public_finale.pdf1.88 MB
Línea de investigación: