Portales Open Data propulsados con Drupal

opendatalovesdrupal.jpg
Solucionex
14
Ago 19

En Solucionex venimos desarrollando portales de datos abiertos, también conocidos como portales open data, con tecnologías open source de gran aceptación y con una alta presencia en el mercado actual. Pero qué son los datos abiertos y cómo ésta filosofía y las herramientas que ayudan a publicarlos y compartirlos están aportando valor a nuestras instituciones públicas y a nuestra sociedad.

¿Qué son los datos abiertos?

Los datos abiertos, conocidos en inglés como open data, son aquellos conjuntos de datos generados o recopilados por los diferentes organismos y administraciones públicas, tanto del ámbito educativo como gubernamental. y que éstas ponen al servicio del ciudadano para su libre uso y consulta.

Siguiendo la misma filosofía que otros movimientos como el del software libre, el código abierto o el acceso abierto, según la Carta Internacional de Datos Abiertos redactada por la Open Data Charter, los datos abiertos deben cumplir seis principios:

  1. Abiertos por defecto.
  2. Actualizados y comprensibles.
  3. Accesibles y fáciles de utilizar.
  4. Comparables e interoperables.
  5. Para la mejora de la governanza y la participación ciudadana.
  6. Para el desarrollo inclusivo y la innovación.

Todo ello hace que a las diferentes instituciones se les presente la necesidad de disponer de una herramienta común que haga de estándar permitiendo así ofrecer al público estos datos abiertos y cumplir todos los principios anteriores. ¿Cómo lo resolvemos? Llegan los refuerzos, llega la Open Knowledge Foundation.

CKAN, la plataforma líder.

CKAN, como se conoce por sus siglas en inglés a la aplicación web Comprehensive Knowledge Archive Network, es la plataforma open source líder de portales de datos abiertos. Mantenida desde el año 2014 por la Open Knowledge Foundation, esta aplicación se ha convertido en la herramienta de cabecera que usan la mayor parte de los gobiernos que quieren montar un catálogo de datos abiertos. Entre ellos podemos encontrar al gobierno del Reino Unido, Australia, España, Uruguay, Paraguay, Brasil, Italia... y así hasta 200 gobiernos nacionales y municipales se cuentan entre los que la utilizan. Concretamente en España lo utilizan los portales de Cáceres, Aragón, Málaga, Barcelona, Alcobendas, Fuengirola, Rivas Vaciamadrid, etc.

CKAN Architecture

Basada en Python y desarrollada en sus inicio con el framework Pylons, desde la versión 2.6 se encuentra en un proceso de migración gradual hacia el microframework Flask. Utiliza PostgreSQL como sistema de gestión de base de datos, además de otras extensiones como Apache Solr para su motor de búsqueda, Redis para correr procesos asíncronos en segundo plano y así evitar colapsar el proceso principal de la aplicación y la extensión DataStore que proporciona una base de datos ad hoc para almacenar datos estructurados procedentes de la extracción de los archivos de recursos (CSV, XML, JSON, etc.).

Todo lo anterior, unido a herramientas que implantamos en Solucionex como Virtuoso Open-Source Edition que se encarga de la gestión del Linked Data y nos proporciona un punto de acceso SPARQL que permite la consulta de datos cumpliendo el estándar RDF. Este estándar hace de nuestro catálogo de datos un catálogo "federable", esto es, permitiendo que nuestros datos sean servidos desde plataformas que centralizan los datos, como por ejemplo la plataforma Iniciativa de datos abiertos del Gobierno de España (datos.gob.es); hacen de CKAN un ecosistema especializado, robusto y potente.

Pero CKAN, como todo, tiene inconvenientes. El principal es que es una herramienta enfocada a construir un catálogo de datos, no un portal de comunicación. Muchas instituciones van más allá y tienen necesidades adicionales a la de ofrecer más que un catálogo de datos, como son la gestión de noticias, presentación de reportes basados en datos, infografías y todo lo que implique interpretar y presentar a la sociedad los datos producidos. Es aquí donde entra en escena la integración con herramientas CMS.

GovCMS, llegó Drupal para quedarse.

GovCMS surge como una solución del Departamento de Finanzas del Gobierno de Australia al problema de que muchas agencias gubernamentales tenían requisitos similares a la hora de implantar un sistema de gestión de contenido para sus sitios web pero estaban eligiendo diferentes plataformas e infraestructuras de alojamiento, lo que resultaba en una experiencia inconexa para sus clientes. Se trata de una distribución basada en Drupal que tiene como objetivo simplificar las TIC gubernamentales y eliminar la duplicación de actividades entre agencias y organismos públicos.

Al ser una distribución patrocinada y orientada por y para gobiernos sirvió de buque insignia a la hora de integrar CKAN con un CMS potente como Drupal y por tanto a crear una serie de módulo que permitiera la integración entre ambos sistemas.

La empresa Doghouse Agency desarrolló para Drupal 7 y Drupal 8 una serie de módulos que permiten la integración con la API de CKAN y la visualización de datos. Muy interesante es la charla de presentación que hicieron en la DrupalSouth del 2016 comentando la evolución de éstos módulos a Drupal 8.

 

 

Actualmente, el enfoque de arquitectura mayoritario que se utiliza en los portales de datos abiertos gestionados con un CMS es el de ofrecer el portal principal desarrollado en Drupal, u otra tecnología como Wordpress o Liferay, donde mostrar el contenido de noticias, historias de datos, y otros tipos de contenido, y el catálogo de datos apuntando exteriormente a CKAN; ambos sistemas con un diseño similar para hacer creer al usuario que se trata de un sistema homogéneo.

Pero la pregunta es: ¿Existe algo que me permita gestionar tanto las herramientas CMS como mi catálogo de datos abiertos desde la misma plataforma?

DKAN: Un muchachito nuevo en el barrio.

A punto de cumplir 7 años, la alternativa PHP a CKAN creada por Aaron Steffy Couch, y actualmente gestionada por la empresa CivicActions, cada vez está tomando más presencia como herramienta para la construcción de portales de datos abiertos y es que DKAN es una distribución basada en Drupal 7 que nos permite aunar en una misma plataforma la gestión de nuestro catálogo de datos y la gestión de nuestro contenido online, dando como resultado un potente portal open data. En el siguiente vídeo relativo a una charla de la Florida DrupalCamp se puede ver todo el potencial de esta herramienta.

 

 

DKAN empezó como una manera sencilla y rápida de construir portales de datos abiertos asequibles, pero con el tiempo se está convirtiendo en una alternativa a CKAN de peso y cada vez más instituciones apuestan por esta tecnología para construir portales de datos abiertos mucho más complejos. Es el caso de la Universidad de Granada, que ha optado por apostar por Drupal y concretamente por DKAN a la hora de construir su nuevo portal Open Data UGR, hablamos de una de las universidades más prestigiosas de España y top 20 mundial en Ciencia de la Computación.

Uno de los inconvenientes de DKAN es que es una herramienta basada en Drupal 7, versión de Drupal cuyo soporte finaliza en noviembre del 2021, y actualmente la versión para Drupal 8, DKAN 2, se encuentra todavía en desarrollo. Sobre la misma hablaba en un artículo de Medium Aaron Couch:

Hemos comenzado un prototipo para la versión Drupal 8 de DKAN que nos entusiasma mucho. No hemos establecido una arquitectura específica, pero la demostración inicial es 100% headless, lo que ofrece algunas posibilidades interesantes. ¿Qué tan genial sería si DKAN y CKAN pudieran compartir el mismo front-end? Un catálogo de datos abiertos desacoplado también facilita a muchos desarrolladores front-end que no conocen PHP o Python crear herramientas de catálogo.

Y pese a que el desarrollo todavía se encuentra en fase alfa tiene muy buena pinta.

Enfoques de arquitectura headless y decoupled como alternativa.

Con la llegada de librerías javascript como Angular, React, Vue, Svelte... el presente y futuro del desarrollo de software basado en web ha tomado un rumbo claro y es que la arquitectura de frameworks web con los que construir backend y frontend monolíticamente está pasando a ser historia del desarrollo web, convirtiéndose en microframeworks enfocados en puro backend y en el desarrollo de APIs que consumir desde el frontend.

 

Implementation Guide on Headless and Decoupled CMS

 

La industria de los CMS no se queda a atrás y ya son numerosos los CMS que están optando por los enfoques headless o desacoplados, permitiendo que los desarrolladores frontend puedan construir interfaces sin necesidad de tocar el backend del proyecto. Es por aquí por donde Drupal y su ecosistema está apostando, arquitecturas headless o desacopladas utilizando React que permitan crear interfaces únicas que consuman de distintos sistemas de gestión.

¿Será realmente este el futuro de los portales open data basados en DKAN/CKAN? Todo apunta a que así será, pero son tiempos locos en el mundo del desarrollo web.