Adaptación a la normativa española de CKAN en la plataforma OGoov

La accesibilidad del ciudadano a los datos de ámbito público ha sido siempre una constante en cuanto a los derechos exigidos por la población a los diferentes gobiernos de cada país, hablando siempre en términos de democracia. Hoy os hablamos sobre la adaptación a la normativa española de CKAN.

Un poco de historia

A lo largo de la historia, son muchos los personajes históricos, tanto conocidos como anónimos, que han luchado para que la información sea compartida con el pueblo, con el firme convencimiento de que esta apertura de los gobiernos hacia los ciudadanos se vería recompensada por éstos en un factor de multiplicación mucho más elevado que el supuesto daño que pudieran causar, haciendo uso malintencionado con ciertos datos sensibles.

Aunque realmente no ha sido hasta el siglo XXI, conocido con el sobrenombre de “la era de la información”, cuando los gobiernos han aceptado que la exposición pública de dicha información no es solo un derecho que tiene el ciudadano, sino que es además un deber de las organizaciones públicas con ellos.

Esto, unido a la globalización y al uso de Internet como medio estándar para comunicarnos con las distintas instituciones en la actualidad, hizo necesaria la creación de leyes que regularan la exposición y reutilización de esta información.

Esta eclosión de la apertura de datos por parte de los gobiernos, derivó en la necesidad de habilitar nuevas vías para que los ciudadanos pudiesen obtener la información sin necesidad de solicitarla mediante trámites burocráticos que chocasen con la propia filosofía de los datos abiertos. Siendo Internet la única opción en cuanto al medio a utilizar, se dio el pistoletazo de salida para el desarrollo de soluciones software que permitiera la consulta y el uso de los datos.

Justo aquí es donde entra en acción CKAN (Comprehensive Knowledge Archive Network), una aplicación web de código abierto concebida inicialmente para almacenar y distribuir datos, cuyo objetivo principal era convertirse en una herramienta especializada en la gestión de documentos y meta-información asociados al ámbito científico.

En 2009, el Gobierno de Reino Unido adoptó CKAN como back-end para su portal de Datos Abiertos, suponiendo un gran espaldarazo al proyecto, provocando a su vez un importante giro en cuanto al enfoque final de la herramienta: pasó de ser una herramienta enfocada puramente al ámbito científico a convertirse en la gran referencia en cuanto a herramientas web para gestionar portales de Datos Abiertos.

Evolución de CKAN

Es a partir de este momento, coincidiendo con la liberación de la versión 1.0 del software, cuando empiezan a surgir multitud de plataformas de Datos Abiertos por el mundo, casi todos con un punto en común: el uso de CKAN como herramienta de gestión de dichos datos.

Evolución de CKAN como plataforma de Datos Abiertos

Desde la versión 1.0 hasta la actual versión 2.7.2 liberada en septiembre de 2017, han pasado ya 8 años, en los que la plataforma ha sufrido multitud de pequeñas y grandes mejoras, a lo que hay que sumar la ingente cantidad de extensiones desarrolladas tanto por el núcleo fijo de desarrolladores de la plataforma, como por la amplia y activa comunidad de la que dispone la misma. Esto hace que estemos no solo ante una plataforma de gran presente, sino con infinidad de posibilidades en el futuro.

Aquella versión 1.0 estaba totalmente enfocada al uso de la herramienta para la gestión de documentos y datos de forma interna, no como interfaz final para usuarios, aunque ya en esta primera versión liberada se intuía hacia donde querían llevarla sus desarrolladores, pues disponía de ciertas características que dotaban al proyecto de gran versatilidad como puede ser la API RESTful para el acceso, creación y actualización de datos.

Desde entonces y hasta la actualidad, se ha potenciado el núcleo de CKAN incluyendo nuevas funcionalidad y corrigiendo constantemente los fallos y vulnerabilidades del sistema, propiciado por el feedback entre los desarrolladores y su muy activa comunidad de usuarios.

Entre las grandes mejoras que se han ido incluyendo durante estos años están:

  • Gestión de organizaciones y permisos de usuarios asociados a éstas
  • API RESTful mucho más potente que la inicial
  • Categorización en conjuntos de datos y recursos (terminología propia de Datos Abiertos)
  • Opción de crear nuevos metadatos asociados a dichas categorías
  • Inclusión de metadatos fijos propios de los Datos Abiertos
  • Consulta de estadísticas básicas
  • Personalización de interfaz de usuario para el uso de CKAN como front-end único
  • Visores de distintos tipos de contenido
  • Uso del DataStore para almacenar datos en formato tabular, etc.

Todo esto y mucho más ha hecho de CKAN lo que es en la actualidad: la mejor plataforma para gestionar catálogos de Datos Abiertos.

OGoov – Nuestra solución adaptada a la normativa española

Nuestra relación con los portales de Datos Abiertos no comenzó hasta 2013, con el Portal de Datos Abiertos del Ayuntamiento de Santander. Fue entonces cuando tuvimos que tomar la decisión de desarrollar un software a medida, desde cero, o utilizar alguna de las herramientas que existían en el mercado por aquel entonces como solución para portales de Datos Abiertos.

Después de estudiar todas las opciones, la decisión fue sencilla: utilizaríamos como back-end la versión 1.8 de CKAN, que acababa de ser liberada, que ya era la gran referencia en cuanto a software dedicado a portales de Datos Abiertos.

Esto cubría la gestión del catálogo de datos pero, aunque dicha versión de CKAN disponía de un look&feel limpio, sencillo y personalizable mediante el uso de CSS, no cubría del todo nuestras necesidades. Con la intención de potenciar la explotación de los datos que se almacenarían en CKAN, se optó por dotar a nuestra plataforma de una interfaz sencilla para los usuarios, con la que nosotros nos sintiéramos cómodos como desarrolladores y en la que pudiésemos incluir cualquier futura idea que sirviese para incrementar la satisfacción de los usuarios con la plataforma.

La decisión adoptada fue el uso del archiconocido sistema de gestión de contenidos (CMS) WordPress junto con algunas librerías para la creación de gráficas. Añadiendo nuestro componente para la extracción y catalogación de datos de forma automática RTOD (Real Time Open Data), OGoov ha resultado una plataforma de Gobierno Abierto / Datos Abiertos muy potente y con una clara orientación tanto a ciudadanos como a reutilizadores.

CKAN en OGoov

Una vez se habían tomado las decisiones tecnológicas pertinentes, nos pusimos manos a la obra para adaptar CKAN a lo que dictaba la Guía de aplicación de la Norma Técnica de Interoperabilidad de Reutilización de recursos de información (NTI) en cuanto a los metadatos a almacenar, tanto para los conjuntos de datos como para los recursos (distribuciones) asociados a éstos.

Fragmento del DCAT-NTI con los nuevos metadatos de CKAN

Al cruzar los metadatos soportados por CKAN con los que indicaba la NTI, surgió la necesidad de añadir los siguientes metadatos al sistema:

Conjunto de datos

  • Título en varios idiomas (depende de los requisitos del cliente)
  • Descripción en varios idiomas (depende de los requisitos del cliente)
  • Grado de apertura
  • Última actualización conocida
  • Frecuencia de actualización
  • Idioma(s)
  • Cobertura geográfica
  • Cobertura temporal
  • Fecha de vigencia
  • Recurso(s) relacionado(s)
  • Normativa(s)

Recursos (Distribuciones)

  • Título en varios idiomas (depende de los requisitos del cliente)
  • Descripción en varios idiomas (depende de los requisitos del cliente)
  • Información adicional sobre formato
  • Tamaño en bytes
  • Idioma

Para el desarrollo de dichos cambios, se decidió en primera instancia crear una extensión de CKAN desde cero, en la que se incluirían los nuevos campos y se extenderían los formularios ya existentes para mostrar y guardar dicha información.

Una vez desarrollada e implantada esta nueva extensión, observamos que dicha solución, aunque funcionalmente correcta, no estaba bien diseñada debido principalmente a que la inclusión de los campos multi-idioma no era algo dinámico, sino que nos exigía revisar la propia extensión dependiendo de cada instalación, teniendo que añadir y/o eliminar campos de traducción según las necesidades de cada cliente.

En una segunda iteración del desarrollo, se optó por utilizar dos de las extensiones de CKAN más utilizadas por los desarrolladores: ckanext-scheming, que permite configurar nuevos metadatos asociados a conjuntos de datos, recursos, organizaciones y grupos, y ckanext-fluent, que permite hacer multi-idioma dichos campos añadidos con la extensión anterior.

La extensión ckanext-scheming facilita la forma de añadir, modificar o eliminar los metadatos asociados a conjuntos de datos, recursos, organizaciones y grupos sin necesidad de programar, simplemente mediante la definición el nuevo esquema de datos a utilizar.

Posteriormente, dependiendo de los requisitos multi-idioma de cada instalación, dicho esquema había que enriquecerlos con las correspondientes opciones para los idiomas a soportar. Para cumplir estos requisitos, se optó por el uso de la extensión ckanext-fluent.

Esto nos permite tanto cumplir con cada una de las exigencias actuales de la NTI, como estar preparados en todo momento ante cualquier evolución futura de la norma, simplificando la inclusión, modificación y eliminación de campos, es decir, nos permite adaptar nuestra plataforma de datos abiertos a cualquier cambio en la norma en cuestión de horas o su internacionalización para cumplir normativas de terceros países.

Deja un comentario