57
Modelo de datos de Drupal 5.7 y Content Construction Kit Autor: Marc Bria Ramírez [email protected] Fecha: 15 Junio 2008 Revisión: 1.2 Licencia: CC-by-nc-sa

Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Embed Size (px)

DESCRIPTION

Modelo de datos de Drupal 5.7 y Content Construction Kit Autora Marc Bria Ramírez Subido sin animo de lucro

Citation preview

Page 1: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos de Drupal 57

y Content Construction Kit

Autor Marc Bria Ramiacuterez

marcbriauabcat

Fecha 15 Junio 2008

Revisioacuten 12

Licencia CC-by-nc-sa

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 2

Iacutendice de contenido

Introduccioacuten3

Modelo de Datos de Drupal5

Diagrama EntidadshyRelacioacuten7

Las tablas de Nodos7

Las tablas de Vocabulario13

Las tablas de Usuario y permisos16

Otras tablas de intereacutes19

Diccionario de Datos22

Estrategias de migracioacuten54

Migracioacuten ldquodirectardquo y post procesado en Oracle54

Scripts ldquoal usordquo55

Moacutedulos de Drupal (Views + CSV export)55

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 3

Prefacio

El siguiente texto es una revisioacuten de un documento previo escrito a peticioacuten de la empresa

ldquoACME Incrdquo para facilitar la migracioacuten de un desarrollo Drupal la plataforma NETOracle de la

corporacioacuten

Como el suspicaz lector sospecharaacute mantenemos confidencialidad sobre la identidad y datos de

dicha empresa pero se ofrece a la comunidad el estudio al considerar que el anaacutelisis realizado

puede ser de ayuda en

1 Futuras migraciones En aquellos casos en los que se topen con un equipo de IT miope

(incapaz de apreciar la belleza de el mencionado CMS) asustadizo (por el hecho de

trabajar con desarrollos libres) perezoso (al no querer aprender nada nuevo)

perjuicioso (convencidos de que los desarrollos libres carecen de calidad son

inseguros) yo riacutegido (al ser incapaces de emplear desarrollos maacutes allaacute de lo

dictaminado por la coorporacioacuten)

2 Comprensioacuten de la herramienta En aquellos casos en los que sea necesario formar a

nuevos desarrolladores o se busque ahondar en la manera en que la herramienta trata sus

datos

Como reza su tiacutetulo este documento versa sobre Drupal 57 por lo que la validez de lo descrito

estaacute sujeta a futuros cambios

Este texto se ha escrito bajo una licencia Creative Commons 25 en la que se obliga al

Reconocimiento de la obra no se permite su uso Comercial y admite obras derivadas siempre y

cuando se compartan bajo la misma licencia

Asiacute mismo agradeceriacuteamos que informen al autor si emplean o mejoran esta obra

Esperamos disfruten con estas liacuteneas tanto como hemos disfrutado nosotros al escribirlas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 4

Introduccioacuten

Drupal es un CMF (Content Management Framework) explotado en este proyecto en su faceta de

RAD (Rapid Application Development)

Drupal y sus moacutedulos garantizan un rendimiento eficaz ofreciendo un entorno seguro y

escalable como lo constatan importantes desarrollos internacionales en distintas aacutereas1

La enorme versatilidad de este Framework de Gestioacuten de Contenidos (CMF) se sustenta sobre

dos pilares esenciales El primero de ellos es que ha sido concebido desde sus maacutes tiernos inicios

como una herramienta modular en la que antildeadir nuevas funcionalidades puede resultar tan

simple como antildeadir nuevos moacutedulos El otro motivo consiste en abstraer las unidades baacutesicas de

contenido que gestiona en lo que denomina ldquoNodosrdquo Los Nodos pueden ldquoinstanciarserdquo en forma

de paacuteginas web eventos de calendario noticias o cualquier conjunto de datos y metadatos que

agrupados entendemos como la informacioacuten a administrar

Esta versatilidad es la principal virtud de Drupal y en el contexto de anaacutelisis que nos ocupa

tambieacuten presenta un ligero inconveniente pues si bien es cierto que el desarrollador puede

prestar mayor atencioacuten a los requisitos funcionales del cliente el modelo de datos suele perder su

tradicional relevancia y ndashal menos inicialmentendash queda ldquoocultordquo tras el sistema Un posterior

estudio de la base de datos en la que reside Drupal muestra que la generacioacuten automaacutetica de

tablas y atributos que realiza el sistema no es soacutelo efectiva sino que se asemeja a la que

realizariacutea un buen analista de bases de datos

Como hemos dicho al trabajar sobre Drupal el desarrollo se eleva a un nivel maacutes cercano al

usuario ya que el desarrollador puede implementar nuevas funcionalidades mediante la activacioacuten

de moacutedulos (existentes o creados para la ocasioacuten) que permiten ldquoprototiparrdquo o adaptar

raacutepidamente la aplicacioacuten a necesidades especiacuteficas o incluso cambiantes

1 Warner Bros Site httpwwwwarnerbrosrecordscom

FedEx News httpnewsvanfedexcom

Sony BGM Myplay httpmyplaycom

The NewYork Observer httpwwwobservercom

MTV UK httpwwwmtvcouk

Flixya Sharing Site httpwwwflixyacom

Universal Music httpwwwuniversalmusiccom

Moto GP httpwwwmotogpcom

Nike Media httpnikemediacom

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 5

Uno de estos moacutedulos posiblemente el maacutes famoso de ellos responde a las siglas de ldquoCCKrdquo

(Content Construction Kit2) y resulta de suma importancia para este estudio pues es el encargado

de crear las entidades doacutende almacenaremos los nuevos tipos de Nodos Este moacutedulo normaliza

las tablas creando muacuteltiples entidades cuando el atributo puede tomar varios valores o cuando se

asignan campos del mismo tipo semaacutentico en distintos nodos (semantic meaning) y unifica los

atributos en una sola tabla cuando las propiedades del nodo son uacutenicas

Conscientes de que toda migracioacuten de una aplicacioacuten a un nuevo contexto obliga a hacer expliacutecito

su modelo de datos para su comprensioacuten y sobre todo para permitir que la nueva plataforma

conserve la informacioacuten ya almacenada el siguiente informe

1 Detalla el modelo de datos de Drupal 57 en el contexto concreto de la aplicacioacuten ldquoCoyote

Applicationrdquo de ACME Inc

2 Y plantea varias propuestas de migracioacuten a Oracle el gestor de base de datos institucional

de ACME Inc

Cabe comentar que la versioacuten 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 57 no

hace uso de ellas

Asiacute pues las relaciones entre entidades las establece la loacutegica de la aplicacioacuten y no la base

de datos que actuacutea como mero repositorio consultado y actualizado en base a los iacutendices y las

restricciones en los atributos de las entidades

Este informe describe de manera general estas relaciones entre tablas mediante Diagramas

Entidad-Relacioacuten y presenta los atributos de estas exhibiendo el Diccionario de Datos de

Drupal Dado el propoacutesito de este documento en todo momento se hace especial hincapieacute en los

datos y estructuras de ldquoCoyote Applicationrdquo que deben ser trasladados al nuevo sistema

Para este anaacutelisis se han empleado herramientas de ingenieriacutea inversa como DBDesigner (de

Fabforce) que facilitan la extraccioacuten de relaciones entre iacutendices primarios y foraacuteneos en base a

sus nomenclaturas y datos

Esta primera extraccioacuten ha sido profundamente estudiada y contrastada por nuestros expertos y

enriquecida con la documentacioacuten previamente suministrada por algunos desarrolladores de la

comunidad de Drupal

2 El artiacuteculo de difusioacuten de Robert Duglas en ldquoWhat is the Content Construction Kit A View from the Databaserdquo permite una primera aproximacioacuten a los CCK y su efecto en la base de datos Fuente on-line httpwwwlullabotcomarticlesan_introduction_to_the_content_construction_kit

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 6

Modelo de Datos de Drupal

Ryan Constantine desarrollador y consultor de Drupal realizoacute en el 2007 un estudio similar al que

se plantea en este documento ofreciendo el siguiente diagrama entidad-relacioacuten para la versioacuten

57 del aplicativo3

Fig 1 Diagrama ER de Drupal 57 por Rayan ConstantineFuente original httpdrupalorgfilesissuesDrupal5RC1_Database_0png

Rayan acompantildeaba este diagrama con la siguiente leyenda

Gris Tablas sin relaciones

Puacuterpura Tablas con archivos de instalacioacuten independientes que no enlazan con la tabla NODE

Azul ciacutean Tablas relacionadas con la gestioacuten de teacuterminos

Rosa claroPuacuterpura Tablas para la gestioacuten de vocabularios

Rosa brillante Tablas para la gestioacuten de filtros

Azul Tablas para el control de permisos

Marroacuten claro Tablas con archivos de instalacioacuten independientes que no enlazan con al tabla NODE

Verde Tablas del nuacutecleo que originan claves primarias (autoincrementadas en esta tabla y usadas

como claves foraacuteneas en otras)

Amarillo Tablas del nuacutecleo que usan claves foraacuteneas como sus claves primarias

3 Discusioacuten de Rayan Constantine con la comunidad Drupal httpdrupalorgnode79874

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 7

La agrupacioacuten de Rayan4 desvela los cinco grupos de tablas sobre las trabaja Drupal que ofrecen

una buena primera aproximacioacuten al modelo

Nodos Que mantienen datos sobre el contenido a gestionar

Vocabularios Que permite asociar taxonomiacuteas a los contenidos (nodos)

Usuarios y permisos Con datos sobre los usuarios del sistema sus roles y sus permisos

Cache Para agilizar la creacioacuten de contenidos dinaacutemicos mediante su reutilizacioacuten

Otros Con datos de distinta iacutendole sobre y para el correcto funcionamiento del sistema

Para mayor claridad en las siguientes paacuteginas analizamos cada uno de estos bloques por

separado

4 Hasta la versioacuten 6 han surgido varios esfuerzos por mantener documentado el modelo de datos de Drupal como por ejemplohttpcvsdrupalorgviewvcpydrupalcontributionsdocsdeveloperdatabase httpwebdevgeekscomschemaspytablesnodehtml httpdrupalorgnode22754 Pero histoacutericamente han resultado un fracaso porque Drupal para no depender de ninguacuten gestor en concreto abstrae la base de datos y el modelo se debiacutea mantener de forma independienteA partir de Drupal 6 se incluye la funcioacuten ldquohook_schemardquo (y el moacutedulo schema) obligando a los programadores del nuacutecleo y de los moacutedulos de terceros a definir y describir sus tablas con el mismo rigor con el que deben describir sus APIs Este cambio garantiza un futuro prometedor con un modelo de datos completamente documentado y siempre actualizado

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 8

Diagrama EntidadshyRelacioacuten

En este apartado se expone del diagrama ER de la aplicacioacuten de manera fraccionada para ofrecer

asiacute una visioacuten didaacutectica y detallada La primera seccioacuten describe la tabla Nodo y sus relaciones

para continuar con el grupo de tablas de Vocabularios seguir con la gestioacuten de Usuarios y concluir

con Otras tablas que consideramos meritorias de mencioacuten Se obvia intencionadamente el grupo

de tablas de Cache dado el nulo intereacutes hacia estas en un proceso de migracioacuten

Las tablas de Nodos

Tal y como hemos comentado en la introduccioacuten Drupal se podriacutea describir como un ldquoGestor de

Nodosrdquo Asiacute pues la tabla ldquonoderdquo es de vital importancia para este CMF ya que contiene la

informacioacuten baacutesica y comuacuten a todo contenido siendo el origen y destino de la mayoriacutea de

operaciones que el CMF realiza

Fig 2 La entidad [node]

Como vemos en este primer diagrama nodos contienen un identificador uacutenico (nid) y un

identificador de versioacuten (vid) que constituyen la clave primaria de la tabla Esta tabla soacutelo

almacena la versioacuten vigente del nodo mientras que vid (en aquellos casos en los que el nodo

requiere de gestioacuten de versiones) nos permitiraacute acceder al histoacuterico de revisiones (node_revisions)

y a los atributos especiacuteficos (content_xx) del nodo

Describiremos ambas relaciones en puntos posteriores para centrarnos ahora en los atributos de

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 9

esta entidad que contiene datos y metadatos sobre el trato que hay que dar a un nodo siendo

Tiacutetulo El tiacutetulo que deseamos para el nodo Pe ldquoBienvenidos a esta paacutegina webrdquo

Status El estado en el que se encuentra un nodo Pe ldquo1rdquo equivale a publicado

Created La fecha de creacioacuten en formato ldquotimestamprdquo Pe ldquo1185656627rdquo

Changed Fecha de modificacioacuten en formato ldquotimestamprdquo Pe ldquo1188946434rdquo

Comment Nuacutemero de comentarios Pe ldquo3rdquo

Promote Si debe ser ldquodestacado en portadardquo (frontpage) Pe ldquo1rdquo indica promocionado

Moderate Si debe ser moderado antes de publicarse Pe ldquo0rdquo equivale a no moderado

Sticky Si debe destacarse en los listados Pe ldquo1rdquo muestra el nodo con mayor relevancia

La documentacioacuten oficial de Drupal ofrece un incompleto pero didaacutectico diagrama geneacuterico

doacutende observamos las principales relaciones entre la entidad nodo y las tablas vinculadas

Fig 3 Las principales relaciones de la entidad [node]Fuente Documentacioacuten oficial de Drupal

En el diagrama podemos observar relaciones 1n entre ldquonoderdquo y ldquonode_revisionsrdquo o ldquonoderdquo y

ldquocommentsrdquo La primera relacioacuten permite (como hemos comentado) almacenar las distintas

revisiones de un nodo mientras que en el segundo caso se define un viacutenculo de ldquouno-a-

muchosrdquo entre los nodos y los comentarios que sobre ese nodo se realicen

El resto de relaciones son 11 y ofrecen informacioacuten estadiacutestica (contador de visitas estadiacutesticas

sobre los comentarios) o de control de acceso (node_access)

Para completar este diagrama debemos volver a la tabla ldquonoderdquo doacutende podemos ver que los

atributos ldquouidrdquo y ldquotyperdquo son claves foraacuteneas (FK) que mantienen en el primer caso una relacioacuten

1n entre los usuarios y los nodos creados (uid) y nos permiten conocer al autor del nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 10

El atributo ldquotyperdquo por otro lado establece otra relacioacuten 1n entre la entidad ldquonode_typerdquo y ldquonoderdquo

(type) siendo ldquonode_typerdquo la encargada de ampliar el elemento nodo con nuevos atributos

compartidos entre todos los nodos del mismo tipo

Fig 4 La entidad [node_type] y su relacioacuten con [node]

Como vemos en esta seccioacuten ampliada del diagrama la tabla ldquonode_typerdquo define una clave

primaria en ldquotyperdquo y contiene informacioacuten adicional del nodo que nos permite conocer ldquosi el nodo

ha sido creado por alguacuten moacutedulordquo (module) ldquosi el nodo debe incorporar un tiacutetulo yo un cuerpo de

textordquo (has_title y has_body respectivamente) ldquosi el nodo ha sido creado a medida mediante

CCKrdquo (custom) una breve descripcioacuten para uso administrativo (description) un texto de ayuda que

se mostraraacute al usuario para que se asegure de si ese es el tipo de contenido que desea crear etc

(ver Diccionario de Datos para detalles)

La combinacioacuten de estas dos entidades nos permite gestionar elementos de contenido simple

pero los datos que esta unidad abstracta de contenido seria capaz de contener se limita a un tiacutetulo

y un cuerpo de texto

Aunque eficaz para mantener nodos como las ldquopaacuteginas webrdquo (page) ldquonoticias o blogsrdquo (story) o

otras sencillas unidades de contenido resulta claramente insuficiente si el nodo exige estructurar

maacutes informacioacuten que la mencionada

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 11

Tal y como hemos comentado en la introduccioacuten el moacutedulo CCK (Content Construction Kit) nos

permite ampliar los campos asociados a un nodo y genera las tablas necesarias para mantener

nuevos datos

Veamos entonces los efectos que produce en la base de datos de Drupal el crear mediante CCK

un nuevo nodo (o ldquotipo de contenidordquo) como podriacutea ser el nodo ldquoactuacioacutenrdquo (propio de ldquoCoyote

Applicationrdquo)

Fig 5 La entidad [content_type_actuacion] y su relacioacuten con [node]

Como vemos CCK genera una nueva entidad (content_type_actuacion) para contener aquellos

atributos especiacuteficos del nuevo nodo definiendo desde la tabla ldquonoderdquo una relacioacuten 1n que

mantiene el modelo de base de datos normalizado

Para el caso de Coyote Application ldquocontent_type_actuacionrdquo incluye todos los atributos que se

muestran en el formulario de entrada de actuacioacuten como de seleccioacuten simple a excepcioacuten por

supuesto del tiacutetulo y el cuerpo de texto que se almacenan en ldquonode_revisionsrdquo

El resto de atributos para garantizar que los datos se conservan segmentados y que la base de

datos mantiene su normalizacioacuten se almacenan en tablas externas que llevan por nombre

ldquocontent_field_xxrdquo (doacutende ldquoxxrdquo coincide con el nombre del campo creado) y que definen una

relacioacuten 1n con ldquocontent_type_actuacionrdquo

La excepcioacuten a esta regla la encontramos en el atributo ldquofield_actuacion_accion_social_e_nidrdquo

que establece una relacioacuten ya no entre el nodo y uno de sus valores sino entre dos nodos

conservando en los nodos ldquoactuacioacutenrdquo el ldquonidrdquo del nodo ldquoaccioacuten socialrdquo con el que se relaciona

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 2: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 2

Iacutendice de contenido

Introduccioacuten3

Modelo de Datos de Drupal5

Diagrama EntidadshyRelacioacuten7

Las tablas de Nodos7

Las tablas de Vocabulario13

Las tablas de Usuario y permisos16

Otras tablas de intereacutes19

Diccionario de Datos22

Estrategias de migracioacuten54

Migracioacuten ldquodirectardquo y post procesado en Oracle54

Scripts ldquoal usordquo55

Moacutedulos de Drupal (Views + CSV export)55

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 3

Prefacio

El siguiente texto es una revisioacuten de un documento previo escrito a peticioacuten de la empresa

ldquoACME Incrdquo para facilitar la migracioacuten de un desarrollo Drupal la plataforma NETOracle de la

corporacioacuten

Como el suspicaz lector sospecharaacute mantenemos confidencialidad sobre la identidad y datos de

dicha empresa pero se ofrece a la comunidad el estudio al considerar que el anaacutelisis realizado

puede ser de ayuda en

1 Futuras migraciones En aquellos casos en los que se topen con un equipo de IT miope

(incapaz de apreciar la belleza de el mencionado CMS) asustadizo (por el hecho de

trabajar con desarrollos libres) perezoso (al no querer aprender nada nuevo)

perjuicioso (convencidos de que los desarrollos libres carecen de calidad son

inseguros) yo riacutegido (al ser incapaces de emplear desarrollos maacutes allaacute de lo

dictaminado por la coorporacioacuten)

2 Comprensioacuten de la herramienta En aquellos casos en los que sea necesario formar a

nuevos desarrolladores o se busque ahondar en la manera en que la herramienta trata sus

datos

Como reza su tiacutetulo este documento versa sobre Drupal 57 por lo que la validez de lo descrito

estaacute sujeta a futuros cambios

Este texto se ha escrito bajo una licencia Creative Commons 25 en la que se obliga al

Reconocimiento de la obra no se permite su uso Comercial y admite obras derivadas siempre y

cuando se compartan bajo la misma licencia

Asiacute mismo agradeceriacuteamos que informen al autor si emplean o mejoran esta obra

Esperamos disfruten con estas liacuteneas tanto como hemos disfrutado nosotros al escribirlas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 4

Introduccioacuten

Drupal es un CMF (Content Management Framework) explotado en este proyecto en su faceta de

RAD (Rapid Application Development)

Drupal y sus moacutedulos garantizan un rendimiento eficaz ofreciendo un entorno seguro y

escalable como lo constatan importantes desarrollos internacionales en distintas aacutereas1

La enorme versatilidad de este Framework de Gestioacuten de Contenidos (CMF) se sustenta sobre

dos pilares esenciales El primero de ellos es que ha sido concebido desde sus maacutes tiernos inicios

como una herramienta modular en la que antildeadir nuevas funcionalidades puede resultar tan

simple como antildeadir nuevos moacutedulos El otro motivo consiste en abstraer las unidades baacutesicas de

contenido que gestiona en lo que denomina ldquoNodosrdquo Los Nodos pueden ldquoinstanciarserdquo en forma

de paacuteginas web eventos de calendario noticias o cualquier conjunto de datos y metadatos que

agrupados entendemos como la informacioacuten a administrar

Esta versatilidad es la principal virtud de Drupal y en el contexto de anaacutelisis que nos ocupa

tambieacuten presenta un ligero inconveniente pues si bien es cierto que el desarrollador puede

prestar mayor atencioacuten a los requisitos funcionales del cliente el modelo de datos suele perder su

tradicional relevancia y ndashal menos inicialmentendash queda ldquoocultordquo tras el sistema Un posterior

estudio de la base de datos en la que reside Drupal muestra que la generacioacuten automaacutetica de

tablas y atributos que realiza el sistema no es soacutelo efectiva sino que se asemeja a la que

realizariacutea un buen analista de bases de datos

Como hemos dicho al trabajar sobre Drupal el desarrollo se eleva a un nivel maacutes cercano al

usuario ya que el desarrollador puede implementar nuevas funcionalidades mediante la activacioacuten

de moacutedulos (existentes o creados para la ocasioacuten) que permiten ldquoprototiparrdquo o adaptar

raacutepidamente la aplicacioacuten a necesidades especiacuteficas o incluso cambiantes

1 Warner Bros Site httpwwwwarnerbrosrecordscom

FedEx News httpnewsvanfedexcom

Sony BGM Myplay httpmyplaycom

The NewYork Observer httpwwwobservercom

MTV UK httpwwwmtvcouk

Flixya Sharing Site httpwwwflixyacom

Universal Music httpwwwuniversalmusiccom

Moto GP httpwwwmotogpcom

Nike Media httpnikemediacom

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 5

Uno de estos moacutedulos posiblemente el maacutes famoso de ellos responde a las siglas de ldquoCCKrdquo

(Content Construction Kit2) y resulta de suma importancia para este estudio pues es el encargado

de crear las entidades doacutende almacenaremos los nuevos tipos de Nodos Este moacutedulo normaliza

las tablas creando muacuteltiples entidades cuando el atributo puede tomar varios valores o cuando se

asignan campos del mismo tipo semaacutentico en distintos nodos (semantic meaning) y unifica los

atributos en una sola tabla cuando las propiedades del nodo son uacutenicas

Conscientes de que toda migracioacuten de una aplicacioacuten a un nuevo contexto obliga a hacer expliacutecito

su modelo de datos para su comprensioacuten y sobre todo para permitir que la nueva plataforma

conserve la informacioacuten ya almacenada el siguiente informe

1 Detalla el modelo de datos de Drupal 57 en el contexto concreto de la aplicacioacuten ldquoCoyote

Applicationrdquo de ACME Inc

2 Y plantea varias propuestas de migracioacuten a Oracle el gestor de base de datos institucional

de ACME Inc

Cabe comentar que la versioacuten 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 57 no

hace uso de ellas

Asiacute pues las relaciones entre entidades las establece la loacutegica de la aplicacioacuten y no la base

de datos que actuacutea como mero repositorio consultado y actualizado en base a los iacutendices y las

restricciones en los atributos de las entidades

Este informe describe de manera general estas relaciones entre tablas mediante Diagramas

Entidad-Relacioacuten y presenta los atributos de estas exhibiendo el Diccionario de Datos de

Drupal Dado el propoacutesito de este documento en todo momento se hace especial hincapieacute en los

datos y estructuras de ldquoCoyote Applicationrdquo que deben ser trasladados al nuevo sistema

Para este anaacutelisis se han empleado herramientas de ingenieriacutea inversa como DBDesigner (de

Fabforce) que facilitan la extraccioacuten de relaciones entre iacutendices primarios y foraacuteneos en base a

sus nomenclaturas y datos

Esta primera extraccioacuten ha sido profundamente estudiada y contrastada por nuestros expertos y

enriquecida con la documentacioacuten previamente suministrada por algunos desarrolladores de la

comunidad de Drupal

2 El artiacuteculo de difusioacuten de Robert Duglas en ldquoWhat is the Content Construction Kit A View from the Databaserdquo permite una primera aproximacioacuten a los CCK y su efecto en la base de datos Fuente on-line httpwwwlullabotcomarticlesan_introduction_to_the_content_construction_kit

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 6

Modelo de Datos de Drupal

Ryan Constantine desarrollador y consultor de Drupal realizoacute en el 2007 un estudio similar al que

se plantea en este documento ofreciendo el siguiente diagrama entidad-relacioacuten para la versioacuten

57 del aplicativo3

Fig 1 Diagrama ER de Drupal 57 por Rayan ConstantineFuente original httpdrupalorgfilesissuesDrupal5RC1_Database_0png

Rayan acompantildeaba este diagrama con la siguiente leyenda

Gris Tablas sin relaciones

Puacuterpura Tablas con archivos de instalacioacuten independientes que no enlazan con la tabla NODE

Azul ciacutean Tablas relacionadas con la gestioacuten de teacuterminos

Rosa claroPuacuterpura Tablas para la gestioacuten de vocabularios

Rosa brillante Tablas para la gestioacuten de filtros

Azul Tablas para el control de permisos

Marroacuten claro Tablas con archivos de instalacioacuten independientes que no enlazan con al tabla NODE

Verde Tablas del nuacutecleo que originan claves primarias (autoincrementadas en esta tabla y usadas

como claves foraacuteneas en otras)

Amarillo Tablas del nuacutecleo que usan claves foraacuteneas como sus claves primarias

3 Discusioacuten de Rayan Constantine con la comunidad Drupal httpdrupalorgnode79874

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 7

La agrupacioacuten de Rayan4 desvela los cinco grupos de tablas sobre las trabaja Drupal que ofrecen

una buena primera aproximacioacuten al modelo

Nodos Que mantienen datos sobre el contenido a gestionar

Vocabularios Que permite asociar taxonomiacuteas a los contenidos (nodos)

Usuarios y permisos Con datos sobre los usuarios del sistema sus roles y sus permisos

Cache Para agilizar la creacioacuten de contenidos dinaacutemicos mediante su reutilizacioacuten

Otros Con datos de distinta iacutendole sobre y para el correcto funcionamiento del sistema

Para mayor claridad en las siguientes paacuteginas analizamos cada uno de estos bloques por

separado

4 Hasta la versioacuten 6 han surgido varios esfuerzos por mantener documentado el modelo de datos de Drupal como por ejemplohttpcvsdrupalorgviewvcpydrupalcontributionsdocsdeveloperdatabase httpwebdevgeekscomschemaspytablesnodehtml httpdrupalorgnode22754 Pero histoacutericamente han resultado un fracaso porque Drupal para no depender de ninguacuten gestor en concreto abstrae la base de datos y el modelo se debiacutea mantener de forma independienteA partir de Drupal 6 se incluye la funcioacuten ldquohook_schemardquo (y el moacutedulo schema) obligando a los programadores del nuacutecleo y de los moacutedulos de terceros a definir y describir sus tablas con el mismo rigor con el que deben describir sus APIs Este cambio garantiza un futuro prometedor con un modelo de datos completamente documentado y siempre actualizado

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 8

Diagrama EntidadshyRelacioacuten

En este apartado se expone del diagrama ER de la aplicacioacuten de manera fraccionada para ofrecer

asiacute una visioacuten didaacutectica y detallada La primera seccioacuten describe la tabla Nodo y sus relaciones

para continuar con el grupo de tablas de Vocabularios seguir con la gestioacuten de Usuarios y concluir

con Otras tablas que consideramos meritorias de mencioacuten Se obvia intencionadamente el grupo

de tablas de Cache dado el nulo intereacutes hacia estas en un proceso de migracioacuten

Las tablas de Nodos

Tal y como hemos comentado en la introduccioacuten Drupal se podriacutea describir como un ldquoGestor de

Nodosrdquo Asiacute pues la tabla ldquonoderdquo es de vital importancia para este CMF ya que contiene la

informacioacuten baacutesica y comuacuten a todo contenido siendo el origen y destino de la mayoriacutea de

operaciones que el CMF realiza

Fig 2 La entidad [node]

Como vemos en este primer diagrama nodos contienen un identificador uacutenico (nid) y un

identificador de versioacuten (vid) que constituyen la clave primaria de la tabla Esta tabla soacutelo

almacena la versioacuten vigente del nodo mientras que vid (en aquellos casos en los que el nodo

requiere de gestioacuten de versiones) nos permitiraacute acceder al histoacuterico de revisiones (node_revisions)

y a los atributos especiacuteficos (content_xx) del nodo

Describiremos ambas relaciones en puntos posteriores para centrarnos ahora en los atributos de

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 9

esta entidad que contiene datos y metadatos sobre el trato que hay que dar a un nodo siendo

Tiacutetulo El tiacutetulo que deseamos para el nodo Pe ldquoBienvenidos a esta paacutegina webrdquo

Status El estado en el que se encuentra un nodo Pe ldquo1rdquo equivale a publicado

Created La fecha de creacioacuten en formato ldquotimestamprdquo Pe ldquo1185656627rdquo

Changed Fecha de modificacioacuten en formato ldquotimestamprdquo Pe ldquo1188946434rdquo

Comment Nuacutemero de comentarios Pe ldquo3rdquo

Promote Si debe ser ldquodestacado en portadardquo (frontpage) Pe ldquo1rdquo indica promocionado

Moderate Si debe ser moderado antes de publicarse Pe ldquo0rdquo equivale a no moderado

Sticky Si debe destacarse en los listados Pe ldquo1rdquo muestra el nodo con mayor relevancia

La documentacioacuten oficial de Drupal ofrece un incompleto pero didaacutectico diagrama geneacuterico

doacutende observamos las principales relaciones entre la entidad nodo y las tablas vinculadas

Fig 3 Las principales relaciones de la entidad [node]Fuente Documentacioacuten oficial de Drupal

En el diagrama podemos observar relaciones 1n entre ldquonoderdquo y ldquonode_revisionsrdquo o ldquonoderdquo y

ldquocommentsrdquo La primera relacioacuten permite (como hemos comentado) almacenar las distintas

revisiones de un nodo mientras que en el segundo caso se define un viacutenculo de ldquouno-a-

muchosrdquo entre los nodos y los comentarios que sobre ese nodo se realicen

El resto de relaciones son 11 y ofrecen informacioacuten estadiacutestica (contador de visitas estadiacutesticas

sobre los comentarios) o de control de acceso (node_access)

Para completar este diagrama debemos volver a la tabla ldquonoderdquo doacutende podemos ver que los

atributos ldquouidrdquo y ldquotyperdquo son claves foraacuteneas (FK) que mantienen en el primer caso una relacioacuten

1n entre los usuarios y los nodos creados (uid) y nos permiten conocer al autor del nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 10

El atributo ldquotyperdquo por otro lado establece otra relacioacuten 1n entre la entidad ldquonode_typerdquo y ldquonoderdquo

(type) siendo ldquonode_typerdquo la encargada de ampliar el elemento nodo con nuevos atributos

compartidos entre todos los nodos del mismo tipo

Fig 4 La entidad [node_type] y su relacioacuten con [node]

Como vemos en esta seccioacuten ampliada del diagrama la tabla ldquonode_typerdquo define una clave

primaria en ldquotyperdquo y contiene informacioacuten adicional del nodo que nos permite conocer ldquosi el nodo

ha sido creado por alguacuten moacutedulordquo (module) ldquosi el nodo debe incorporar un tiacutetulo yo un cuerpo de

textordquo (has_title y has_body respectivamente) ldquosi el nodo ha sido creado a medida mediante

CCKrdquo (custom) una breve descripcioacuten para uso administrativo (description) un texto de ayuda que

se mostraraacute al usuario para que se asegure de si ese es el tipo de contenido que desea crear etc

(ver Diccionario de Datos para detalles)

La combinacioacuten de estas dos entidades nos permite gestionar elementos de contenido simple

pero los datos que esta unidad abstracta de contenido seria capaz de contener se limita a un tiacutetulo

y un cuerpo de texto

Aunque eficaz para mantener nodos como las ldquopaacuteginas webrdquo (page) ldquonoticias o blogsrdquo (story) o

otras sencillas unidades de contenido resulta claramente insuficiente si el nodo exige estructurar

maacutes informacioacuten que la mencionada

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 11

Tal y como hemos comentado en la introduccioacuten el moacutedulo CCK (Content Construction Kit) nos

permite ampliar los campos asociados a un nodo y genera las tablas necesarias para mantener

nuevos datos

Veamos entonces los efectos que produce en la base de datos de Drupal el crear mediante CCK

un nuevo nodo (o ldquotipo de contenidordquo) como podriacutea ser el nodo ldquoactuacioacutenrdquo (propio de ldquoCoyote

Applicationrdquo)

Fig 5 La entidad [content_type_actuacion] y su relacioacuten con [node]

Como vemos CCK genera una nueva entidad (content_type_actuacion) para contener aquellos

atributos especiacuteficos del nuevo nodo definiendo desde la tabla ldquonoderdquo una relacioacuten 1n que

mantiene el modelo de base de datos normalizado

Para el caso de Coyote Application ldquocontent_type_actuacionrdquo incluye todos los atributos que se

muestran en el formulario de entrada de actuacioacuten como de seleccioacuten simple a excepcioacuten por

supuesto del tiacutetulo y el cuerpo de texto que se almacenan en ldquonode_revisionsrdquo

El resto de atributos para garantizar que los datos se conservan segmentados y que la base de

datos mantiene su normalizacioacuten se almacenan en tablas externas que llevan por nombre

ldquocontent_field_xxrdquo (doacutende ldquoxxrdquo coincide con el nombre del campo creado) y que definen una

relacioacuten 1n con ldquocontent_type_actuacionrdquo

La excepcioacuten a esta regla la encontramos en el atributo ldquofield_actuacion_accion_social_e_nidrdquo

que establece una relacioacuten ya no entre el nodo y uno de sus valores sino entre dos nodos

conservando en los nodos ldquoactuacioacutenrdquo el ldquonidrdquo del nodo ldquoaccioacuten socialrdquo con el que se relaciona

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 3: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 3

Prefacio

El siguiente texto es una revisioacuten de un documento previo escrito a peticioacuten de la empresa

ldquoACME Incrdquo para facilitar la migracioacuten de un desarrollo Drupal la plataforma NETOracle de la

corporacioacuten

Como el suspicaz lector sospecharaacute mantenemos confidencialidad sobre la identidad y datos de

dicha empresa pero se ofrece a la comunidad el estudio al considerar que el anaacutelisis realizado

puede ser de ayuda en

1 Futuras migraciones En aquellos casos en los que se topen con un equipo de IT miope

(incapaz de apreciar la belleza de el mencionado CMS) asustadizo (por el hecho de

trabajar con desarrollos libres) perezoso (al no querer aprender nada nuevo)

perjuicioso (convencidos de que los desarrollos libres carecen de calidad son

inseguros) yo riacutegido (al ser incapaces de emplear desarrollos maacutes allaacute de lo

dictaminado por la coorporacioacuten)

2 Comprensioacuten de la herramienta En aquellos casos en los que sea necesario formar a

nuevos desarrolladores o se busque ahondar en la manera en que la herramienta trata sus

datos

Como reza su tiacutetulo este documento versa sobre Drupal 57 por lo que la validez de lo descrito

estaacute sujeta a futuros cambios

Este texto se ha escrito bajo una licencia Creative Commons 25 en la que se obliga al

Reconocimiento de la obra no se permite su uso Comercial y admite obras derivadas siempre y

cuando se compartan bajo la misma licencia

Asiacute mismo agradeceriacuteamos que informen al autor si emplean o mejoran esta obra

Esperamos disfruten con estas liacuteneas tanto como hemos disfrutado nosotros al escribirlas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 4

Introduccioacuten

Drupal es un CMF (Content Management Framework) explotado en este proyecto en su faceta de

RAD (Rapid Application Development)

Drupal y sus moacutedulos garantizan un rendimiento eficaz ofreciendo un entorno seguro y

escalable como lo constatan importantes desarrollos internacionales en distintas aacutereas1

La enorme versatilidad de este Framework de Gestioacuten de Contenidos (CMF) se sustenta sobre

dos pilares esenciales El primero de ellos es que ha sido concebido desde sus maacutes tiernos inicios

como una herramienta modular en la que antildeadir nuevas funcionalidades puede resultar tan

simple como antildeadir nuevos moacutedulos El otro motivo consiste en abstraer las unidades baacutesicas de

contenido que gestiona en lo que denomina ldquoNodosrdquo Los Nodos pueden ldquoinstanciarserdquo en forma

de paacuteginas web eventos de calendario noticias o cualquier conjunto de datos y metadatos que

agrupados entendemos como la informacioacuten a administrar

Esta versatilidad es la principal virtud de Drupal y en el contexto de anaacutelisis que nos ocupa

tambieacuten presenta un ligero inconveniente pues si bien es cierto que el desarrollador puede

prestar mayor atencioacuten a los requisitos funcionales del cliente el modelo de datos suele perder su

tradicional relevancia y ndashal menos inicialmentendash queda ldquoocultordquo tras el sistema Un posterior

estudio de la base de datos en la que reside Drupal muestra que la generacioacuten automaacutetica de

tablas y atributos que realiza el sistema no es soacutelo efectiva sino que se asemeja a la que

realizariacutea un buen analista de bases de datos

Como hemos dicho al trabajar sobre Drupal el desarrollo se eleva a un nivel maacutes cercano al

usuario ya que el desarrollador puede implementar nuevas funcionalidades mediante la activacioacuten

de moacutedulos (existentes o creados para la ocasioacuten) que permiten ldquoprototiparrdquo o adaptar

raacutepidamente la aplicacioacuten a necesidades especiacuteficas o incluso cambiantes

1 Warner Bros Site httpwwwwarnerbrosrecordscom

FedEx News httpnewsvanfedexcom

Sony BGM Myplay httpmyplaycom

The NewYork Observer httpwwwobservercom

MTV UK httpwwwmtvcouk

Flixya Sharing Site httpwwwflixyacom

Universal Music httpwwwuniversalmusiccom

Moto GP httpwwwmotogpcom

Nike Media httpnikemediacom

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 5

Uno de estos moacutedulos posiblemente el maacutes famoso de ellos responde a las siglas de ldquoCCKrdquo

(Content Construction Kit2) y resulta de suma importancia para este estudio pues es el encargado

de crear las entidades doacutende almacenaremos los nuevos tipos de Nodos Este moacutedulo normaliza

las tablas creando muacuteltiples entidades cuando el atributo puede tomar varios valores o cuando se

asignan campos del mismo tipo semaacutentico en distintos nodos (semantic meaning) y unifica los

atributos en una sola tabla cuando las propiedades del nodo son uacutenicas

Conscientes de que toda migracioacuten de una aplicacioacuten a un nuevo contexto obliga a hacer expliacutecito

su modelo de datos para su comprensioacuten y sobre todo para permitir que la nueva plataforma

conserve la informacioacuten ya almacenada el siguiente informe

1 Detalla el modelo de datos de Drupal 57 en el contexto concreto de la aplicacioacuten ldquoCoyote

Applicationrdquo de ACME Inc

2 Y plantea varias propuestas de migracioacuten a Oracle el gestor de base de datos institucional

de ACME Inc

Cabe comentar que la versioacuten 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 57 no

hace uso de ellas

Asiacute pues las relaciones entre entidades las establece la loacutegica de la aplicacioacuten y no la base

de datos que actuacutea como mero repositorio consultado y actualizado en base a los iacutendices y las

restricciones en los atributos de las entidades

Este informe describe de manera general estas relaciones entre tablas mediante Diagramas

Entidad-Relacioacuten y presenta los atributos de estas exhibiendo el Diccionario de Datos de

Drupal Dado el propoacutesito de este documento en todo momento se hace especial hincapieacute en los

datos y estructuras de ldquoCoyote Applicationrdquo que deben ser trasladados al nuevo sistema

Para este anaacutelisis se han empleado herramientas de ingenieriacutea inversa como DBDesigner (de

Fabforce) que facilitan la extraccioacuten de relaciones entre iacutendices primarios y foraacuteneos en base a

sus nomenclaturas y datos

Esta primera extraccioacuten ha sido profundamente estudiada y contrastada por nuestros expertos y

enriquecida con la documentacioacuten previamente suministrada por algunos desarrolladores de la

comunidad de Drupal

2 El artiacuteculo de difusioacuten de Robert Duglas en ldquoWhat is the Content Construction Kit A View from the Databaserdquo permite una primera aproximacioacuten a los CCK y su efecto en la base de datos Fuente on-line httpwwwlullabotcomarticlesan_introduction_to_the_content_construction_kit

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 6

Modelo de Datos de Drupal

Ryan Constantine desarrollador y consultor de Drupal realizoacute en el 2007 un estudio similar al que

se plantea en este documento ofreciendo el siguiente diagrama entidad-relacioacuten para la versioacuten

57 del aplicativo3

Fig 1 Diagrama ER de Drupal 57 por Rayan ConstantineFuente original httpdrupalorgfilesissuesDrupal5RC1_Database_0png

Rayan acompantildeaba este diagrama con la siguiente leyenda

Gris Tablas sin relaciones

Puacuterpura Tablas con archivos de instalacioacuten independientes que no enlazan con la tabla NODE

Azul ciacutean Tablas relacionadas con la gestioacuten de teacuterminos

Rosa claroPuacuterpura Tablas para la gestioacuten de vocabularios

Rosa brillante Tablas para la gestioacuten de filtros

Azul Tablas para el control de permisos

Marroacuten claro Tablas con archivos de instalacioacuten independientes que no enlazan con al tabla NODE

Verde Tablas del nuacutecleo que originan claves primarias (autoincrementadas en esta tabla y usadas

como claves foraacuteneas en otras)

Amarillo Tablas del nuacutecleo que usan claves foraacuteneas como sus claves primarias

3 Discusioacuten de Rayan Constantine con la comunidad Drupal httpdrupalorgnode79874

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 7

La agrupacioacuten de Rayan4 desvela los cinco grupos de tablas sobre las trabaja Drupal que ofrecen

una buena primera aproximacioacuten al modelo

Nodos Que mantienen datos sobre el contenido a gestionar

Vocabularios Que permite asociar taxonomiacuteas a los contenidos (nodos)

Usuarios y permisos Con datos sobre los usuarios del sistema sus roles y sus permisos

Cache Para agilizar la creacioacuten de contenidos dinaacutemicos mediante su reutilizacioacuten

Otros Con datos de distinta iacutendole sobre y para el correcto funcionamiento del sistema

Para mayor claridad en las siguientes paacuteginas analizamos cada uno de estos bloques por

separado

4 Hasta la versioacuten 6 han surgido varios esfuerzos por mantener documentado el modelo de datos de Drupal como por ejemplohttpcvsdrupalorgviewvcpydrupalcontributionsdocsdeveloperdatabase httpwebdevgeekscomschemaspytablesnodehtml httpdrupalorgnode22754 Pero histoacutericamente han resultado un fracaso porque Drupal para no depender de ninguacuten gestor en concreto abstrae la base de datos y el modelo se debiacutea mantener de forma independienteA partir de Drupal 6 se incluye la funcioacuten ldquohook_schemardquo (y el moacutedulo schema) obligando a los programadores del nuacutecleo y de los moacutedulos de terceros a definir y describir sus tablas con el mismo rigor con el que deben describir sus APIs Este cambio garantiza un futuro prometedor con un modelo de datos completamente documentado y siempre actualizado

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 8

Diagrama EntidadshyRelacioacuten

En este apartado se expone del diagrama ER de la aplicacioacuten de manera fraccionada para ofrecer

asiacute una visioacuten didaacutectica y detallada La primera seccioacuten describe la tabla Nodo y sus relaciones

para continuar con el grupo de tablas de Vocabularios seguir con la gestioacuten de Usuarios y concluir

con Otras tablas que consideramos meritorias de mencioacuten Se obvia intencionadamente el grupo

de tablas de Cache dado el nulo intereacutes hacia estas en un proceso de migracioacuten

Las tablas de Nodos

Tal y como hemos comentado en la introduccioacuten Drupal se podriacutea describir como un ldquoGestor de

Nodosrdquo Asiacute pues la tabla ldquonoderdquo es de vital importancia para este CMF ya que contiene la

informacioacuten baacutesica y comuacuten a todo contenido siendo el origen y destino de la mayoriacutea de

operaciones que el CMF realiza

Fig 2 La entidad [node]

Como vemos en este primer diagrama nodos contienen un identificador uacutenico (nid) y un

identificador de versioacuten (vid) que constituyen la clave primaria de la tabla Esta tabla soacutelo

almacena la versioacuten vigente del nodo mientras que vid (en aquellos casos en los que el nodo

requiere de gestioacuten de versiones) nos permitiraacute acceder al histoacuterico de revisiones (node_revisions)

y a los atributos especiacuteficos (content_xx) del nodo

Describiremos ambas relaciones en puntos posteriores para centrarnos ahora en los atributos de

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 9

esta entidad que contiene datos y metadatos sobre el trato que hay que dar a un nodo siendo

Tiacutetulo El tiacutetulo que deseamos para el nodo Pe ldquoBienvenidos a esta paacutegina webrdquo

Status El estado en el que se encuentra un nodo Pe ldquo1rdquo equivale a publicado

Created La fecha de creacioacuten en formato ldquotimestamprdquo Pe ldquo1185656627rdquo

Changed Fecha de modificacioacuten en formato ldquotimestamprdquo Pe ldquo1188946434rdquo

Comment Nuacutemero de comentarios Pe ldquo3rdquo

Promote Si debe ser ldquodestacado en portadardquo (frontpage) Pe ldquo1rdquo indica promocionado

Moderate Si debe ser moderado antes de publicarse Pe ldquo0rdquo equivale a no moderado

Sticky Si debe destacarse en los listados Pe ldquo1rdquo muestra el nodo con mayor relevancia

La documentacioacuten oficial de Drupal ofrece un incompleto pero didaacutectico diagrama geneacuterico

doacutende observamos las principales relaciones entre la entidad nodo y las tablas vinculadas

Fig 3 Las principales relaciones de la entidad [node]Fuente Documentacioacuten oficial de Drupal

En el diagrama podemos observar relaciones 1n entre ldquonoderdquo y ldquonode_revisionsrdquo o ldquonoderdquo y

ldquocommentsrdquo La primera relacioacuten permite (como hemos comentado) almacenar las distintas

revisiones de un nodo mientras que en el segundo caso se define un viacutenculo de ldquouno-a-

muchosrdquo entre los nodos y los comentarios que sobre ese nodo se realicen

El resto de relaciones son 11 y ofrecen informacioacuten estadiacutestica (contador de visitas estadiacutesticas

sobre los comentarios) o de control de acceso (node_access)

Para completar este diagrama debemos volver a la tabla ldquonoderdquo doacutende podemos ver que los

atributos ldquouidrdquo y ldquotyperdquo son claves foraacuteneas (FK) que mantienen en el primer caso una relacioacuten

1n entre los usuarios y los nodos creados (uid) y nos permiten conocer al autor del nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 10

El atributo ldquotyperdquo por otro lado establece otra relacioacuten 1n entre la entidad ldquonode_typerdquo y ldquonoderdquo

(type) siendo ldquonode_typerdquo la encargada de ampliar el elemento nodo con nuevos atributos

compartidos entre todos los nodos del mismo tipo

Fig 4 La entidad [node_type] y su relacioacuten con [node]

Como vemos en esta seccioacuten ampliada del diagrama la tabla ldquonode_typerdquo define una clave

primaria en ldquotyperdquo y contiene informacioacuten adicional del nodo que nos permite conocer ldquosi el nodo

ha sido creado por alguacuten moacutedulordquo (module) ldquosi el nodo debe incorporar un tiacutetulo yo un cuerpo de

textordquo (has_title y has_body respectivamente) ldquosi el nodo ha sido creado a medida mediante

CCKrdquo (custom) una breve descripcioacuten para uso administrativo (description) un texto de ayuda que

se mostraraacute al usuario para que se asegure de si ese es el tipo de contenido que desea crear etc

(ver Diccionario de Datos para detalles)

La combinacioacuten de estas dos entidades nos permite gestionar elementos de contenido simple

pero los datos que esta unidad abstracta de contenido seria capaz de contener se limita a un tiacutetulo

y un cuerpo de texto

Aunque eficaz para mantener nodos como las ldquopaacuteginas webrdquo (page) ldquonoticias o blogsrdquo (story) o

otras sencillas unidades de contenido resulta claramente insuficiente si el nodo exige estructurar

maacutes informacioacuten que la mencionada

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 11

Tal y como hemos comentado en la introduccioacuten el moacutedulo CCK (Content Construction Kit) nos

permite ampliar los campos asociados a un nodo y genera las tablas necesarias para mantener

nuevos datos

Veamos entonces los efectos que produce en la base de datos de Drupal el crear mediante CCK

un nuevo nodo (o ldquotipo de contenidordquo) como podriacutea ser el nodo ldquoactuacioacutenrdquo (propio de ldquoCoyote

Applicationrdquo)

Fig 5 La entidad [content_type_actuacion] y su relacioacuten con [node]

Como vemos CCK genera una nueva entidad (content_type_actuacion) para contener aquellos

atributos especiacuteficos del nuevo nodo definiendo desde la tabla ldquonoderdquo una relacioacuten 1n que

mantiene el modelo de base de datos normalizado

Para el caso de Coyote Application ldquocontent_type_actuacionrdquo incluye todos los atributos que se

muestran en el formulario de entrada de actuacioacuten como de seleccioacuten simple a excepcioacuten por

supuesto del tiacutetulo y el cuerpo de texto que se almacenan en ldquonode_revisionsrdquo

El resto de atributos para garantizar que los datos se conservan segmentados y que la base de

datos mantiene su normalizacioacuten se almacenan en tablas externas que llevan por nombre

ldquocontent_field_xxrdquo (doacutende ldquoxxrdquo coincide con el nombre del campo creado) y que definen una

relacioacuten 1n con ldquocontent_type_actuacionrdquo

La excepcioacuten a esta regla la encontramos en el atributo ldquofield_actuacion_accion_social_e_nidrdquo

que establece una relacioacuten ya no entre el nodo y uno de sus valores sino entre dos nodos

conservando en los nodos ldquoactuacioacutenrdquo el ldquonidrdquo del nodo ldquoaccioacuten socialrdquo con el que se relaciona

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 4: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 4

Introduccioacuten

Drupal es un CMF (Content Management Framework) explotado en este proyecto en su faceta de

RAD (Rapid Application Development)

Drupal y sus moacutedulos garantizan un rendimiento eficaz ofreciendo un entorno seguro y

escalable como lo constatan importantes desarrollos internacionales en distintas aacutereas1

La enorme versatilidad de este Framework de Gestioacuten de Contenidos (CMF) se sustenta sobre

dos pilares esenciales El primero de ellos es que ha sido concebido desde sus maacutes tiernos inicios

como una herramienta modular en la que antildeadir nuevas funcionalidades puede resultar tan

simple como antildeadir nuevos moacutedulos El otro motivo consiste en abstraer las unidades baacutesicas de

contenido que gestiona en lo que denomina ldquoNodosrdquo Los Nodos pueden ldquoinstanciarserdquo en forma

de paacuteginas web eventos de calendario noticias o cualquier conjunto de datos y metadatos que

agrupados entendemos como la informacioacuten a administrar

Esta versatilidad es la principal virtud de Drupal y en el contexto de anaacutelisis que nos ocupa

tambieacuten presenta un ligero inconveniente pues si bien es cierto que el desarrollador puede

prestar mayor atencioacuten a los requisitos funcionales del cliente el modelo de datos suele perder su

tradicional relevancia y ndashal menos inicialmentendash queda ldquoocultordquo tras el sistema Un posterior

estudio de la base de datos en la que reside Drupal muestra que la generacioacuten automaacutetica de

tablas y atributos que realiza el sistema no es soacutelo efectiva sino que se asemeja a la que

realizariacutea un buen analista de bases de datos

Como hemos dicho al trabajar sobre Drupal el desarrollo se eleva a un nivel maacutes cercano al

usuario ya que el desarrollador puede implementar nuevas funcionalidades mediante la activacioacuten

de moacutedulos (existentes o creados para la ocasioacuten) que permiten ldquoprototiparrdquo o adaptar

raacutepidamente la aplicacioacuten a necesidades especiacuteficas o incluso cambiantes

1 Warner Bros Site httpwwwwarnerbrosrecordscom

FedEx News httpnewsvanfedexcom

Sony BGM Myplay httpmyplaycom

The NewYork Observer httpwwwobservercom

MTV UK httpwwwmtvcouk

Flixya Sharing Site httpwwwflixyacom

Universal Music httpwwwuniversalmusiccom

Moto GP httpwwwmotogpcom

Nike Media httpnikemediacom

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 5

Uno de estos moacutedulos posiblemente el maacutes famoso de ellos responde a las siglas de ldquoCCKrdquo

(Content Construction Kit2) y resulta de suma importancia para este estudio pues es el encargado

de crear las entidades doacutende almacenaremos los nuevos tipos de Nodos Este moacutedulo normaliza

las tablas creando muacuteltiples entidades cuando el atributo puede tomar varios valores o cuando se

asignan campos del mismo tipo semaacutentico en distintos nodos (semantic meaning) y unifica los

atributos en una sola tabla cuando las propiedades del nodo son uacutenicas

Conscientes de que toda migracioacuten de una aplicacioacuten a un nuevo contexto obliga a hacer expliacutecito

su modelo de datos para su comprensioacuten y sobre todo para permitir que la nueva plataforma

conserve la informacioacuten ya almacenada el siguiente informe

1 Detalla el modelo de datos de Drupal 57 en el contexto concreto de la aplicacioacuten ldquoCoyote

Applicationrdquo de ACME Inc

2 Y plantea varias propuestas de migracioacuten a Oracle el gestor de base de datos institucional

de ACME Inc

Cabe comentar que la versioacuten 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 57 no

hace uso de ellas

Asiacute pues las relaciones entre entidades las establece la loacutegica de la aplicacioacuten y no la base

de datos que actuacutea como mero repositorio consultado y actualizado en base a los iacutendices y las

restricciones en los atributos de las entidades

Este informe describe de manera general estas relaciones entre tablas mediante Diagramas

Entidad-Relacioacuten y presenta los atributos de estas exhibiendo el Diccionario de Datos de

Drupal Dado el propoacutesito de este documento en todo momento se hace especial hincapieacute en los

datos y estructuras de ldquoCoyote Applicationrdquo que deben ser trasladados al nuevo sistema

Para este anaacutelisis se han empleado herramientas de ingenieriacutea inversa como DBDesigner (de

Fabforce) que facilitan la extraccioacuten de relaciones entre iacutendices primarios y foraacuteneos en base a

sus nomenclaturas y datos

Esta primera extraccioacuten ha sido profundamente estudiada y contrastada por nuestros expertos y

enriquecida con la documentacioacuten previamente suministrada por algunos desarrolladores de la

comunidad de Drupal

2 El artiacuteculo de difusioacuten de Robert Duglas en ldquoWhat is the Content Construction Kit A View from the Databaserdquo permite una primera aproximacioacuten a los CCK y su efecto en la base de datos Fuente on-line httpwwwlullabotcomarticlesan_introduction_to_the_content_construction_kit

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 6

Modelo de Datos de Drupal

Ryan Constantine desarrollador y consultor de Drupal realizoacute en el 2007 un estudio similar al que

se plantea en este documento ofreciendo el siguiente diagrama entidad-relacioacuten para la versioacuten

57 del aplicativo3

Fig 1 Diagrama ER de Drupal 57 por Rayan ConstantineFuente original httpdrupalorgfilesissuesDrupal5RC1_Database_0png

Rayan acompantildeaba este diagrama con la siguiente leyenda

Gris Tablas sin relaciones

Puacuterpura Tablas con archivos de instalacioacuten independientes que no enlazan con la tabla NODE

Azul ciacutean Tablas relacionadas con la gestioacuten de teacuterminos

Rosa claroPuacuterpura Tablas para la gestioacuten de vocabularios

Rosa brillante Tablas para la gestioacuten de filtros

Azul Tablas para el control de permisos

Marroacuten claro Tablas con archivos de instalacioacuten independientes que no enlazan con al tabla NODE

Verde Tablas del nuacutecleo que originan claves primarias (autoincrementadas en esta tabla y usadas

como claves foraacuteneas en otras)

Amarillo Tablas del nuacutecleo que usan claves foraacuteneas como sus claves primarias

3 Discusioacuten de Rayan Constantine con la comunidad Drupal httpdrupalorgnode79874

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 7

La agrupacioacuten de Rayan4 desvela los cinco grupos de tablas sobre las trabaja Drupal que ofrecen

una buena primera aproximacioacuten al modelo

Nodos Que mantienen datos sobre el contenido a gestionar

Vocabularios Que permite asociar taxonomiacuteas a los contenidos (nodos)

Usuarios y permisos Con datos sobre los usuarios del sistema sus roles y sus permisos

Cache Para agilizar la creacioacuten de contenidos dinaacutemicos mediante su reutilizacioacuten

Otros Con datos de distinta iacutendole sobre y para el correcto funcionamiento del sistema

Para mayor claridad en las siguientes paacuteginas analizamos cada uno de estos bloques por

separado

4 Hasta la versioacuten 6 han surgido varios esfuerzos por mantener documentado el modelo de datos de Drupal como por ejemplohttpcvsdrupalorgviewvcpydrupalcontributionsdocsdeveloperdatabase httpwebdevgeekscomschemaspytablesnodehtml httpdrupalorgnode22754 Pero histoacutericamente han resultado un fracaso porque Drupal para no depender de ninguacuten gestor en concreto abstrae la base de datos y el modelo se debiacutea mantener de forma independienteA partir de Drupal 6 se incluye la funcioacuten ldquohook_schemardquo (y el moacutedulo schema) obligando a los programadores del nuacutecleo y de los moacutedulos de terceros a definir y describir sus tablas con el mismo rigor con el que deben describir sus APIs Este cambio garantiza un futuro prometedor con un modelo de datos completamente documentado y siempre actualizado

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 8

Diagrama EntidadshyRelacioacuten

En este apartado se expone del diagrama ER de la aplicacioacuten de manera fraccionada para ofrecer

asiacute una visioacuten didaacutectica y detallada La primera seccioacuten describe la tabla Nodo y sus relaciones

para continuar con el grupo de tablas de Vocabularios seguir con la gestioacuten de Usuarios y concluir

con Otras tablas que consideramos meritorias de mencioacuten Se obvia intencionadamente el grupo

de tablas de Cache dado el nulo intereacutes hacia estas en un proceso de migracioacuten

Las tablas de Nodos

Tal y como hemos comentado en la introduccioacuten Drupal se podriacutea describir como un ldquoGestor de

Nodosrdquo Asiacute pues la tabla ldquonoderdquo es de vital importancia para este CMF ya que contiene la

informacioacuten baacutesica y comuacuten a todo contenido siendo el origen y destino de la mayoriacutea de

operaciones que el CMF realiza

Fig 2 La entidad [node]

Como vemos en este primer diagrama nodos contienen un identificador uacutenico (nid) y un

identificador de versioacuten (vid) que constituyen la clave primaria de la tabla Esta tabla soacutelo

almacena la versioacuten vigente del nodo mientras que vid (en aquellos casos en los que el nodo

requiere de gestioacuten de versiones) nos permitiraacute acceder al histoacuterico de revisiones (node_revisions)

y a los atributos especiacuteficos (content_xx) del nodo

Describiremos ambas relaciones en puntos posteriores para centrarnos ahora en los atributos de

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 9

esta entidad que contiene datos y metadatos sobre el trato que hay que dar a un nodo siendo

Tiacutetulo El tiacutetulo que deseamos para el nodo Pe ldquoBienvenidos a esta paacutegina webrdquo

Status El estado en el que se encuentra un nodo Pe ldquo1rdquo equivale a publicado

Created La fecha de creacioacuten en formato ldquotimestamprdquo Pe ldquo1185656627rdquo

Changed Fecha de modificacioacuten en formato ldquotimestamprdquo Pe ldquo1188946434rdquo

Comment Nuacutemero de comentarios Pe ldquo3rdquo

Promote Si debe ser ldquodestacado en portadardquo (frontpage) Pe ldquo1rdquo indica promocionado

Moderate Si debe ser moderado antes de publicarse Pe ldquo0rdquo equivale a no moderado

Sticky Si debe destacarse en los listados Pe ldquo1rdquo muestra el nodo con mayor relevancia

La documentacioacuten oficial de Drupal ofrece un incompleto pero didaacutectico diagrama geneacuterico

doacutende observamos las principales relaciones entre la entidad nodo y las tablas vinculadas

Fig 3 Las principales relaciones de la entidad [node]Fuente Documentacioacuten oficial de Drupal

En el diagrama podemos observar relaciones 1n entre ldquonoderdquo y ldquonode_revisionsrdquo o ldquonoderdquo y

ldquocommentsrdquo La primera relacioacuten permite (como hemos comentado) almacenar las distintas

revisiones de un nodo mientras que en el segundo caso se define un viacutenculo de ldquouno-a-

muchosrdquo entre los nodos y los comentarios que sobre ese nodo se realicen

El resto de relaciones son 11 y ofrecen informacioacuten estadiacutestica (contador de visitas estadiacutesticas

sobre los comentarios) o de control de acceso (node_access)

Para completar este diagrama debemos volver a la tabla ldquonoderdquo doacutende podemos ver que los

atributos ldquouidrdquo y ldquotyperdquo son claves foraacuteneas (FK) que mantienen en el primer caso una relacioacuten

1n entre los usuarios y los nodos creados (uid) y nos permiten conocer al autor del nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 10

El atributo ldquotyperdquo por otro lado establece otra relacioacuten 1n entre la entidad ldquonode_typerdquo y ldquonoderdquo

(type) siendo ldquonode_typerdquo la encargada de ampliar el elemento nodo con nuevos atributos

compartidos entre todos los nodos del mismo tipo

Fig 4 La entidad [node_type] y su relacioacuten con [node]

Como vemos en esta seccioacuten ampliada del diagrama la tabla ldquonode_typerdquo define una clave

primaria en ldquotyperdquo y contiene informacioacuten adicional del nodo que nos permite conocer ldquosi el nodo

ha sido creado por alguacuten moacutedulordquo (module) ldquosi el nodo debe incorporar un tiacutetulo yo un cuerpo de

textordquo (has_title y has_body respectivamente) ldquosi el nodo ha sido creado a medida mediante

CCKrdquo (custom) una breve descripcioacuten para uso administrativo (description) un texto de ayuda que

se mostraraacute al usuario para que se asegure de si ese es el tipo de contenido que desea crear etc

(ver Diccionario de Datos para detalles)

La combinacioacuten de estas dos entidades nos permite gestionar elementos de contenido simple

pero los datos que esta unidad abstracta de contenido seria capaz de contener se limita a un tiacutetulo

y un cuerpo de texto

Aunque eficaz para mantener nodos como las ldquopaacuteginas webrdquo (page) ldquonoticias o blogsrdquo (story) o

otras sencillas unidades de contenido resulta claramente insuficiente si el nodo exige estructurar

maacutes informacioacuten que la mencionada

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 11

Tal y como hemos comentado en la introduccioacuten el moacutedulo CCK (Content Construction Kit) nos

permite ampliar los campos asociados a un nodo y genera las tablas necesarias para mantener

nuevos datos

Veamos entonces los efectos que produce en la base de datos de Drupal el crear mediante CCK

un nuevo nodo (o ldquotipo de contenidordquo) como podriacutea ser el nodo ldquoactuacioacutenrdquo (propio de ldquoCoyote

Applicationrdquo)

Fig 5 La entidad [content_type_actuacion] y su relacioacuten con [node]

Como vemos CCK genera una nueva entidad (content_type_actuacion) para contener aquellos

atributos especiacuteficos del nuevo nodo definiendo desde la tabla ldquonoderdquo una relacioacuten 1n que

mantiene el modelo de base de datos normalizado

Para el caso de Coyote Application ldquocontent_type_actuacionrdquo incluye todos los atributos que se

muestran en el formulario de entrada de actuacioacuten como de seleccioacuten simple a excepcioacuten por

supuesto del tiacutetulo y el cuerpo de texto que se almacenan en ldquonode_revisionsrdquo

El resto de atributos para garantizar que los datos se conservan segmentados y que la base de

datos mantiene su normalizacioacuten se almacenan en tablas externas que llevan por nombre

ldquocontent_field_xxrdquo (doacutende ldquoxxrdquo coincide con el nombre del campo creado) y que definen una

relacioacuten 1n con ldquocontent_type_actuacionrdquo

La excepcioacuten a esta regla la encontramos en el atributo ldquofield_actuacion_accion_social_e_nidrdquo

que establece una relacioacuten ya no entre el nodo y uno de sus valores sino entre dos nodos

conservando en los nodos ldquoactuacioacutenrdquo el ldquonidrdquo del nodo ldquoaccioacuten socialrdquo con el que se relaciona

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 5: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 5

Uno de estos moacutedulos posiblemente el maacutes famoso de ellos responde a las siglas de ldquoCCKrdquo

(Content Construction Kit2) y resulta de suma importancia para este estudio pues es el encargado

de crear las entidades doacutende almacenaremos los nuevos tipos de Nodos Este moacutedulo normaliza

las tablas creando muacuteltiples entidades cuando el atributo puede tomar varios valores o cuando se

asignan campos del mismo tipo semaacutentico en distintos nodos (semantic meaning) y unifica los

atributos en una sola tabla cuando las propiedades del nodo son uacutenicas

Conscientes de que toda migracioacuten de una aplicacioacuten a un nuevo contexto obliga a hacer expliacutecito

su modelo de datos para su comprensioacuten y sobre todo para permitir que la nueva plataforma

conserve la informacioacuten ya almacenada el siguiente informe

1 Detalla el modelo de datos de Drupal 57 en el contexto concreto de la aplicacioacuten ldquoCoyote

Applicationrdquo de ACME Inc

2 Y plantea varias propuestas de migracioacuten a Oracle el gestor de base de datos institucional

de ACME Inc

Cabe comentar que la versioacuten 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 57 no

hace uso de ellas

Asiacute pues las relaciones entre entidades las establece la loacutegica de la aplicacioacuten y no la base

de datos que actuacutea como mero repositorio consultado y actualizado en base a los iacutendices y las

restricciones en los atributos de las entidades

Este informe describe de manera general estas relaciones entre tablas mediante Diagramas

Entidad-Relacioacuten y presenta los atributos de estas exhibiendo el Diccionario de Datos de

Drupal Dado el propoacutesito de este documento en todo momento se hace especial hincapieacute en los

datos y estructuras de ldquoCoyote Applicationrdquo que deben ser trasladados al nuevo sistema

Para este anaacutelisis se han empleado herramientas de ingenieriacutea inversa como DBDesigner (de

Fabforce) que facilitan la extraccioacuten de relaciones entre iacutendices primarios y foraacuteneos en base a

sus nomenclaturas y datos

Esta primera extraccioacuten ha sido profundamente estudiada y contrastada por nuestros expertos y

enriquecida con la documentacioacuten previamente suministrada por algunos desarrolladores de la

comunidad de Drupal

2 El artiacuteculo de difusioacuten de Robert Duglas en ldquoWhat is the Content Construction Kit A View from the Databaserdquo permite una primera aproximacioacuten a los CCK y su efecto en la base de datos Fuente on-line httpwwwlullabotcomarticlesan_introduction_to_the_content_construction_kit

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 6

Modelo de Datos de Drupal

Ryan Constantine desarrollador y consultor de Drupal realizoacute en el 2007 un estudio similar al que

se plantea en este documento ofreciendo el siguiente diagrama entidad-relacioacuten para la versioacuten

57 del aplicativo3

Fig 1 Diagrama ER de Drupal 57 por Rayan ConstantineFuente original httpdrupalorgfilesissuesDrupal5RC1_Database_0png

Rayan acompantildeaba este diagrama con la siguiente leyenda

Gris Tablas sin relaciones

Puacuterpura Tablas con archivos de instalacioacuten independientes que no enlazan con la tabla NODE

Azul ciacutean Tablas relacionadas con la gestioacuten de teacuterminos

Rosa claroPuacuterpura Tablas para la gestioacuten de vocabularios

Rosa brillante Tablas para la gestioacuten de filtros

Azul Tablas para el control de permisos

Marroacuten claro Tablas con archivos de instalacioacuten independientes que no enlazan con al tabla NODE

Verde Tablas del nuacutecleo que originan claves primarias (autoincrementadas en esta tabla y usadas

como claves foraacuteneas en otras)

Amarillo Tablas del nuacutecleo que usan claves foraacuteneas como sus claves primarias

3 Discusioacuten de Rayan Constantine con la comunidad Drupal httpdrupalorgnode79874

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 7

La agrupacioacuten de Rayan4 desvela los cinco grupos de tablas sobre las trabaja Drupal que ofrecen

una buena primera aproximacioacuten al modelo

Nodos Que mantienen datos sobre el contenido a gestionar

Vocabularios Que permite asociar taxonomiacuteas a los contenidos (nodos)

Usuarios y permisos Con datos sobre los usuarios del sistema sus roles y sus permisos

Cache Para agilizar la creacioacuten de contenidos dinaacutemicos mediante su reutilizacioacuten

Otros Con datos de distinta iacutendole sobre y para el correcto funcionamiento del sistema

Para mayor claridad en las siguientes paacuteginas analizamos cada uno de estos bloques por

separado

4 Hasta la versioacuten 6 han surgido varios esfuerzos por mantener documentado el modelo de datos de Drupal como por ejemplohttpcvsdrupalorgviewvcpydrupalcontributionsdocsdeveloperdatabase httpwebdevgeekscomschemaspytablesnodehtml httpdrupalorgnode22754 Pero histoacutericamente han resultado un fracaso porque Drupal para no depender de ninguacuten gestor en concreto abstrae la base de datos y el modelo se debiacutea mantener de forma independienteA partir de Drupal 6 se incluye la funcioacuten ldquohook_schemardquo (y el moacutedulo schema) obligando a los programadores del nuacutecleo y de los moacutedulos de terceros a definir y describir sus tablas con el mismo rigor con el que deben describir sus APIs Este cambio garantiza un futuro prometedor con un modelo de datos completamente documentado y siempre actualizado

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 8

Diagrama EntidadshyRelacioacuten

En este apartado se expone del diagrama ER de la aplicacioacuten de manera fraccionada para ofrecer

asiacute una visioacuten didaacutectica y detallada La primera seccioacuten describe la tabla Nodo y sus relaciones

para continuar con el grupo de tablas de Vocabularios seguir con la gestioacuten de Usuarios y concluir

con Otras tablas que consideramos meritorias de mencioacuten Se obvia intencionadamente el grupo

de tablas de Cache dado el nulo intereacutes hacia estas en un proceso de migracioacuten

Las tablas de Nodos

Tal y como hemos comentado en la introduccioacuten Drupal se podriacutea describir como un ldquoGestor de

Nodosrdquo Asiacute pues la tabla ldquonoderdquo es de vital importancia para este CMF ya que contiene la

informacioacuten baacutesica y comuacuten a todo contenido siendo el origen y destino de la mayoriacutea de

operaciones que el CMF realiza

Fig 2 La entidad [node]

Como vemos en este primer diagrama nodos contienen un identificador uacutenico (nid) y un

identificador de versioacuten (vid) que constituyen la clave primaria de la tabla Esta tabla soacutelo

almacena la versioacuten vigente del nodo mientras que vid (en aquellos casos en los que el nodo

requiere de gestioacuten de versiones) nos permitiraacute acceder al histoacuterico de revisiones (node_revisions)

y a los atributos especiacuteficos (content_xx) del nodo

Describiremos ambas relaciones en puntos posteriores para centrarnos ahora en los atributos de

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 9

esta entidad que contiene datos y metadatos sobre el trato que hay que dar a un nodo siendo

Tiacutetulo El tiacutetulo que deseamos para el nodo Pe ldquoBienvenidos a esta paacutegina webrdquo

Status El estado en el que se encuentra un nodo Pe ldquo1rdquo equivale a publicado

Created La fecha de creacioacuten en formato ldquotimestamprdquo Pe ldquo1185656627rdquo

Changed Fecha de modificacioacuten en formato ldquotimestamprdquo Pe ldquo1188946434rdquo

Comment Nuacutemero de comentarios Pe ldquo3rdquo

Promote Si debe ser ldquodestacado en portadardquo (frontpage) Pe ldquo1rdquo indica promocionado

Moderate Si debe ser moderado antes de publicarse Pe ldquo0rdquo equivale a no moderado

Sticky Si debe destacarse en los listados Pe ldquo1rdquo muestra el nodo con mayor relevancia

La documentacioacuten oficial de Drupal ofrece un incompleto pero didaacutectico diagrama geneacuterico

doacutende observamos las principales relaciones entre la entidad nodo y las tablas vinculadas

Fig 3 Las principales relaciones de la entidad [node]Fuente Documentacioacuten oficial de Drupal

En el diagrama podemos observar relaciones 1n entre ldquonoderdquo y ldquonode_revisionsrdquo o ldquonoderdquo y

ldquocommentsrdquo La primera relacioacuten permite (como hemos comentado) almacenar las distintas

revisiones de un nodo mientras que en el segundo caso se define un viacutenculo de ldquouno-a-

muchosrdquo entre los nodos y los comentarios que sobre ese nodo se realicen

El resto de relaciones son 11 y ofrecen informacioacuten estadiacutestica (contador de visitas estadiacutesticas

sobre los comentarios) o de control de acceso (node_access)

Para completar este diagrama debemos volver a la tabla ldquonoderdquo doacutende podemos ver que los

atributos ldquouidrdquo y ldquotyperdquo son claves foraacuteneas (FK) que mantienen en el primer caso una relacioacuten

1n entre los usuarios y los nodos creados (uid) y nos permiten conocer al autor del nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 10

El atributo ldquotyperdquo por otro lado establece otra relacioacuten 1n entre la entidad ldquonode_typerdquo y ldquonoderdquo

(type) siendo ldquonode_typerdquo la encargada de ampliar el elemento nodo con nuevos atributos

compartidos entre todos los nodos del mismo tipo

Fig 4 La entidad [node_type] y su relacioacuten con [node]

Como vemos en esta seccioacuten ampliada del diagrama la tabla ldquonode_typerdquo define una clave

primaria en ldquotyperdquo y contiene informacioacuten adicional del nodo que nos permite conocer ldquosi el nodo

ha sido creado por alguacuten moacutedulordquo (module) ldquosi el nodo debe incorporar un tiacutetulo yo un cuerpo de

textordquo (has_title y has_body respectivamente) ldquosi el nodo ha sido creado a medida mediante

CCKrdquo (custom) una breve descripcioacuten para uso administrativo (description) un texto de ayuda que

se mostraraacute al usuario para que se asegure de si ese es el tipo de contenido que desea crear etc

(ver Diccionario de Datos para detalles)

La combinacioacuten de estas dos entidades nos permite gestionar elementos de contenido simple

pero los datos que esta unidad abstracta de contenido seria capaz de contener se limita a un tiacutetulo

y un cuerpo de texto

Aunque eficaz para mantener nodos como las ldquopaacuteginas webrdquo (page) ldquonoticias o blogsrdquo (story) o

otras sencillas unidades de contenido resulta claramente insuficiente si el nodo exige estructurar

maacutes informacioacuten que la mencionada

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 11

Tal y como hemos comentado en la introduccioacuten el moacutedulo CCK (Content Construction Kit) nos

permite ampliar los campos asociados a un nodo y genera las tablas necesarias para mantener

nuevos datos

Veamos entonces los efectos que produce en la base de datos de Drupal el crear mediante CCK

un nuevo nodo (o ldquotipo de contenidordquo) como podriacutea ser el nodo ldquoactuacioacutenrdquo (propio de ldquoCoyote

Applicationrdquo)

Fig 5 La entidad [content_type_actuacion] y su relacioacuten con [node]

Como vemos CCK genera una nueva entidad (content_type_actuacion) para contener aquellos

atributos especiacuteficos del nuevo nodo definiendo desde la tabla ldquonoderdquo una relacioacuten 1n que

mantiene el modelo de base de datos normalizado

Para el caso de Coyote Application ldquocontent_type_actuacionrdquo incluye todos los atributos que se

muestran en el formulario de entrada de actuacioacuten como de seleccioacuten simple a excepcioacuten por

supuesto del tiacutetulo y el cuerpo de texto que se almacenan en ldquonode_revisionsrdquo

El resto de atributos para garantizar que los datos se conservan segmentados y que la base de

datos mantiene su normalizacioacuten se almacenan en tablas externas que llevan por nombre

ldquocontent_field_xxrdquo (doacutende ldquoxxrdquo coincide con el nombre del campo creado) y que definen una

relacioacuten 1n con ldquocontent_type_actuacionrdquo

La excepcioacuten a esta regla la encontramos en el atributo ldquofield_actuacion_accion_social_e_nidrdquo

que establece una relacioacuten ya no entre el nodo y uno de sus valores sino entre dos nodos

conservando en los nodos ldquoactuacioacutenrdquo el ldquonidrdquo del nodo ldquoaccioacuten socialrdquo con el que se relaciona

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 6: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 6

Modelo de Datos de Drupal

Ryan Constantine desarrollador y consultor de Drupal realizoacute en el 2007 un estudio similar al que

se plantea en este documento ofreciendo el siguiente diagrama entidad-relacioacuten para la versioacuten

57 del aplicativo3

Fig 1 Diagrama ER de Drupal 57 por Rayan ConstantineFuente original httpdrupalorgfilesissuesDrupal5RC1_Database_0png

Rayan acompantildeaba este diagrama con la siguiente leyenda

Gris Tablas sin relaciones

Puacuterpura Tablas con archivos de instalacioacuten independientes que no enlazan con la tabla NODE

Azul ciacutean Tablas relacionadas con la gestioacuten de teacuterminos

Rosa claroPuacuterpura Tablas para la gestioacuten de vocabularios

Rosa brillante Tablas para la gestioacuten de filtros

Azul Tablas para el control de permisos

Marroacuten claro Tablas con archivos de instalacioacuten independientes que no enlazan con al tabla NODE

Verde Tablas del nuacutecleo que originan claves primarias (autoincrementadas en esta tabla y usadas

como claves foraacuteneas en otras)

Amarillo Tablas del nuacutecleo que usan claves foraacuteneas como sus claves primarias

3 Discusioacuten de Rayan Constantine con la comunidad Drupal httpdrupalorgnode79874

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 7

La agrupacioacuten de Rayan4 desvela los cinco grupos de tablas sobre las trabaja Drupal que ofrecen

una buena primera aproximacioacuten al modelo

Nodos Que mantienen datos sobre el contenido a gestionar

Vocabularios Que permite asociar taxonomiacuteas a los contenidos (nodos)

Usuarios y permisos Con datos sobre los usuarios del sistema sus roles y sus permisos

Cache Para agilizar la creacioacuten de contenidos dinaacutemicos mediante su reutilizacioacuten

Otros Con datos de distinta iacutendole sobre y para el correcto funcionamiento del sistema

Para mayor claridad en las siguientes paacuteginas analizamos cada uno de estos bloques por

separado

4 Hasta la versioacuten 6 han surgido varios esfuerzos por mantener documentado el modelo de datos de Drupal como por ejemplohttpcvsdrupalorgviewvcpydrupalcontributionsdocsdeveloperdatabase httpwebdevgeekscomschemaspytablesnodehtml httpdrupalorgnode22754 Pero histoacutericamente han resultado un fracaso porque Drupal para no depender de ninguacuten gestor en concreto abstrae la base de datos y el modelo se debiacutea mantener de forma independienteA partir de Drupal 6 se incluye la funcioacuten ldquohook_schemardquo (y el moacutedulo schema) obligando a los programadores del nuacutecleo y de los moacutedulos de terceros a definir y describir sus tablas con el mismo rigor con el que deben describir sus APIs Este cambio garantiza un futuro prometedor con un modelo de datos completamente documentado y siempre actualizado

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 8

Diagrama EntidadshyRelacioacuten

En este apartado se expone del diagrama ER de la aplicacioacuten de manera fraccionada para ofrecer

asiacute una visioacuten didaacutectica y detallada La primera seccioacuten describe la tabla Nodo y sus relaciones

para continuar con el grupo de tablas de Vocabularios seguir con la gestioacuten de Usuarios y concluir

con Otras tablas que consideramos meritorias de mencioacuten Se obvia intencionadamente el grupo

de tablas de Cache dado el nulo intereacutes hacia estas en un proceso de migracioacuten

Las tablas de Nodos

Tal y como hemos comentado en la introduccioacuten Drupal se podriacutea describir como un ldquoGestor de

Nodosrdquo Asiacute pues la tabla ldquonoderdquo es de vital importancia para este CMF ya que contiene la

informacioacuten baacutesica y comuacuten a todo contenido siendo el origen y destino de la mayoriacutea de

operaciones que el CMF realiza

Fig 2 La entidad [node]

Como vemos en este primer diagrama nodos contienen un identificador uacutenico (nid) y un

identificador de versioacuten (vid) que constituyen la clave primaria de la tabla Esta tabla soacutelo

almacena la versioacuten vigente del nodo mientras que vid (en aquellos casos en los que el nodo

requiere de gestioacuten de versiones) nos permitiraacute acceder al histoacuterico de revisiones (node_revisions)

y a los atributos especiacuteficos (content_xx) del nodo

Describiremos ambas relaciones en puntos posteriores para centrarnos ahora en los atributos de

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 9

esta entidad que contiene datos y metadatos sobre el trato que hay que dar a un nodo siendo

Tiacutetulo El tiacutetulo que deseamos para el nodo Pe ldquoBienvenidos a esta paacutegina webrdquo

Status El estado en el que se encuentra un nodo Pe ldquo1rdquo equivale a publicado

Created La fecha de creacioacuten en formato ldquotimestamprdquo Pe ldquo1185656627rdquo

Changed Fecha de modificacioacuten en formato ldquotimestamprdquo Pe ldquo1188946434rdquo

Comment Nuacutemero de comentarios Pe ldquo3rdquo

Promote Si debe ser ldquodestacado en portadardquo (frontpage) Pe ldquo1rdquo indica promocionado

Moderate Si debe ser moderado antes de publicarse Pe ldquo0rdquo equivale a no moderado

Sticky Si debe destacarse en los listados Pe ldquo1rdquo muestra el nodo con mayor relevancia

La documentacioacuten oficial de Drupal ofrece un incompleto pero didaacutectico diagrama geneacuterico

doacutende observamos las principales relaciones entre la entidad nodo y las tablas vinculadas

Fig 3 Las principales relaciones de la entidad [node]Fuente Documentacioacuten oficial de Drupal

En el diagrama podemos observar relaciones 1n entre ldquonoderdquo y ldquonode_revisionsrdquo o ldquonoderdquo y

ldquocommentsrdquo La primera relacioacuten permite (como hemos comentado) almacenar las distintas

revisiones de un nodo mientras que en el segundo caso se define un viacutenculo de ldquouno-a-

muchosrdquo entre los nodos y los comentarios que sobre ese nodo se realicen

El resto de relaciones son 11 y ofrecen informacioacuten estadiacutestica (contador de visitas estadiacutesticas

sobre los comentarios) o de control de acceso (node_access)

Para completar este diagrama debemos volver a la tabla ldquonoderdquo doacutende podemos ver que los

atributos ldquouidrdquo y ldquotyperdquo son claves foraacuteneas (FK) que mantienen en el primer caso una relacioacuten

1n entre los usuarios y los nodos creados (uid) y nos permiten conocer al autor del nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 10

El atributo ldquotyperdquo por otro lado establece otra relacioacuten 1n entre la entidad ldquonode_typerdquo y ldquonoderdquo

(type) siendo ldquonode_typerdquo la encargada de ampliar el elemento nodo con nuevos atributos

compartidos entre todos los nodos del mismo tipo

Fig 4 La entidad [node_type] y su relacioacuten con [node]

Como vemos en esta seccioacuten ampliada del diagrama la tabla ldquonode_typerdquo define una clave

primaria en ldquotyperdquo y contiene informacioacuten adicional del nodo que nos permite conocer ldquosi el nodo

ha sido creado por alguacuten moacutedulordquo (module) ldquosi el nodo debe incorporar un tiacutetulo yo un cuerpo de

textordquo (has_title y has_body respectivamente) ldquosi el nodo ha sido creado a medida mediante

CCKrdquo (custom) una breve descripcioacuten para uso administrativo (description) un texto de ayuda que

se mostraraacute al usuario para que se asegure de si ese es el tipo de contenido que desea crear etc

(ver Diccionario de Datos para detalles)

La combinacioacuten de estas dos entidades nos permite gestionar elementos de contenido simple

pero los datos que esta unidad abstracta de contenido seria capaz de contener se limita a un tiacutetulo

y un cuerpo de texto

Aunque eficaz para mantener nodos como las ldquopaacuteginas webrdquo (page) ldquonoticias o blogsrdquo (story) o

otras sencillas unidades de contenido resulta claramente insuficiente si el nodo exige estructurar

maacutes informacioacuten que la mencionada

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 11

Tal y como hemos comentado en la introduccioacuten el moacutedulo CCK (Content Construction Kit) nos

permite ampliar los campos asociados a un nodo y genera las tablas necesarias para mantener

nuevos datos

Veamos entonces los efectos que produce en la base de datos de Drupal el crear mediante CCK

un nuevo nodo (o ldquotipo de contenidordquo) como podriacutea ser el nodo ldquoactuacioacutenrdquo (propio de ldquoCoyote

Applicationrdquo)

Fig 5 La entidad [content_type_actuacion] y su relacioacuten con [node]

Como vemos CCK genera una nueva entidad (content_type_actuacion) para contener aquellos

atributos especiacuteficos del nuevo nodo definiendo desde la tabla ldquonoderdquo una relacioacuten 1n que

mantiene el modelo de base de datos normalizado

Para el caso de Coyote Application ldquocontent_type_actuacionrdquo incluye todos los atributos que se

muestran en el formulario de entrada de actuacioacuten como de seleccioacuten simple a excepcioacuten por

supuesto del tiacutetulo y el cuerpo de texto que se almacenan en ldquonode_revisionsrdquo

El resto de atributos para garantizar que los datos se conservan segmentados y que la base de

datos mantiene su normalizacioacuten se almacenan en tablas externas que llevan por nombre

ldquocontent_field_xxrdquo (doacutende ldquoxxrdquo coincide con el nombre del campo creado) y que definen una

relacioacuten 1n con ldquocontent_type_actuacionrdquo

La excepcioacuten a esta regla la encontramos en el atributo ldquofield_actuacion_accion_social_e_nidrdquo

que establece una relacioacuten ya no entre el nodo y uno de sus valores sino entre dos nodos

conservando en los nodos ldquoactuacioacutenrdquo el ldquonidrdquo del nodo ldquoaccioacuten socialrdquo con el que se relaciona

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 7: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 7

La agrupacioacuten de Rayan4 desvela los cinco grupos de tablas sobre las trabaja Drupal que ofrecen

una buena primera aproximacioacuten al modelo

Nodos Que mantienen datos sobre el contenido a gestionar

Vocabularios Que permite asociar taxonomiacuteas a los contenidos (nodos)

Usuarios y permisos Con datos sobre los usuarios del sistema sus roles y sus permisos

Cache Para agilizar la creacioacuten de contenidos dinaacutemicos mediante su reutilizacioacuten

Otros Con datos de distinta iacutendole sobre y para el correcto funcionamiento del sistema

Para mayor claridad en las siguientes paacuteginas analizamos cada uno de estos bloques por

separado

4 Hasta la versioacuten 6 han surgido varios esfuerzos por mantener documentado el modelo de datos de Drupal como por ejemplohttpcvsdrupalorgviewvcpydrupalcontributionsdocsdeveloperdatabase httpwebdevgeekscomschemaspytablesnodehtml httpdrupalorgnode22754 Pero histoacutericamente han resultado un fracaso porque Drupal para no depender de ninguacuten gestor en concreto abstrae la base de datos y el modelo se debiacutea mantener de forma independienteA partir de Drupal 6 se incluye la funcioacuten ldquohook_schemardquo (y el moacutedulo schema) obligando a los programadores del nuacutecleo y de los moacutedulos de terceros a definir y describir sus tablas con el mismo rigor con el que deben describir sus APIs Este cambio garantiza un futuro prometedor con un modelo de datos completamente documentado y siempre actualizado

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 8

Diagrama EntidadshyRelacioacuten

En este apartado se expone del diagrama ER de la aplicacioacuten de manera fraccionada para ofrecer

asiacute una visioacuten didaacutectica y detallada La primera seccioacuten describe la tabla Nodo y sus relaciones

para continuar con el grupo de tablas de Vocabularios seguir con la gestioacuten de Usuarios y concluir

con Otras tablas que consideramos meritorias de mencioacuten Se obvia intencionadamente el grupo

de tablas de Cache dado el nulo intereacutes hacia estas en un proceso de migracioacuten

Las tablas de Nodos

Tal y como hemos comentado en la introduccioacuten Drupal se podriacutea describir como un ldquoGestor de

Nodosrdquo Asiacute pues la tabla ldquonoderdquo es de vital importancia para este CMF ya que contiene la

informacioacuten baacutesica y comuacuten a todo contenido siendo el origen y destino de la mayoriacutea de

operaciones que el CMF realiza

Fig 2 La entidad [node]

Como vemos en este primer diagrama nodos contienen un identificador uacutenico (nid) y un

identificador de versioacuten (vid) que constituyen la clave primaria de la tabla Esta tabla soacutelo

almacena la versioacuten vigente del nodo mientras que vid (en aquellos casos en los que el nodo

requiere de gestioacuten de versiones) nos permitiraacute acceder al histoacuterico de revisiones (node_revisions)

y a los atributos especiacuteficos (content_xx) del nodo

Describiremos ambas relaciones en puntos posteriores para centrarnos ahora en los atributos de

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 9

esta entidad que contiene datos y metadatos sobre el trato que hay que dar a un nodo siendo

Tiacutetulo El tiacutetulo que deseamos para el nodo Pe ldquoBienvenidos a esta paacutegina webrdquo

Status El estado en el que se encuentra un nodo Pe ldquo1rdquo equivale a publicado

Created La fecha de creacioacuten en formato ldquotimestamprdquo Pe ldquo1185656627rdquo

Changed Fecha de modificacioacuten en formato ldquotimestamprdquo Pe ldquo1188946434rdquo

Comment Nuacutemero de comentarios Pe ldquo3rdquo

Promote Si debe ser ldquodestacado en portadardquo (frontpage) Pe ldquo1rdquo indica promocionado

Moderate Si debe ser moderado antes de publicarse Pe ldquo0rdquo equivale a no moderado

Sticky Si debe destacarse en los listados Pe ldquo1rdquo muestra el nodo con mayor relevancia

La documentacioacuten oficial de Drupal ofrece un incompleto pero didaacutectico diagrama geneacuterico

doacutende observamos las principales relaciones entre la entidad nodo y las tablas vinculadas

Fig 3 Las principales relaciones de la entidad [node]Fuente Documentacioacuten oficial de Drupal

En el diagrama podemos observar relaciones 1n entre ldquonoderdquo y ldquonode_revisionsrdquo o ldquonoderdquo y

ldquocommentsrdquo La primera relacioacuten permite (como hemos comentado) almacenar las distintas

revisiones de un nodo mientras que en el segundo caso se define un viacutenculo de ldquouno-a-

muchosrdquo entre los nodos y los comentarios que sobre ese nodo se realicen

El resto de relaciones son 11 y ofrecen informacioacuten estadiacutestica (contador de visitas estadiacutesticas

sobre los comentarios) o de control de acceso (node_access)

Para completar este diagrama debemos volver a la tabla ldquonoderdquo doacutende podemos ver que los

atributos ldquouidrdquo y ldquotyperdquo son claves foraacuteneas (FK) que mantienen en el primer caso una relacioacuten

1n entre los usuarios y los nodos creados (uid) y nos permiten conocer al autor del nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 10

El atributo ldquotyperdquo por otro lado establece otra relacioacuten 1n entre la entidad ldquonode_typerdquo y ldquonoderdquo

(type) siendo ldquonode_typerdquo la encargada de ampliar el elemento nodo con nuevos atributos

compartidos entre todos los nodos del mismo tipo

Fig 4 La entidad [node_type] y su relacioacuten con [node]

Como vemos en esta seccioacuten ampliada del diagrama la tabla ldquonode_typerdquo define una clave

primaria en ldquotyperdquo y contiene informacioacuten adicional del nodo que nos permite conocer ldquosi el nodo

ha sido creado por alguacuten moacutedulordquo (module) ldquosi el nodo debe incorporar un tiacutetulo yo un cuerpo de

textordquo (has_title y has_body respectivamente) ldquosi el nodo ha sido creado a medida mediante

CCKrdquo (custom) una breve descripcioacuten para uso administrativo (description) un texto de ayuda que

se mostraraacute al usuario para que se asegure de si ese es el tipo de contenido que desea crear etc

(ver Diccionario de Datos para detalles)

La combinacioacuten de estas dos entidades nos permite gestionar elementos de contenido simple

pero los datos que esta unidad abstracta de contenido seria capaz de contener se limita a un tiacutetulo

y un cuerpo de texto

Aunque eficaz para mantener nodos como las ldquopaacuteginas webrdquo (page) ldquonoticias o blogsrdquo (story) o

otras sencillas unidades de contenido resulta claramente insuficiente si el nodo exige estructurar

maacutes informacioacuten que la mencionada

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 11

Tal y como hemos comentado en la introduccioacuten el moacutedulo CCK (Content Construction Kit) nos

permite ampliar los campos asociados a un nodo y genera las tablas necesarias para mantener

nuevos datos

Veamos entonces los efectos que produce en la base de datos de Drupal el crear mediante CCK

un nuevo nodo (o ldquotipo de contenidordquo) como podriacutea ser el nodo ldquoactuacioacutenrdquo (propio de ldquoCoyote

Applicationrdquo)

Fig 5 La entidad [content_type_actuacion] y su relacioacuten con [node]

Como vemos CCK genera una nueva entidad (content_type_actuacion) para contener aquellos

atributos especiacuteficos del nuevo nodo definiendo desde la tabla ldquonoderdquo una relacioacuten 1n que

mantiene el modelo de base de datos normalizado

Para el caso de Coyote Application ldquocontent_type_actuacionrdquo incluye todos los atributos que se

muestran en el formulario de entrada de actuacioacuten como de seleccioacuten simple a excepcioacuten por

supuesto del tiacutetulo y el cuerpo de texto que se almacenan en ldquonode_revisionsrdquo

El resto de atributos para garantizar que los datos se conservan segmentados y que la base de

datos mantiene su normalizacioacuten se almacenan en tablas externas que llevan por nombre

ldquocontent_field_xxrdquo (doacutende ldquoxxrdquo coincide con el nombre del campo creado) y que definen una

relacioacuten 1n con ldquocontent_type_actuacionrdquo

La excepcioacuten a esta regla la encontramos en el atributo ldquofield_actuacion_accion_social_e_nidrdquo

que establece una relacioacuten ya no entre el nodo y uno de sus valores sino entre dos nodos

conservando en los nodos ldquoactuacioacutenrdquo el ldquonidrdquo del nodo ldquoaccioacuten socialrdquo con el que se relaciona

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 8: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 8

Diagrama EntidadshyRelacioacuten

En este apartado se expone del diagrama ER de la aplicacioacuten de manera fraccionada para ofrecer

asiacute una visioacuten didaacutectica y detallada La primera seccioacuten describe la tabla Nodo y sus relaciones

para continuar con el grupo de tablas de Vocabularios seguir con la gestioacuten de Usuarios y concluir

con Otras tablas que consideramos meritorias de mencioacuten Se obvia intencionadamente el grupo

de tablas de Cache dado el nulo intereacutes hacia estas en un proceso de migracioacuten

Las tablas de Nodos

Tal y como hemos comentado en la introduccioacuten Drupal se podriacutea describir como un ldquoGestor de

Nodosrdquo Asiacute pues la tabla ldquonoderdquo es de vital importancia para este CMF ya que contiene la

informacioacuten baacutesica y comuacuten a todo contenido siendo el origen y destino de la mayoriacutea de

operaciones que el CMF realiza

Fig 2 La entidad [node]

Como vemos en este primer diagrama nodos contienen un identificador uacutenico (nid) y un

identificador de versioacuten (vid) que constituyen la clave primaria de la tabla Esta tabla soacutelo

almacena la versioacuten vigente del nodo mientras que vid (en aquellos casos en los que el nodo

requiere de gestioacuten de versiones) nos permitiraacute acceder al histoacuterico de revisiones (node_revisions)

y a los atributos especiacuteficos (content_xx) del nodo

Describiremos ambas relaciones en puntos posteriores para centrarnos ahora en los atributos de

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 9

esta entidad que contiene datos y metadatos sobre el trato que hay que dar a un nodo siendo

Tiacutetulo El tiacutetulo que deseamos para el nodo Pe ldquoBienvenidos a esta paacutegina webrdquo

Status El estado en el que se encuentra un nodo Pe ldquo1rdquo equivale a publicado

Created La fecha de creacioacuten en formato ldquotimestamprdquo Pe ldquo1185656627rdquo

Changed Fecha de modificacioacuten en formato ldquotimestamprdquo Pe ldquo1188946434rdquo

Comment Nuacutemero de comentarios Pe ldquo3rdquo

Promote Si debe ser ldquodestacado en portadardquo (frontpage) Pe ldquo1rdquo indica promocionado

Moderate Si debe ser moderado antes de publicarse Pe ldquo0rdquo equivale a no moderado

Sticky Si debe destacarse en los listados Pe ldquo1rdquo muestra el nodo con mayor relevancia

La documentacioacuten oficial de Drupal ofrece un incompleto pero didaacutectico diagrama geneacuterico

doacutende observamos las principales relaciones entre la entidad nodo y las tablas vinculadas

Fig 3 Las principales relaciones de la entidad [node]Fuente Documentacioacuten oficial de Drupal

En el diagrama podemos observar relaciones 1n entre ldquonoderdquo y ldquonode_revisionsrdquo o ldquonoderdquo y

ldquocommentsrdquo La primera relacioacuten permite (como hemos comentado) almacenar las distintas

revisiones de un nodo mientras que en el segundo caso se define un viacutenculo de ldquouno-a-

muchosrdquo entre los nodos y los comentarios que sobre ese nodo se realicen

El resto de relaciones son 11 y ofrecen informacioacuten estadiacutestica (contador de visitas estadiacutesticas

sobre los comentarios) o de control de acceso (node_access)

Para completar este diagrama debemos volver a la tabla ldquonoderdquo doacutende podemos ver que los

atributos ldquouidrdquo y ldquotyperdquo son claves foraacuteneas (FK) que mantienen en el primer caso una relacioacuten

1n entre los usuarios y los nodos creados (uid) y nos permiten conocer al autor del nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 10

El atributo ldquotyperdquo por otro lado establece otra relacioacuten 1n entre la entidad ldquonode_typerdquo y ldquonoderdquo

(type) siendo ldquonode_typerdquo la encargada de ampliar el elemento nodo con nuevos atributos

compartidos entre todos los nodos del mismo tipo

Fig 4 La entidad [node_type] y su relacioacuten con [node]

Como vemos en esta seccioacuten ampliada del diagrama la tabla ldquonode_typerdquo define una clave

primaria en ldquotyperdquo y contiene informacioacuten adicional del nodo que nos permite conocer ldquosi el nodo

ha sido creado por alguacuten moacutedulordquo (module) ldquosi el nodo debe incorporar un tiacutetulo yo un cuerpo de

textordquo (has_title y has_body respectivamente) ldquosi el nodo ha sido creado a medida mediante

CCKrdquo (custom) una breve descripcioacuten para uso administrativo (description) un texto de ayuda que

se mostraraacute al usuario para que se asegure de si ese es el tipo de contenido que desea crear etc

(ver Diccionario de Datos para detalles)

La combinacioacuten de estas dos entidades nos permite gestionar elementos de contenido simple

pero los datos que esta unidad abstracta de contenido seria capaz de contener se limita a un tiacutetulo

y un cuerpo de texto

Aunque eficaz para mantener nodos como las ldquopaacuteginas webrdquo (page) ldquonoticias o blogsrdquo (story) o

otras sencillas unidades de contenido resulta claramente insuficiente si el nodo exige estructurar

maacutes informacioacuten que la mencionada

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 11

Tal y como hemos comentado en la introduccioacuten el moacutedulo CCK (Content Construction Kit) nos

permite ampliar los campos asociados a un nodo y genera las tablas necesarias para mantener

nuevos datos

Veamos entonces los efectos que produce en la base de datos de Drupal el crear mediante CCK

un nuevo nodo (o ldquotipo de contenidordquo) como podriacutea ser el nodo ldquoactuacioacutenrdquo (propio de ldquoCoyote

Applicationrdquo)

Fig 5 La entidad [content_type_actuacion] y su relacioacuten con [node]

Como vemos CCK genera una nueva entidad (content_type_actuacion) para contener aquellos

atributos especiacuteficos del nuevo nodo definiendo desde la tabla ldquonoderdquo una relacioacuten 1n que

mantiene el modelo de base de datos normalizado

Para el caso de Coyote Application ldquocontent_type_actuacionrdquo incluye todos los atributos que se

muestran en el formulario de entrada de actuacioacuten como de seleccioacuten simple a excepcioacuten por

supuesto del tiacutetulo y el cuerpo de texto que se almacenan en ldquonode_revisionsrdquo

El resto de atributos para garantizar que los datos se conservan segmentados y que la base de

datos mantiene su normalizacioacuten se almacenan en tablas externas que llevan por nombre

ldquocontent_field_xxrdquo (doacutende ldquoxxrdquo coincide con el nombre del campo creado) y que definen una

relacioacuten 1n con ldquocontent_type_actuacionrdquo

La excepcioacuten a esta regla la encontramos en el atributo ldquofield_actuacion_accion_social_e_nidrdquo

que establece una relacioacuten ya no entre el nodo y uno de sus valores sino entre dos nodos

conservando en los nodos ldquoactuacioacutenrdquo el ldquonidrdquo del nodo ldquoaccioacuten socialrdquo con el que se relaciona

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 9: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 9

esta entidad que contiene datos y metadatos sobre el trato que hay que dar a un nodo siendo

Tiacutetulo El tiacutetulo que deseamos para el nodo Pe ldquoBienvenidos a esta paacutegina webrdquo

Status El estado en el que se encuentra un nodo Pe ldquo1rdquo equivale a publicado

Created La fecha de creacioacuten en formato ldquotimestamprdquo Pe ldquo1185656627rdquo

Changed Fecha de modificacioacuten en formato ldquotimestamprdquo Pe ldquo1188946434rdquo

Comment Nuacutemero de comentarios Pe ldquo3rdquo

Promote Si debe ser ldquodestacado en portadardquo (frontpage) Pe ldquo1rdquo indica promocionado

Moderate Si debe ser moderado antes de publicarse Pe ldquo0rdquo equivale a no moderado

Sticky Si debe destacarse en los listados Pe ldquo1rdquo muestra el nodo con mayor relevancia

La documentacioacuten oficial de Drupal ofrece un incompleto pero didaacutectico diagrama geneacuterico

doacutende observamos las principales relaciones entre la entidad nodo y las tablas vinculadas

Fig 3 Las principales relaciones de la entidad [node]Fuente Documentacioacuten oficial de Drupal

En el diagrama podemos observar relaciones 1n entre ldquonoderdquo y ldquonode_revisionsrdquo o ldquonoderdquo y

ldquocommentsrdquo La primera relacioacuten permite (como hemos comentado) almacenar las distintas

revisiones de un nodo mientras que en el segundo caso se define un viacutenculo de ldquouno-a-

muchosrdquo entre los nodos y los comentarios que sobre ese nodo se realicen

El resto de relaciones son 11 y ofrecen informacioacuten estadiacutestica (contador de visitas estadiacutesticas

sobre los comentarios) o de control de acceso (node_access)

Para completar este diagrama debemos volver a la tabla ldquonoderdquo doacutende podemos ver que los

atributos ldquouidrdquo y ldquotyperdquo son claves foraacuteneas (FK) que mantienen en el primer caso una relacioacuten

1n entre los usuarios y los nodos creados (uid) y nos permiten conocer al autor del nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 10

El atributo ldquotyperdquo por otro lado establece otra relacioacuten 1n entre la entidad ldquonode_typerdquo y ldquonoderdquo

(type) siendo ldquonode_typerdquo la encargada de ampliar el elemento nodo con nuevos atributos

compartidos entre todos los nodos del mismo tipo

Fig 4 La entidad [node_type] y su relacioacuten con [node]

Como vemos en esta seccioacuten ampliada del diagrama la tabla ldquonode_typerdquo define una clave

primaria en ldquotyperdquo y contiene informacioacuten adicional del nodo que nos permite conocer ldquosi el nodo

ha sido creado por alguacuten moacutedulordquo (module) ldquosi el nodo debe incorporar un tiacutetulo yo un cuerpo de

textordquo (has_title y has_body respectivamente) ldquosi el nodo ha sido creado a medida mediante

CCKrdquo (custom) una breve descripcioacuten para uso administrativo (description) un texto de ayuda que

se mostraraacute al usuario para que se asegure de si ese es el tipo de contenido que desea crear etc

(ver Diccionario de Datos para detalles)

La combinacioacuten de estas dos entidades nos permite gestionar elementos de contenido simple

pero los datos que esta unidad abstracta de contenido seria capaz de contener se limita a un tiacutetulo

y un cuerpo de texto

Aunque eficaz para mantener nodos como las ldquopaacuteginas webrdquo (page) ldquonoticias o blogsrdquo (story) o

otras sencillas unidades de contenido resulta claramente insuficiente si el nodo exige estructurar

maacutes informacioacuten que la mencionada

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 11

Tal y como hemos comentado en la introduccioacuten el moacutedulo CCK (Content Construction Kit) nos

permite ampliar los campos asociados a un nodo y genera las tablas necesarias para mantener

nuevos datos

Veamos entonces los efectos que produce en la base de datos de Drupal el crear mediante CCK

un nuevo nodo (o ldquotipo de contenidordquo) como podriacutea ser el nodo ldquoactuacioacutenrdquo (propio de ldquoCoyote

Applicationrdquo)

Fig 5 La entidad [content_type_actuacion] y su relacioacuten con [node]

Como vemos CCK genera una nueva entidad (content_type_actuacion) para contener aquellos

atributos especiacuteficos del nuevo nodo definiendo desde la tabla ldquonoderdquo una relacioacuten 1n que

mantiene el modelo de base de datos normalizado

Para el caso de Coyote Application ldquocontent_type_actuacionrdquo incluye todos los atributos que se

muestran en el formulario de entrada de actuacioacuten como de seleccioacuten simple a excepcioacuten por

supuesto del tiacutetulo y el cuerpo de texto que se almacenan en ldquonode_revisionsrdquo

El resto de atributos para garantizar que los datos se conservan segmentados y que la base de

datos mantiene su normalizacioacuten se almacenan en tablas externas que llevan por nombre

ldquocontent_field_xxrdquo (doacutende ldquoxxrdquo coincide con el nombre del campo creado) y que definen una

relacioacuten 1n con ldquocontent_type_actuacionrdquo

La excepcioacuten a esta regla la encontramos en el atributo ldquofield_actuacion_accion_social_e_nidrdquo

que establece una relacioacuten ya no entre el nodo y uno de sus valores sino entre dos nodos

conservando en los nodos ldquoactuacioacutenrdquo el ldquonidrdquo del nodo ldquoaccioacuten socialrdquo con el que se relaciona

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 10: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 10

El atributo ldquotyperdquo por otro lado establece otra relacioacuten 1n entre la entidad ldquonode_typerdquo y ldquonoderdquo

(type) siendo ldquonode_typerdquo la encargada de ampliar el elemento nodo con nuevos atributos

compartidos entre todos los nodos del mismo tipo

Fig 4 La entidad [node_type] y su relacioacuten con [node]

Como vemos en esta seccioacuten ampliada del diagrama la tabla ldquonode_typerdquo define una clave

primaria en ldquotyperdquo y contiene informacioacuten adicional del nodo que nos permite conocer ldquosi el nodo

ha sido creado por alguacuten moacutedulordquo (module) ldquosi el nodo debe incorporar un tiacutetulo yo un cuerpo de

textordquo (has_title y has_body respectivamente) ldquosi el nodo ha sido creado a medida mediante

CCKrdquo (custom) una breve descripcioacuten para uso administrativo (description) un texto de ayuda que

se mostraraacute al usuario para que se asegure de si ese es el tipo de contenido que desea crear etc

(ver Diccionario de Datos para detalles)

La combinacioacuten de estas dos entidades nos permite gestionar elementos de contenido simple

pero los datos que esta unidad abstracta de contenido seria capaz de contener se limita a un tiacutetulo

y un cuerpo de texto

Aunque eficaz para mantener nodos como las ldquopaacuteginas webrdquo (page) ldquonoticias o blogsrdquo (story) o

otras sencillas unidades de contenido resulta claramente insuficiente si el nodo exige estructurar

maacutes informacioacuten que la mencionada

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 11

Tal y como hemos comentado en la introduccioacuten el moacutedulo CCK (Content Construction Kit) nos

permite ampliar los campos asociados a un nodo y genera las tablas necesarias para mantener

nuevos datos

Veamos entonces los efectos que produce en la base de datos de Drupal el crear mediante CCK

un nuevo nodo (o ldquotipo de contenidordquo) como podriacutea ser el nodo ldquoactuacioacutenrdquo (propio de ldquoCoyote

Applicationrdquo)

Fig 5 La entidad [content_type_actuacion] y su relacioacuten con [node]

Como vemos CCK genera una nueva entidad (content_type_actuacion) para contener aquellos

atributos especiacuteficos del nuevo nodo definiendo desde la tabla ldquonoderdquo una relacioacuten 1n que

mantiene el modelo de base de datos normalizado

Para el caso de Coyote Application ldquocontent_type_actuacionrdquo incluye todos los atributos que se

muestran en el formulario de entrada de actuacioacuten como de seleccioacuten simple a excepcioacuten por

supuesto del tiacutetulo y el cuerpo de texto que se almacenan en ldquonode_revisionsrdquo

El resto de atributos para garantizar que los datos se conservan segmentados y que la base de

datos mantiene su normalizacioacuten se almacenan en tablas externas que llevan por nombre

ldquocontent_field_xxrdquo (doacutende ldquoxxrdquo coincide con el nombre del campo creado) y que definen una

relacioacuten 1n con ldquocontent_type_actuacionrdquo

La excepcioacuten a esta regla la encontramos en el atributo ldquofield_actuacion_accion_social_e_nidrdquo

que establece una relacioacuten ya no entre el nodo y uno de sus valores sino entre dos nodos

conservando en los nodos ldquoactuacioacutenrdquo el ldquonidrdquo del nodo ldquoaccioacuten socialrdquo con el que se relaciona

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 11: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 11

Tal y como hemos comentado en la introduccioacuten el moacutedulo CCK (Content Construction Kit) nos

permite ampliar los campos asociados a un nodo y genera las tablas necesarias para mantener

nuevos datos

Veamos entonces los efectos que produce en la base de datos de Drupal el crear mediante CCK

un nuevo nodo (o ldquotipo de contenidordquo) como podriacutea ser el nodo ldquoactuacioacutenrdquo (propio de ldquoCoyote

Applicationrdquo)

Fig 5 La entidad [content_type_actuacion] y su relacioacuten con [node]

Como vemos CCK genera una nueva entidad (content_type_actuacion) para contener aquellos

atributos especiacuteficos del nuevo nodo definiendo desde la tabla ldquonoderdquo una relacioacuten 1n que

mantiene el modelo de base de datos normalizado

Para el caso de Coyote Application ldquocontent_type_actuacionrdquo incluye todos los atributos que se

muestran en el formulario de entrada de actuacioacuten como de seleccioacuten simple a excepcioacuten por

supuesto del tiacutetulo y el cuerpo de texto que se almacenan en ldquonode_revisionsrdquo

El resto de atributos para garantizar que los datos se conservan segmentados y que la base de

datos mantiene su normalizacioacuten se almacenan en tablas externas que llevan por nombre

ldquocontent_field_xxrdquo (doacutende ldquoxxrdquo coincide con el nombre del campo creado) y que definen una

relacioacuten 1n con ldquocontent_type_actuacionrdquo

La excepcioacuten a esta regla la encontramos en el atributo ldquofield_actuacion_accion_social_e_nidrdquo

que establece una relacioacuten ya no entre el nodo y uno de sus valores sino entre dos nodos

conservando en los nodos ldquoactuacioacutenrdquo el ldquonidrdquo del nodo ldquoaccioacuten socialrdquo con el que se relaciona

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 12: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 12

Ampliemos una vez maacutes el anterior diagrama y veamos un ejemplo en el caso de las actuaciones

de Coyote Application incluyendo esta vez las tablas de campo muacuteltiple ldquocontent_field_xxrdquo y su

viacutenculo con ldquocontent_type_accion_social_externardquo

Fig 6 La entidad [content_type_actuacion] y su relacioacuten con [content_type_actuacion_social_externa] y [content_field_xx]

Pese a las capacidades que ha adquirido el nodo ldquoactuacionrdquo todaviacutea no seriacutea suficiente como

para cumplir con nuestros requisitos ya que las actuaciones deben admitir documentos adjuntos

y el modelo descrito hasta el momento no seriacutea capaz de albergarlos

Para ello el core de Drupal incorpora un moacutedulo llamado ldquouploadrdquo que se encarga de las tareas

de administracioacuten de archivos y permite asociarlos a un nodo

Los documentos cargados se almacenan externos a la base de datos (habitualmente en el

directorio files del servidor) y la tabla ldquofilesrdquo conserva metadatos sobre el documento asociado

(nombre de archivo tipo mime y tamantildeo) asiacute como el path relativo al archivo fiacutesico

La entidad ldquonodesrdquo establece con ldquofilesrdquo una nueva relacioacuten 1n mediante el atributo nid lo que nos

permite asociar varios documentos a un nodo

Finalmente para conservar un histoacuterico de los documentos cargados ldquofilesrdquo establece una nueva

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 13: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 13

relacioacuten ldquouno-a-muchosrdquo contra la tabla ldquofile_revisionsrdquo mediante los atributos ldquofidrdquo y ldquonidrdquo que son

claves foraacuteneas en ldquofile_revisionsrdquo

Esta uacuteltima tabla conserva la descripcioacuten del documento cargado y el atributo ldquolistrdquo que indica si el

adjunto debe mostrarse junto a la presentacioacuten del nodo o permanecer oculto

Obseacutervese el diagrama de la seccioacuten que hemos comentado para continuar con el anaacutelisis de las

tablas de Vocabulario

Fig 7 Las entidades [files] y [file_revisions] su relacioacuten con [node]

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 14: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 14

Las tablas de Vocabulario

Otra funcionalidad sumamente interesante de Drupal reside en su capacidad por categorizar el

contenido empleando taxonomiacuteas simples o incluso jerarquizadas

Cualquier contenido (que en adelante y tras lo expuesto llamaremos ldquonodordquo) puede asociarse a un

vocabulario que incluye un conjunto de teacuterminos lo que nos permite desarrollar mecanismos para

clasificar los contenidos de forma raacutepida y extremadamente flexible

Esta capacidad lo distingue de otros CMS doacutende las taxonomiacuteas no se contemplan como parte del

nuacutecleo o son de caraacutecter riacutegido y simple

A modo de ejemplo podemos ver como mediante la gestioacuten de taxonomiacuteas asociamos al nodo

ldquoactuacioacutenrdquo un teacutermino del vocabulario ldquoterritoriordquo (por ejemplo ldquoRed Canyonrdquo) una ldquofuenterdquo (pe

ldquoGarganta profundardquo) un ldquopuacuteblico objetivordquo (pe ldquoCorrecaminosrdquo) etc

La documentacioacuten oficial de Drupal nos ofrece de nuevo una primera aproximacioacuten a esta seccioacuten

de la base de datos

Fig 8 Las principales relaciones de la entidad [vocabulary]Fuente Documentacioacuten oficial de Drupal

En el diagrama vemos como la entidad ldquonoderdquo se relaciona 1n con ldquoterm_noderdquo para definir las

asociaciones entre un nodo y los teacuterminos de un vocabulario A su vez la tabla ldquoterm_datardquo

contiene una lista de los teacuterminos posibles y tambieacuten mantiene un viacutenculo ldquouno-a-muchosrdquo con

ldquoterm_noderdquo constituyeacutendose esta uacuteltima como una simple tabla de relacioacuten con claves foraacuteneas

hacia las tablas de nodos y teacuterminos

Cada teacutermino contenido en ldquoterm_datardquo pertenece a un vocabulario de la tabla ldquovocabularyrdquo que a

su vez se relaciona 1n con ldquovocabulary_node_typesrdquo y establece que vocabularios se pueden

emplear en cada tipo de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 15: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 15

Finalmente ldquoterm_hierarchyrdquo almacena la jerarquiacutea entre los teacuterminos de un vocabulario dotando

al CMS de la base de datos necesaria para construir jerarquiacuteas simples (cada teacutermino soacutelo puede

tener un padre) o muacuteltiples (un teacutermino puede tener maacutes de un padre)

Aunque efectivo a cierta escala este disentildeo puede resultar costoso en el momento en el que se

requiere de consultas que ahondan en la jerarquiacutea de teacuterminos (como sucede con los listados de

actuaciones) Por ese motivo en este desarrollo se ha antildeadido un moacutedulo adicional (Lineage) que

implementa ldquonested treesrdquo5 y reduce la complejidad del algoritmo de buacutesqueda

Completamos la descripcioacuten de este grupo de tablas con una nueva seccioacuten del anterior diagrama

en el que se observan las relaciones entre ambos grupos mediadas por las tablas de relacioacuten

ldquoterm_noderdquo y ldquovocabulary_node_typesrdquo

Fig 9 El grupo de entidades Vocabulario y sus relaciones con el grupo Nodos

5 El moacutedulo Lineage httpdrupalorgprojectlineageNested Trees httpwwwsitepointcomarticlehierarchical-data-database

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 16: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 16

Aunque no empleados en este proyecto cabe comentar que Drupal permite establecer relaciones

entre teacuterminos (mediante ldquoterm_relationrdquo) o incluso definir teacuterminos sinoacutenimos o alias

(ldquoterm_synonymrdquo)

Para finalizar es necesario comentar que debido al caraacutecter de prototipo de este desarrollo se ha

sido permisivo con la duplicidad de algunos datos

El uso del moacutedulo Content Taxonomy (empleado en actuaciones entre otros nodos) permite

asociar taxonomiacuteas a un nuevo nodo de forma paralela a la loacutegica interna de Drupal Al asociar

una taxonomiacutea a un nodo mediante este moacutedulo se nos plantean 3 posibilidades

Save as tag Los teacuterminos asociados al nodo se almacenan en las tablas internas de

Drupal (term_data)

Save in cck table Los teacuterminos se almacenan en nuevas tablas (content_field_xx)

Both Los teacuterminos se almacenan en ambas tablas

El uso de ldquoSave in cck tablerdquo permite a su vez mantener revisiones de las asociaciones entre los

nodos y sus taxonomiacuteas mientras que ldquoSave as tagrdquo soacutelo mantiene la relacioacuten actual

En previsioacuten de futuras migraciones y para mantener un histoacuterico de taxonomiacuteas asociadas al

nodo cuando se ha empleado el moacutedulo Content Taxonomy se ha optado por la tercera viacutea

permitiendo asiacute que los datos sean extraiacutedos como mejor convenga

Llegados a este punto se completa el anaacutelisis de los elementos que permiten almacenar contenido

(Nodos y Vocabulario) y presentamos las tablas que hacen posible la gestioacuten de Usuarios y que

contienen informacioacuten sobre su perfil y posibilidades de acceso

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 17: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 17

Las tablas de Usuario y permisos

La gestioacuten de usuarios de Drupal se define en la versioacuten 57 de forma independiente a los nodos

Este hecho siempre ha provocado cierta controversia en la comunidad de Drupal pues los datos

propios de un usuario (nombre direccioacuten teleacutefono) son tratados de manera muy distinta a como

se procesan los nodos y eso no permite explotar los moacutedulos disentildeados para nodos para tratar los

datos del perfil de usuario

Es probable que en futuras versiones se rectifique esta estrategia y moacutedulos como ldquousernoderdquo ya

apuntan en esa direccioacuten implementando el perfil de usuario como si de un nodo maacutes se tratara

En cualquier caso lejos de todas estas discusiones Drupal ofrece una buena gestioacuten de usuarios

facilitando ldquoout-of-the-boxrdquo la ampliacioacuten del perfil mediante el moacutedulo ldquoprofilerdquo y sobre todo

estableciendo una excelente gestioacuten de roles y permisos de acceso

La documentacioacuten oficial de Drupal aporta el siguiente diagrama

Fig 10 Las principales relaciones de la entidad [user]Fuente Documentacioacuten oficial de Drupal

En el graacutefico se destaca la tabla ldquousersrdquo doacutende podemos obtener el ldquouidrdquo (user ID) como

identificador uacutenico de la persona en la plataforma Esta tabla tambieacuten almacena importante

informacioacuten del usuario como su login (ldquousernamerdquo) correo (ldquomailrdquo) estado de bloqueo (ldquostatusrdquo)

idioma preferido (ldquolanguagerdquo) y clave de acceso (ldquopasswordrdquo) entre muchos otros

Para garantizar la confidencialidad de las claves estas se mantienen en la base de datos en un

hash encriptado mediante un algoritmo de camino uacutenico (SHA1) por lo que si bien es posible

comparar una cadena de texto con la clave existente en la base de datos (y certificar las

credenciales de un usuario) no es posible desvelar el valor real del mismo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 18: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 18

Fig 11 El grupo de entidades Usuarios y sus relaciones con el grupo Nodos

Relacionada con la entidad ldquouserrdquo vemos en 1n a ldquoprofile_fieldsrdquo con los valores concretos para

cada usuario de los tipos de campo del perfil (nombre teleacutefono direccioacuten etc) que se definen en

profile_field

Esta tabla permite establecer para cada tipo de campo que asociamos al perfil de usuario un tiacutetulo

(title) un texto explicativo (explanation) el grupo (o pestantildea) en la que se mostraraacute (category) si

se debe crear una nueva paacutegina listando todos los usuarios con ese mismo valor en ese campo

(page) el tipo de campo a crear (type) si es un campo requerido (required) etc

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 19: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 19

La gestioacuten de usuarios se mantiene mediante las tablas ldquorolerdquo y ldquouser_rolesrdquo (relacionadas 1n

entre si) siendo ldquorolerdquo un simple listado de identificadores (rid) y nombres (name) de rol y

recayendo en ldquouser_rolesrdquo la tarea de mantener la relacioacuten entre usuarios y sus roles disponibles

Finalmente el comportamiento general del control de acceso a los contenidos y las

funcionalidades de los distintos moacutedulos lo establece la tabla ldquopermissionrdquo que permite o bloquea

seguacuten el rol del usuario activo Esta tabla relacionada 11 con ldquorolerdquo tambieacuten contiene un

enumerado de las capacidades disponibles para todos los usuarios con ese rol

Como en la seccioacuten anterior aunque no han resultado necesarias para en este proyecto cabe

comentar la existencia de las entidades ldquoauthmaprdquo doacutende se mapean los usuarios que obtenemos

de bases de datos externas (ya sean simples BD o fuentes LDAP OpenID etc) y ldquoaccessrdquo con

reglas que condicionan la creacioacuten de usuarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 20: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 20

Otras tablas de intereacutes

Completamos el anaacutelisis comentando superficialmente algunas tablas de sistema que pese a no

establecer relaciones directas con los contenidos y los usuarios pueden resultar de intereacutes en un

proceso de migracioacuten

Fig 12 Las tablas del sistemaFuente Documentacioacuten oficial de Drupal

La documentacioacuten oficial de Drupal destaca 5 tablas en las que no se muestra relacioacuten alguna con

otras entidades En el diagrama encontramos tablas muy especializadas como ldquoclientrdquo y

ldquoclient_systemrdquo (que contiene informacioacuten sobre clientes remotos cuando se habilita Drupal como

servidor XML-RPC) y que no incumben al aacutembito de este documento pero tambieacuten muestra las

tablas ldquosequencesrdquo ldquosystemrdquo y ldquovariablerdquo que si pueden resultar de utilidad en una migracioacuten

completa

La primera de estas tablas incluye un listado de contadores para garantizar la compatibilidad con

muy antiguas versiones de MySQL doacutende el autoincremento de los identificadores no era posible

Pese a su caraacutecter residual esta tabla sigue siendo consultada cada vez que se crea un nuevo

nodo se escribe un comentario o se construye un nuevo menuacute y debe mantenerse actualizada

con el uacuteltimo ID creado para cada entidad

La tabla ldquosystemrdquo almacena toda aquella informacioacuten que es de utilidad para el control del

sistema con un listado de los moacutedulos disponibles o los temas Las tuplas de de ldquosystemrdquo

incluyen el path completo al elemento del sistema el nombre interno el tipo de elemento el

estado en el que se encuentra (activo o inactivo) cuando debe ser cargado (bootstrap) su orden

de aplicacioacuten (weight) una breve descripcioacuten y la versioacuten de esquema de base de datos

(schema_version)

Finalmente la tabla ldquovariablerdquo mantiene informacioacuten sobre la configuracioacuten del sistema incluyendo

variables que Drupal o cualquiera de sus moacutedulos necesita conocer en todo momento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 21: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 21

Fig 13 Las tablas del sistema

Para finalizar ofrecemos el diagrama ER completo en notacioacuten EER mostrando los atributos de

las entidades e incluyendo relaciones loacutegicas entre tablas

En el diagrama se agrupan

En verde las entidades que constituyen el grupo Nodos

En azul las entidades del grupo Vocabulario

En amarillo para las tablas de Usuarios y permisos

En rojo otras tablas que no contienen datos de nodos pero que pueden afectar a su

visualizacioacuten o comportamiento

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 22: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 22

Fig

14 D

iagra

ma

ER

comp

leto

En

verd

e el grupo

Nod

os

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 23: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 23

Diccionario de Datos

A continuacioacuten se incluye el Diccionario de datos de Drupal 57 extendido con las tablas y

atributos especiacuteficos para la aplicacioacuten ficticia ldquoCoyote Applicationrdquo de ACME Inc

Para no perder los matices de la documentacioacuten original en el documento describe en Ingleacutes las

entidades generales (compartidas por todo Drupal 576) y se usa el Espantildeol para las

peculiaridades de ACME Inc

Para las tablas propias de ldquoCoyote Applicationrdquo y con la finalidad de facilitar la comprensioacuten del

modelo se ampliacutea el formato claacutesico del diccionario de datos antildeadiendo comentarios adicionales

y referencias a las tablas vinculadas ya sea de forma directa o lejana

Este diccionario parte y se basa mayoritariamente en los patches creados colaborativamente por

la comunidad de Drupal7 para documentar el CMS mediante el moacutedulo schema8

6 Tambieacuten se documentan en Ingleacutes las tablas de moacutedulos de terceros que no son especiacuteficos del desarrollo ldquoCoyote Applicationrdquo

7 Documento de partidahttpdrupalorgfilesissuesdrupal-document-schema-164983-75patchDiscusioacuten sobre el proceso de documentacioacuten httpdrupalorgnode164983

8 Maacutes informacioacuten en httpjaspancomschema-project-database-abstraction-reflection-and-migration

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 24: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 24

Estructura de la tabla access

Stores site access rules

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute NULL Primary Key Unique access ID

mask varchar(255) Siacute Text mask used for filtering access

type varchar(255) Siacute Type of access rule name mail or host

status tinyint(4) Siacute 0 Whether rule is to allow(1) or deny(0) access

Estructura de la tabla accesslog

Stores site access information for statistics

Campo Tipo No Nulo Default Comentarios

aid int(11) Siacute Primary Key Unique accesslog ID

sld varchar(64) Siacute Browser session ID of user that visited page

title varchar(255) No NULL Title of page visited

path varchar(255) No NULL Internal path to page visited (relative to Drupal root

url varchar(255) No NULL Referrer URI

hostname varchar(128) No NULL Hostname of user that visited the page

uid int(10) No 0 User useruid that visited the page

timer int(10) Siacute 0 Time in milliseconds that the page took to load

timestamp int(10) Siacute 0 Timestamp of when the page was visited

Estructura de la tabla authmap

Stores distributed authentication mapping

Campo Tipo No Nulo Default Comentarios

aid int(10) Siacute Primary Key Unique authmap ID

uid int(11) Siacute 0 Users useruid

authname varchar(128) Siacute Unique authentication name

module varchar(128) Siacute Module which is controlling the authentication

Estructura de la tabla blocks

Stores block settings such as region and visibility settings

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The module from which the block originates for example user for the Whos Online block and block for any custom blocks

delta varchar(32) Siacute 0 Unique ID for block within a module

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 25: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 25

theme varchar(255) Siacute The theme under which the block settings apply

status tinyint(4) Siacute 0 Block enabled status (1 = enabled 0 = disabled)

weight tinyint(4) Siacute 0 Block weight within region

region varchar(64) Siacute left Theme region within which the block is set

custom tinyint(4) Siacute 0 Flag to indicate how users may control visibility of the block (0 = Users cannot control 1 = On by default but can be hidden 2 = Hidden by default but can be shown)

throttle tinyint(4) Siacute 0 Flag to indicate whether or not to remove block when website traffic is high (1 = throttle 0 = do not throttle)

visibility tinyint(4) Siacute 0 Flag to indicate how to show blocks on pages (0 = Show on all pages except listed pages 1 = Show only on listed pages 2 = Use custom PHP code to determine visibility)

pages text Siacute Contents of the Pages block contain either a list of paths on which to includeexlclude the block or PHP code depending on visibility setting

title varchar(64) Siacute Custom title for the block (Empty string will use block default title ltnonegt will remove the title text will cause block to use specified title)

Estructura de la tabla blocks_roles

Sets up access permissions for blocks based on user roles

Campo Tipo No Nulo DefaultComentarios

module varchar(64) Siacute The blocks origin module from blocksmodule

delta varchar(32) Siacute The blocks unique delta within module from blocksdelta

rid int(10) Siacute The users role ID from user_rolesrid

Estructura de la tabla boxes

Stores contents of custom-made blocks

Campo Tipo No Nulo DefaultComentarios

bid int(11) Siacute The blocks blockbid

body longtext No NULL Block contents

info varchar(128) Siacute Block description

format int(11) Siacute 0 Block bodys filter_formatsformat for example 1 = Filtered HTML

Estructura de la tabla cache

Generic cache table for caching things not separated out into their own tables Contributed

modules may also use this to store cached items

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 26: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 26

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_content

Cache table to store cck content already parsed

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_filter

Cache table for the Filter module to store already filtered pieces of text identified by input format

and md5 hash of the text

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_menu

Cache table for the menu system to store router information as well as generated link trees for

various menupageuser combinations

Campo Tipo No Nulo DefaultComentarios

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 27: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 27

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_page

Cache table used to store compressed pages for anonymous users if page caching is enabled

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla cache_views

Cache table to store computed views

Campo Tipo No Nulo DefaultComentarios

cid varchar(255) Siacute Primary Key Unique cache ID

data longblob No NULL A collection of data to cache

expire int(11) Siacute 0 A Unix timestamp indicating when the cache entry should expire or 0 for never

created int(11) Siacute 0 A Unix timestamp indicating when the cache entry was created

headers text No NULL Any custom HTTP headers to be added to cached data

Estructura de la tabla comments

Stores comments and associated data

Campo Tipo No Nulo DefaultComentarios

cid int(11) Siacute Primary Key Unique comment ID

pid int(11) Siacute 0 The commentcid to which this comment is a reply If set to 0 this comment is not a reply to an existing comment

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 28: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 28

nid int(11) Siacute 0 The nodenid to which this comment is a reply

uid int(11) Siacute 0 The useruid who authored the comment If set to 0 this comment was created by an anonymous user

subject varchar(64) Siacute The comment title

comment longtext Siacute The comment body

hostname varchar(128) Siacute The authors host name

timestamp int(11) Siacute 0 The time that the comment was created or last edited by its author as a Unix timestamp

score mediumint(9)Siacute 0 To rate commentsstatus tinyint(3) Siacute 0 The published status of a comment (0 = Published 1 =

Not Published)

format int(11) Siacute 0 The filter_formatsformat of the comment body

thread varchar(255) Siacute The vancode representation of the comments place in a thread

users longtext No NULL Serialized user i-variablesname varchar(60) No NULL The comment authors name Uses username if the

user is logged in otherwise uses the value typed into the comment form

mail varchar(64) No NULL The comment authors e-mail address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

homepage varchar(255) No NULL The comment authors home page address from the comment form if user is anonymous and the Anonymous users maymust leave their contact information setting is turned on

Estructura de la tabla contact

Contact form category settings

Campo Tipo No Nulo DefaultComentarios

cid int(10) Siacute Primary Key Unique category ID

category varchar(255) Siacute Category name

recipients longtext Siacute Comma-separated list of recipient e-mail addresses

reply longtext Siacute Text of the auto-reply message

weight tinyint(4) Siacute 0 The categorys weight

selected tinyint(4) Siacute 0 Flag to indicate whether or not category is selected by default (1 = Yes 0 = No)

Estructura de la tabla content_field_actuacion_fuente

Teacuterminos del vocabulario ldquoFuenterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 29: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 29

bull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para la fuente en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia esta fuente

field_actuacion_fuente_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_objetivo

Teacuterminos del vocabulario ldquoPuacuteblico Objetivordquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el objetivo en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este objetivofield_actuacion_obj

etivo_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_soporte

Teacuterminos del vocabulario ldquoSoporterdquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 30: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 30

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacutendelta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas

para el soporte en un mismo node_revisionsvidnid int(10) Siacute 0 El nodenid al que hace referencia este soportefield_actuacion_so

porte_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_field_actuacion_tema

Teacuterminos del vocabulario ldquoTemardquo vinculados a los nodos ldquoactuacioacutenrdquo

Tablas relacionadas

bull nodebull node_revisionsbull term_data

Relaciones lejanas

bull content_type_actuacion

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

delta int(10) Siacute 0 Indica el orden de aparicioacuten si hay varias tuplas para el tema en un mismo node_revisionsvid

nid int(10) Siacute 0 El nodenid al que hace referencia este tema

field_actuacion_tema_value

int(11) Siacute 0 Identificador del teacutermino en term_datatid

Estructura de la tabla content_type_accion_social_externa

Atributos adicionales para los nodos de tipo ldquoAccioacuten social externa (ASE)rdquo (accion-social-externa)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_actuacion

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 31: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 31

bull filesbull file_revisions

Campo Tipo No NuloDefault Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitud de accioacutenFormato aaaa-mm-ddThhmmss

field_institucion_value

longtext No NULL Institucioacuten solicitante de la accioacuten

field_beneficiarios_directos_value

longtext No NULL Beneficiarios directos de la accioacuten

field_beneficiarios_indirectos_value

longtext No NULL Beneficiarios indirectos de la accioacuten

field_estado_proyecto_value

longtext No NULL Estado del proyecto admitiendo los literalesEn solicitud Aprobado Rechazado

field_lugar_patrocinio_value

longtext No NULL Topoacutenimo del lugar de patrocinio

field_fecha_inicio_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio de la accioacutenFormato aaaa-mm-ddThhmmss

field_descripcion_value

longtext No NULL Finalidad del proyecto y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_importancia_value

longtext No NULL Importancia del proyecto admitiendo los literalesAlta Media Baja

field_observaciones_value

longtext No NULL Observaciones sobre la accioacuten

field_presupuesto_value

int(11) No NULL Presupuesto del proyecto

field_responsable_accion_uid

int(11) No NULL El useruid del usuario responsable de la accioacuten

field_fecha_termino_ase_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten de la accioacutenFormato aaaa-mm-ddThhmmss

field_eje_de_agrupacin_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoEje de agrupacioacutenrdquo asociado a esta accioacuten

field_accion_social_territorio

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritorio (ASE)rdquo asociado a esta accioacuten

field_accion_social_presu_total_value

int(11) No NULL Presupuesto global de las actuaciones de este tipo

Estructura de la tabla content_type_actuacion

Atributos adicionales para los nodos de tipo ldquoRegistro de actuacioacutenrdquo (actuacioacuten)

Tablas relacionadas

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 32: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 32

bull nodebull node_revisionsbull term_databull content_type_accion_social_externa

Relaciones lejanas

bull content_field_actuacion_fuentebull content_field_actuacion_objetivobull content_field_actuacion_soportebull content_field_actuacion_temabull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_actuacion_value

varchar(20) No NULL Marca de tiempo con la fecha de la actuacioacutenFormato aaaa-mm-ddThhmmss

field_dudas_registro_actuacion_value

longtext No NULL Indicador de entrada con dudas admitiendo el literal ldquoSiacuterdquo en caso afirmativo

field_dudas_actuacion_value

longtext No NULL Comentarios sobre la duda que ha surgido

field_actuacion_territorio_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a esta actuacioacuten

field_actuacion_marca_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoMarcardquo asociado a esta actuacioacuten

field_actuacion_accion_social_e_nid

int(11) Siacute 0 El nodenid del nodo de tipo ldquoaccion-social-externardquo

Estructura de la tabla content_type_acuerdo_patrocinio

Atributos adicionales para los nodos de tipo ldquoAcuerdos con Medios (ACM)rdquo (acuerdo_patrocinio)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisionsbull term_databull users

Relaciones lejanas

bull content_type_medio_comunicacioacutenbull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 33: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 33

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

field_fecha_solicitud_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de la solicitudFormato aaaa-mm-ddThhmmss

field_importe_acuerdo_value

int(11) No NULL Presupuesto del acuerdo_patrocinio

field_estado_acuerdo_value

longtext No NULL Estado del acuerdo_patrocinio admitiendo los literalesEn solicitud Aprobado Rechazado

field_fecha_inicio_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de inicio del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_descripcion_acuerdo_value

longtext No NULL Finalidad del acuerdo_patrocinio y descripcioacuten de sus caracteriacutesticas

field_contraprestaciones_acuerd_value

longtext No NULL Descripcioacuten de las contraprestaciones

field_territorio_acuerdo_patroc_value

int(11) Siacute 0 El term_datatid del teacutermino del vocabulario ldquoTerritoriordquo asociado a este acuerdo_patrocinio

field_medio_acuerdo_patrocinio_nid

int(11) Siacute 0 El nodenid del ldquoMediordquo asociado a este acuerdo_patrocinio

field_fecha_termino_acuerdo_value

varchar(20) No NULL Marca de tiempo con la fecha de finalizacioacuten del acuerdo_patrocinioFormato aaaa-mm-ddThhmmss

field_acuerdo_responsable_uid

int(11) No NULL El useruid del responsable de este acuerdo_patrocinio

Estructura de la tabla content_type_avisos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoAvisordquo

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_documentos

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumentosrdquo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 34: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 34

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull content_type_imagesbull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_comite_ejecutivo

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento del Comiteacute Ejecutivordquo

(docu_comite_ejecutivo)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_image

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoImagerdquo (image)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull term_databull filesbull file_revisions

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 35: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 35

bull content_type_documentos

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_interno

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoDocumento Internordquo (interno)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_medio_comunicacion

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoMediordquo (medio-comunicacioacuten)

Nota Este contenido no solicita control de versiones ni emplea el ldquobodyrdquo del nodo por lo que sus

relaciones con la tabla ldquonode_revisionsrdquo se pueden obviar

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull content_type_acuerdo_patrocinio

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 36: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 36

Estructura de la tabla content_type_page

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoPaacutegina webrdquo (page)

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No NuloDefaultComentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla content_type_usernode

Relacioacuten entre nodos y versiones de nodo para el contenido ldquoUsernoderdquo (usernode)

Nota El contenido de esta tabla carece de utilidad para futuros sistemas

Tablas relacionadas

bull nodebull node_revisions

Relaciones lejanas

bull filesbull file_revisions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 El node_revisionsvid identificador de versioacuten

nid int(10) Siacute 0 El node_revisionsnid identificador de nodo

Estructura de la tabla files

Stores information for uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

nid int(10) Siacute 0 Unique node ID

filename varchar(255) Siacute Name of the file

filepath varchar(255) Siacute Path of the file relative to Drupal root

filemime varchar(255) Siacute The file MIME type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 37: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 37

filesize int(10) Siacute 0 The size of the file in bytes

Estructura de la tabla file_revisions

Stores changes in the metadata related with the uploaded files

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 Primary Key Unique files ID

vid int(10) Siacute 0 Primary Key Unique node version ID

description varchar(255) Siacute A brief description of this file

list tinyint(3) Siacute 0 File must be listed Possible values are0 Not shown1 Listed

Estructura de la tabla filters

Table that maps filters (HTML corrector) to input formats (Filtered HTML)

Campo Tipo No Nulo DefaultComentarios

format int(11) Siacute 0 Foreign Key The filter_formatsfid to which this filter is assigned

module varchar(64) Siacute The origin module of the filter

delta tinyint(4) Siacute 0 ID to identify which filter within module is being referenced

weight tinyint(4) Siacute 0 Weight of filter within format

Estructura de la tabla filter_formats

Stores input formats custom groupings of filters such as Filtered HTML

Campo Tipo No Nulo Default Comentarios

format int(11) Siacute Primary Key Unique ID for format

name varchar(255) Siacute Name of the input format (Filtered HTML)

roles varchar(255) Siacute A comma-separated string of roles references rolerid

cache tinyint(4) Siacute 0 Flag to indicate whether format is cachable (1 = cachable 0 = not cachable)

Estructura de la tabla flood

Flood controls the threshold of events such as the number of contact attempts

Campo Tipo No NuloDefault Comentarios

event varchar(64) Siacute Name of event (eg contact)

hostname varchar(128) Siacute Hostname of the visitor

timestamp int(11) Siacute 0 Timestamp of the event

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 38: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 38

Estructura de la tabla history

A record of which users have read which nodes

Campo Tipo No Nulo Default Comentarios

uid int(11) Siacute 0 The usersuid that read the node nid

nid int(11) Siacute 0 The nodenid that was read

timestamp int(11) Siacute 0 The Unix timestamp at which the read occurred

Estructura de la tabla image_attach

A record of wich nodes includes attached images

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 Primary Key The nodenid that was read

iid int(10) Siacute 0 Unique ID for image

Estructura de la tabla locales_meta

List of available languages for locale module

Campo Tipo No NuloDefault Comentarios

locale varchar(12) Siacute Primary Key Unique ID for locale

name varchar(64) Siacute English language name

enabled int(11) Siacute 0 Status of the locale0 disabled1 enabled

isdefault int(11) Siacute 0 Default locale is set to 1

plurals int(11) Siacute 0 Language with plural forms

formula varchar(128) Siacute

Estructura de la tabla locales_source

List of English source strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute Unique identifier of this string

location varchar(255) Siacute Drupal path in case of online discovered translations or file path in case of imported strings

source blob Siacute The original string in English

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 39: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 39

Estructura de la tabla locales_target

Stores translated versions of strings

Campo Tipo No NuloDefault Comentarios

lid int(11) Siacute 0 Source string ID References locales_sourcelid

translation blob Siacute Translation string value in this language

locale varchar(12) Siacute References locales_metalocale and defines the language of this translation

plid int(11) Siacute 0 References locales_targetlid and defines the plural form of this translation

plural int(11) Siacute 0 Plural index number in case of plural strings

Estructura de la tabla menu

Hierarchical list of menu items

Campo Tipo No Nulo Default Comentarios

mid int(10) Siacute 0 Primary Key menu item ID

pid int(10) Siacute 0 References parents menumid

path varchar(255) Siacute Path to the URL the menu item links to

title varchar(255) Siacute Menu item title to show

description varchar(255) Siacute Alternative links text shown as ALT tooltip

weight tinyint(4) Siacute 0 Position of menu item in relation to other menu items

type int(10) Siacute 0 Menu type (or group this menu item belongs to)

Estructura de la tabla node

The base table for nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The primary identifier for a node

vid int(10) Siacute 0 The current node_revisionsvid version identifier

type varchar(32) Siacute The node_type of this node

title varchar(128) Siacute The title of this node always treated a non-markup plain text

uid int(11) Siacute 0 The usersuid that owns this node initially this is the user that created it

status int(11) Siacute 1 Boolean indicating whether the node is published (visible to non-administrators)

created int(11) Siacute 0 The Unix timestamp when the node was created

changed int(11) Siacute 0 The Unix timestamp when the node was most recently saved

comment int(11) Siacute 0 Whether comments are allowed on this node 0 = no 1 = read only 2 = readwrite

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 40: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 40

promote int(11) Siacute 0 Boolean indicating whether the node should displayed on the front page

moderate int(11) Siacute 0 Previously a boolean indicating whether the node was in moderation mostly no longer used

sticky int(11) Siacute 0 Boolean indicating whether the node should be displayed at the top of lists in which it appears

Estructura de la tabla node_access

Identifies which realmgrant pairs a user must possess in order to view update or delete specific

nodes

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute 0 The nodenid this record affects

gid int(10) Siacute 0 The grant ID a user must possess in the specified realm to gain this rows privileges on the node

realm varchar(255) Siacute The realm in which the user must possess the grant ID Each node access node can define one or more realms

grant_view tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can view this node

grant_update tinyint(3) Siacute 0 oolean indicating whether a user with the realmgrant pair can edit this node

grant_delete tinyint(3) Siacute 0 Boolean indicating whether a user with the realmgrant pair can delete this node

Estructura de la tabla node_comment_statistics

Maintains statistics of node and comments posts to show new and updated flags

Campo Tipo No NuloDefault Comentarios

nid int(10) Siacute The nodenid for which the statistics are compiled

last_comment_timestamp

int(11) Siacute 0 The Unix timestamp of the last comment that was posted within this node from commenttimestamp

last_comment_name varchar(60) No NULL The name of the latest author to post a comment on this node from commentauthor

last_comment_uid int(11) Siacute 0 The user ID of the latest author to post a comment on this node from commentuid

comment_count int(10) Siacute 0 The total number of comments on this node

Estructura de la tabla node_counter

Access statistics for nodes

Campo Tipo No NuloDefault Comentarios

nid int(11) Siacute 0 The nodenid for these statistics

totalcount bigint(20) Siacute 0 The total number of times the node has been viewed

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 41: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 41

daycount mediumint(8) Siacute 0 The total number of times the node has been viewed today

timestamp int(10) Siacute 0 The most recent time the node has been viewed

Estructura de la tabla node_field

Node field types for core nodes and CCK

Campo Tipo No NuloDefault Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type varchar(127) Siacute Type of field For example text number_integer date content_taxonomy userreference nodereference

global_settings mediumtext Siacute Serialized settings of a field type

required int(11) Siacute 0 Required field ldquo1rdquo means field is required

multiple int(11) Siacute 0 Multiple field ldquo1rdquo means multiple values allowed

db_storage int(11) Siacute 0 Indicates if the value need to be stored at drupals core tables or CCK specific ones

Estructura de la tabla node_field_instance

List describing how a field type is instantiated when is related to a core or a CCK node type

Campo Tipo No Nulo Default Comentarios

field_name varchar(32) Siacute Primary Key Fields name ID

type_name varchar(32) Siacute Primary Key Relation to node_typetype

weight int(11) Siacute 0 Position of field in relation to other fields of the same node type

label varchar(255) Siacute Label of the field (shown at html)

widget_type varchar(32) Siacute Widgets that creates or stands the field

widget_settings mediumtext Siacute Serialized settings of this instance of a field_type

display_settings mediumtext Siacute Serialized display setting of this instance of a field_type

description mediumtext Siacute Description of the field normally shown as help text

Estructura de la tabla node_group

List how to display a group of node_fields depending on node_types

Campo Tipo No Nulo Default Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key Group unique ID

label varchar(255) Siacute The html fieldgroup label

settings mediumtext Siacute Serialized group settings

weight tinyint(4) Siacute Position of group in relation to other groups displayed in the same node type

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 42: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 42

Estructura de la tabla node_group_fields

List of node_fields for each node_groups and node_types

Campo Tipo No NuloDefault Comentarios

type_name varchar(32) Siacute Primary Key node_typetype

group_name varchar(32) Siacute Primary Key node_groupgroup_name

field_name varchar(32) Siacute Primary Key node_fieldfield_name

Estructura de la tabla node_revisions

Stores information about each saved version of a node

Comment Note that body content is included here instead in node table

Campo Tipo No Nulo Default Comentarios

nid int(10) Siacute 0 The node this version belongs to

vid int(10) Siacute 0 The primary identifier for this version

uid int(11) Siacute 0 The usersuid that created this version

title varchar(128) Siacute The title of this version

body longtext Siacute The body of this version

teaser longtext Siacute The teaser of this version

log longtext Siacute The log entry explaining the changes in this version

timestamp int(11) Siacute A Unix timestamp indicating when this version was created

format int(11) Siacute 0 The input format used by this versions body

Estructura de la tabla node_type

Stores information about all defined node types

Campo Tipo No Nulo Default Comentarios

type varchar(32) Siacute The machine-readable name of this type

name varchar(255) Siacute The human-readable name of this type

module varchar(255) Siacute The module that implements this type

description mediumtext Siacute A brief description of this type

help mediumtext Siacute Help information shown to the user when creating a node of this type

has_title tinyint(3) Siacute Boolean indicating whether this type uses the nodetitle field

title_label varchar(255) Siacute 0 The label displayed for the title field on the edit form

has_body tinyint(3) Siacute Boolean indicating whether this type uses the nodebody field

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 43: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 43

body_label varchar(255) Siacute 0 The label displayed for the body field on the edit form

min_word_count smallint(5) Siacute The minimum number of words the body must contain

custom tinyint(4) Siacute 0 A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE)

modified tinyint(4) Siacute 0 A boolean indicating whether this type has been modified by an administrator currently not used in any way

locked tinyint(4) Siacute 0 A boolean indicating whether the administrator can change the machine name of this type

orig_type varchar(255) Siacute The original machine-readable name of this node type This may be different from the current type name if the locked field is 0

Estructura de la tabla permission

Stores permissions for users

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute 0 Primary Key Unique permission ID

perm longtext No NULL List of permissions being assigned

tid int(10) Siacute 0 Originally intended for taxonomy-based permissions but never used

Estructura de la tabla profile_fields

Stores profile field information

Campo Tipo No Nulo DefaultComentarios

fid int(11) Siacute Primary Key Unique profile field ID

title varchar(255) No NULL Title of the field shown to the end user

name varchar(128) No NULL Internal name of the field used in the form HTML and URLs

explanation text No NULL Explanation of the field to end users

category varchar(255) No NULL Profile category that the field will be grouped under

page varchar(255) No NULL Title of page used for browsing by the fields value

type varchar(128) No NULL Type of form field

weight tinyint(4) Siacute 0 Weight of field in relation to other profile fields

required tinyint(4) Siacute 0 Whether the user is required to enter a value (0 = no 1 = yes)

register tinyint(4) Siacute 0 Whether the field is visible in the user registration form (1 = yes 0 = no)

visibility tinyint(4) Siacute 0 The level of visibility for the field (0 = hidden 1 =

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 44: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 44

private 2 = public on profile but not member list pages 3 = public on profile and list pages)

autocomplete tinyint(4) Siacute 0 Whether form auto-completion is enabled (0 = disabled 1 = enabled)

options text No NULL List of options to be used in a list selection field

Estructura de la tabla profile_values

Stores values for profile fields

Campo Tipo No Nulo DefaultComentarios

fid int(10) Siacute 0 The profile_fieldsfid of the field

uid int(10) Siacute 0 The usersuid of the profile user

value text No NULL The value for the field

Estructura de la tabla role

Stores user roles

Campo Tipo No Nulo Default Comentarios

rid int(10) Siacute Primary Key Unique role id

name varchar(64) Siacute Unique role name

Estructura de la tabla search_dataset

Stores items that will be searched

Campo Tipo No Nulo Default Comentarios

sid int(10) Siacute 0 Search item ID eg node ID for nodes

type varchar(16) No NULL Type of item eg node

data longtext Siacute List of space-separated words from the item

Estructura de la tabla search_index

Stores the search index associating words items and scores

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute The search_totalword that is associated with the search item

sid int(10) Siacute 0 The search_datasetsid of the searchable item to which the word belongs

type varchar(16) No NULL The search_datasettype of the searchable item to which the word belongs

fromsid int(10) Siacute 0 The search_datasetsid of the referring link to this item

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 45: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 45

fromtype varchar(16) No NULL The search_datasettype of the referring link to this item

score float No NULL The numeric score of the word higher being more important

Estructura de la tabla search_total

Stores search totals for words

Campo Tipo No Nulo Default Comentarios

word varchar(50) Siacute Primary Key Unique word in the search index

count float No NULL The count of the word in the index using Zipfs law to equalize the probability distribution

Estructura de la tabla sequences

Record of the latest ID for various tables (For compatibility with older MySQL versions)

Campo Tipo No Nulo Default Comentarios

name varchar(255) Siacute Table name

id int(10) Siacute 0 Last ID for this table

Estructura de la tabla sessions

Drupals session handlers read and write into the sessions table Each record represents a user

session either anonymous or authenticated

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 The usersuid corresponding to a session or 0 for anonymous user

sid varchar(64) Siacute Primary key A session ID The value is generated by PHPs Session API

hostname varchar(128) Siacute The IP address that last used this session ID (sid)

timestamp int(11) Siacute 0 The Unix timestamp when this session last requested a page Old records are purged by PHP automatically

cache int(11) Siacute 0 The time of this users last post This is used when the site has specified a minimum_cache_lifetime See cache_get()

session longtext No NULL The serialized contents of $_SESSION an array of namevalue pairs that persists across page requests by this session ID Drupal loads $_SESSION from here at the start of each request and saves it at the end

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 46: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 46

Estructura de la tabla system

A list of all modules themes and theme engines that are or have been installed in Drupals file

system

Campo Tipo No Nulo Default Comentarios

filename varchar(255) Siacute The path of the primary file for this item relative to the Drupal root eg modulesnodenodemodule

name varchar(255) Siacute The name of the item eg node

type varchar(255) Siacute The type of the item either module theme or theme_engine

description varchar(255) Siacute Extra information for this systems itemOn modules include the module descriptionOn themes the themeengine path or pagetpl path

status int(11) Siacute 0 Boolean indicating whether or not this item is enabled

throttle tinyint(4) Siacute 0 Boolean indicating whether this item is disabled when the throttlemodule disables throttlable items

bootstrap int(11) Siacute 0 Boolean indicating whether this module is loaded during Drupals early bootstrapping phase (eg even before the page cache is consulted)

schema_version smallint(6) Siacute -1 The modules database schema version number -1 if the module is not installed (its tables do not exist) 0 or the largest N of the modules hook_update_N() function that has either been run or existed when the module was first installed

weight int(11) Siacute 0 The order in which this modules hooks should be invoked relative to other modules Equal-weighted modules are ordered by name

Estructura de la tabla taxonomy_manager_merge

Taxonomy_managers table to establish how term_datas (taxonomies) are merged

Campo Tipo No Nulo DefaultComentarios

main_tid int(10) Siacute 0 Primary Key Main term_datatid

merged_tid int(10) Siacute 0 The term_datatid that need to be merged

Estructura de la tabla tax_settings_temas

Establece el nombre del CSS y la entidad html empleados para renderizar un taxonomiacutea

Campo Tipo No Nulo DefaultComentarios

tema int(10) Siacute Identificador uacutenico de tema

name varchar(255) No NULL Nombre del estilo CSS (coincide con color)

estilo varchar(255) Siacute Entidad html mediante la que rederizar un tema Toma los valores div span

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 47: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 47

Estructura de la tabla tax_tema

Establece el nombre del CSS empleado para renderizar un teacutermino del vocabulario

Campo Tipo No Nulo Default Comentarios

id_relaciones varchar(255) Siacute Clave primaria ID uacutenico de la relacioacuten

vid int(10) Siacute 0 El vacabularyvid

term_name varchar(255) Siacute El term_dataterm_name del teacutermino a mostrar

color varchar(255) Siacute Nombre del color a emplear para el renderizado

Estructura de la tabla term_access

Defines access based on term_data and roles

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_access_defaults

Defines default access based on vocabulary and roles

Campo Tipo No Nulo DefaultComentarios

vid int(10) Siacute 0 Primary Key The vocabularyvid witch access will be set

rid int(10) Siacute 0 Primary Key The rolesrid witch access will be set

grant_view tinyint(1) Siacute 0 View access ldquo1rdquo means granted

grant_update tinyint(1) Siacute 0 Update access ldquo1rdquo means granted

grant_delete tinyint(1) Siacute 0 Delete access ldquo1rdquo means granted

grant_create tinyint(1) Siacute 0 Create access ldquo1rdquo means granted

grant_list tinyint(1) Siacute 0 List access ldquo1rdquo means granted

Estructura de la tabla term_data

Stores term information

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute Primary Key Unique term ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 48: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 48

vid int(10) Siacute 0 The vocabularyvid of the vocabulary to which the term is assigned

name varchar(255) Siacute The term name

description longtext No NULL A description of the term

weight tinyint(4) Siacute 0 The weight of this term in relation to other terms

Estructura de la tabla term_hierarchy

Stores the hierarchical relationship between terms

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

parent int(10) Siacute 0 Primary Key The term_datatid of the terms parent 0 indicates no parent

Estructura de la tabla term_lineage

List of nodes sorted by hierarchy depth (nested trees) to speed up searching

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 Primary Key The term_datatid of the term

lineage varchar(255) Siacute Term names of this deep with order prefix

depth Int(10) No NULL Deep hierarchy of the term

Estructura de la tabla term_node

Stores the relationship of terms to nodes

Campo Tipo No Nulo DefaultComentarios

nid int(10) Siacute 0 Primary Key The nodenid of the node

tid int(10) Siacute 0 rimary Key The term_datatid of a term assigned to the node

Estructura de la tabla term_relation

Stores non-hierarchical relationships between terms

Campo Tipo No Nulo DefaultComentarios

tid1 int(10) Siacute 0 The term_datatid of the first term in a relationship

tid2 int(10) Siacute 0 The term_datatid of the second term in a relationship

Estructura de la tabla term_synonym

Stores term synonyms

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 49: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 49

Campo Tipo No Nulo DefaultComentarios

tid int(10) Siacute 0 The term_datatid of the term

name varchar(255) Siacute The name of the synonym

Estructura de la tabla url_alias

A list of URL aliases for Drupal paths a user may visit either the source or destination path

Campo Tipo No Nulo DefaultComentarios

pid int(10) Siacute A unique path alias identifier

src varchar(128) Siacute The Drupal path this alias is for eg node12

dst varchar(128) Siacute The alias for this path eg title-of-the-story

Estructura de la tabla users

Stores user data

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key Unique user ID

name varchar(60) Siacute Unique user name

pass varchar(32) Siacute Users password (md5 hash)

mail varchar(64) No Users email address

mode tinyint(4) Siacute 0 Per-user comment display mode (threaded vs flat) used by the comment module

sort tinyint(4) No 0 Per-user comment sort order (newest vs oldest first) used by the comment module

threshold tinyint(4) No 0 Previously used by the comment module for per-user preferences no longer used

theme varchar(255) Siacute Users default theme

signature varchar(255) Siacute Users signature

created int(11) Siacute 0 Timestamp for when user was created

access int(11) Siacute 0 Timestamp for previous time user accessed the site

login int(11) Siacute 0 Timestamp for users last login

status tinyint(4) Siacute 0 Whether the user is active(1) or blocked(0)

timezone varchar(8) No NULL Users timezone

language varchar(12) Siacute Users default language

picture varchar(255) Siacute Path to the users uploaded picture

init varchar(64) No Email address used for initial account creation

data longtext No NULL A serialized array of name value pairs that are related to the user Any form values posted during user edit are stored and are loaded into the $user object during user_load() Use of this field is discouraged and it will likely disappear in a future version of Drupal

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 50: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 50

Estructura de la tabla users_roles

Maps users to roles

Campo Tipo No Nulo Default Comentarios

uid int(10) Siacute 0 Primary Key useruid for user

rid int(10) Siacute 0 Primary Key rolerid for role

Estructura de la tabla variable

Named variablevalue pairs created by Drupal core or any other module or theme All variables are

cached in memory at the start of every Drupal request so developers should not be careless about

what is stored here

Campo Tipo No Nulo Default Comentarios

name varchar(48) Siacute The name of the variable

value longtext Siacute The value of the variable

Estructura de la tabla view_argument

Stores views arguments (normally passed to views via url)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

type varchar(255) No NULL Type of view argument

argdefault varchar(255) No NULL Arguments default value

title varchar(255) No NULL Views title when argument is set

options varchar(255) No NULL Options string

position int(2) No NULL Argument position in the url

wildcard varchar(32) No NULL Arguments wildcard string

wildcard_substitution varchar(32) No NULL Wildcard replacement

Estructura de la tabla view_exposed_filter

Stores views exposed filters (that will be shown to the final users)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

field varchar(255) No NULL Formated string to indicate what field need to be exposed as a filter for the final userSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

label varchar(255) No NULL The html label of the exposed field

optional int(1) No NULL Indicates if the field-filter need to be set by the user

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 51: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 51

Optional (1) or mandatory (0)

is_default int(1) No NULL The field-filter if is active by default as was set as a filterEnabled (1) or disabled (0)

operator int(1) No NULL The field-filter operator is locked or could be changed

single int(1) No NULL The field-filter accepts multiple valuesSingle (1) or multiple (0)

position int(2) No NULL The order how this exposed filter will be shown

Estructura de la tabla view_filter

Stores views filters (that shrinks the available data)

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

tablename varchar(255) No NULL Table name this filter refers to

field varchar(255) No NULL Formated string to indicate what field need to be applied as a filterSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

value longtext No NULL Value to filter

operator varchar(20) No NULL Logical operator to apply in the filter

options varchar(255) No NULL Additional options

position int(2) No NULL The order how this filter will be applied

Estructura de la tabla view_sort

Stores views sort conditions

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

position int(2) No NULL The order how this sort condition will be applied

field varchar(255) No NULL Formated string to indicate what field this sort refers toSyntax CONCAT (view_tablefieldtablename ldquordquoview_tablefieldfield)

sortorder varchar(5) No NULL Type of sortingAscendent (ASC) or descendent (DESC)

options varchar(255) No NULL Additional options

tablename varchar(255) No NULL Table this sort condition refers to

Estructura de la tabla view_tablefield

Stores available views fields and their default settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 52: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 52

tablename varchar(255) No NULL Table name

field varchar(255) No NULL Field name

label varchar(255) No NULL Field label to be shown

handler varchar(255) No NULL Name of the handler

sortable int(1) No NULL Indicates if the filed is sortableSortable (1) or Not sortable (0)

defaultsort varchar(5) No NULL Default sortingNot sortable (0) ascendent (ASC) descentent (DESC)

options varchar(255) No NULL Additional options

position int(2) No NULL Global position where this field will be shown in lists

Estructura de la tabla view_view

Stores views settings

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key Unique view ID

name varchar(32) Siacute The name

description varchar(255) No NULL An administrative description of the view

access varchar(255) No NULL Coma separated list of roles that could access this view

page int(1) No NULL View will be provided as a page if is set to ldquo1rdquo

page_title varchar(255) No NULL Pages title

page_header longtext No NULL Text to be shown on pages header

page_header_format int(4) Siacute Format for the pages header

page_empty longtext No NULL Text to show if view offers no results

page_empty_format int(4) Siacute Format for the empty text

page_footer longtext No NULL Text to be shown on pages footer

page_footer_format int(4) Siacute Format for the pages footer

page_type varchar(20) No NULL Kind of view Examples node teaser list table calendar calc_table

use_pager int(1) No NULL Include a pager to cut the results of this view

nodes_per_page int(5) No NULL Number of nodes to be shown on each page

url varchar(255) No NULL URL of this view

menu int(1) No NULL Provide a menu entry in the Drupal menu system

menu_tab int(1) No NULL Shown as tab rather than in the main menu system

menu_tab_weight int(4) No NULL Tab order

menu_title varchar(255) No NULL MenuTab title

menu_tab_default int(1) No NULL Default tab

menu_tab_default_parent_type

varchar(10) No NULL Parent of this menutab item

menu_parent_title varchar(255) No NULL A title for the menutab parent

menu_parent_tab_weight

int(4) No NULL Weight of the menutab parent

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 53: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 53

block int(1) No NULL View will be provided as a block if is set to ldquo1rdquo

block_title varchar(255) No NULL Blocks title

block_use_page_header

int(1) No NULL Include pages header as block header

block_header longtext No NULL Text to be shown on blocks header

block_header_format int(4) Siacute Format for the blocks header

block_use_page_footer

int(1) No NULL Include pages footer as block footer

block_footer longtext No NULL Text to be shown on blocks footer

block_footer_format int(4) Siacute Format for the blocks footer

block_use_page_empty

int(1) No NULL Include pages ldquoempty textrdquo as blocks one

block_empty longtext No NULL Text to show if view offers no results

block_empty_format int(4) Siacute Format for the empty text

block_type varchar(20) No NULL Kind of view for this block Examples node teaser list table calendar calc_table

nodes_per_block int(5) No NULL Number of nodes to be shown on this block

block_more int(1) No NULL Display a more link in the block that links to the view URL (if page view is also avaliable)

breadcrumb_no_home

int(1) No NULL If is set to ldquo1rdquo the breadcrumb trail for this page will discard Home

changed int(11) No NULL Timestamp for view last change

view_args_php longtext No NULL PHP code to process views arguments

is_cacheable int(1) No NULL The view is cachable by Drupal catching systemCachable (1) or Not cachable (0)

Estructura de la tabla vocabulary

Stores vocabulary information

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute Primary Key Unique vocabulary ID

name varchar(255) Siacute Name of the vocabulary

description longtext No NULL Description of the vocabulary

help varchar(255) Siacute Help text to display for the vocabulary

relations tinyint(3) Siacute 0 Whether or not related terms are enabled within the vocabulary (0 = disabled 1 = enabled)

hierarchy tinyint(3) Siacute 0 The type of hierarchy allowed within the vocabulary (0 = disabled 1 = single 2 = multiple)

multiple tinyint(3) Siacute 0 Whether or not multiple terms from this vocablulary may be assigned to a node (0 = disabled 1 = enabled)

required tinyint(3) Siacute 0 Whether or not terms are required for nodes using this vocabulary (0 = disabled 1 = enabled)

tags tinyint(3) Siacute 0 Whether or not free tagging is enabled for the vocabulary (0 = disabled 1 = enabled)

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 54: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 54

module varchar(255) Siacute The module which created the vocabulary

weight tinyint(4) Siacute 0 The weight of the vocabulary in relation to other vocabularies

Estructura de la tabla vocabulary_node_types

Stores which node types vocabularies may be used with

Campo Tipo No Nulo Default Comentarios

vid int(10) Siacute 0 Primary Key the vocabularyvid of the vocabulary

type varchar(32) Siacute The nodetype of the node type for which the vocabulary may be used

Estructura de la tabla watchdog

Table that contains logs of all system events

Campo Tipo No Nulo Default Comentarios

wid int(11) Siacute Primary Key Unique watchdog event ID

uid int(11) Siacute 0 The useruid of the user who triggered the event

type varchar(16) Siacute Type of log message for example user or page not found

message longtext Siacute Text of log message to be passed into the t() function

severity tinyint(3) Siacute 0 The severity level of the event ranges from 0 (Emergency) to 7 (Debug)

link varchar(255) Siacute Link to view the result of the event

location text Siacute URL of the origin of the event

referer varchar(128) Siacute URL of referring page

hostname varchar(128) Siacute Hostname of the user who triggered the event

timestamp int(11) Siacute 0 Unix timestamp of when event occurred

Al no resultar de intereacutes para la migracioacuten del sistema y dada la falta de documentacioacuten de los

respectivos moacutedulos se excluyen del diccionario de datos las tablas

panels

content_type_panel

case_tracker

devel

privatemsg

tinymce

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 55: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 55

Estrategias de migracioacuten

De forma adicional al anaacutelisis planteamos muy brevemente diversas estrategias y materiales

para facilitar la ejecucioacuten del proceso de migracioacuten

Desconocedores de los entresijos del nuevo proyecto Coyote Aplication pero conscientes del

RDBS destino y sobretodo de todos los detalles del sistema origen se planean (sin ser nada

exhaustivos) las siguientes propuestas de migracioacuten de los datos MySQL al Oracle corporativo

1) Migracioacuten ldquoDirectardquo y post procesado en Oracle

2) Scripts PHP al uso

3) Moacutedulos de Drupal (views + csv export)

Migracioacuten ldquodirectardquo y post procesado en Oracle

El gestor de base de datos MySQL (de forma nativa mediante mysqldump o con la ayuda de

herramientas como phpMyAdmin) permite realizar volcados de la base de datos en distintos

formatos Uno de estos formatos es un estaacutendard ISO vigente llamado SQL92 que Oracle puede

interpretar y cargar correctamente

PhpMyAdmin a su vez ofrece un amplio abanico de formatos de exportacioacuten en el caso de que la

versioacuten de Oracle destino no fuese compatible con SQL92 Los formatos disponibles son

Datos CSV

CSV para datos de MS Excel

Microsoft Excel 2000

Microsoft Word 2000

LaTeX

Hoja de caacutelculo Open Document

Texto Open Document

PDF

SQL92

XML

YAML

En Oracle y con la ayuda de la documentacioacuten aportada el administrador de la base de datos

puede procesar las tablas (por ejemplo creando vistas) de la forma que se considere pertinente la

nueva aplicacioacuten

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 56: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 56

Para confirmar la viabilidad de esta alternativa se incluye

El volcado completo de la base de datos a SQL92 (con compatibilidad para Oracle)

coyote_exportacion1sqlzip (140 MB 7MB)

Comentario Se recomienda encarecidamente esta opcioacuten dada su simplicidad y versatilidad

Scripts ldquoal usordquo

A modo de ejemplo se ha desarrollado un breve script PHP que permite la exportacioacuten de las

tablas existentes a Microsoft Excel

El script incluye un fichero de configuracioacuten que permite decidir que tablas van a ser exportadas e

incluso que tipo de query se lanza para realizar la exportacioacuten

La simple modificacioacuten del fichero de configuracioacuten permitiriacutea ejecutar consultas cruzadas

incluyendo los operadores SQL necesarios (JOINS queries anidadas etc) para que la extraccioacuten

se ajuste a la demanda

El script aportado no pretende ser una solucioacuten definitiva sino un ejemplo que puede ser

modificado por los programadores de ACME Inc (al margen de las opciones previstas en el

archivo de configuracioacuten) para que se ajuste a las necesidades especiacuteficas de la migracioacuten

Se incluye

El coacutedigo fuente del script

tironiexportphp

Los documentos Excel resultado de una exportacioacuten directa completa

tironitablastablas2excelzip

Moacutedulos de Drupal (Views + CSV export)

Drupal incorpora el moacutedulo views que baacutesicamente es un generador de consultas contra la base

de datos En combinacioacuten con el moacutedulo ldquoViews bonus packrdquo cualquier consulta realizada puede

exportarse a CSV (Coma Separated Values) lo que permitiriacutea su posterior carga en Oracle

Se incluye

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)
Page 57: Descripción Modelo Entidad Relación Drupal Autora Marc Bria Ramírez

Modelo de datos ldquoDrupal 57rdquo con CCK Paacutegina 57

Un ejemplo de exportacioacuten parcial de la vista ldquoacutacionesrdquo a CSV y Excel

coyote_exportacion3csv

coyote_exportacion3xls

URL de ejemplo (si se instala table-export) httpyoursitecomtable-exportformatexport_csv1

Comentario Existen problemas de compatibilidad entre el moacutedulo de y Excel Las herramientas

de Microsoft trabajan con ISO-8859-1 mientras que el moacutedulo lo hace en UTF-8 La exportacioacuten

incluida se ha realizado desde un gnuLinux con OpenOffice con UTF-8 como charset nativo por

lo que no se ve afectado por este problema de compatiblidad pero seria posible adaptar el

moacutedulo para trabajar con el charset de Excel corrigiendo asiacute los problemas de compatibilidad

  • Prefacio
  • Introduccioacuten
  • Modelo de Datos de Drupal
    • Diagrama Entidad-Relacioacuten
      • Las tablas de Nodos
      • Las tablas de Vocabulario
      • Las tablas de Usuario y permisos
      • Otras tablas de intereacutes
        • Diccionario de Datos
          • Estrategias de migracioacuten
            • Migracioacuten ldquodirectardquo y post procesado en Oracle
            • Scripts ldquoal usordquo
            • Moacutedulos de Drupal (Views + CSV export)