Giter Site home page Giter Site logo

icane / ckanext-federgob Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oeg-upm/ckanext-federgob

0.0 1.0 0.0 53 KB

Extension to ease the federation process of CKAN catalogs with the global catalog of Spain, [Datos.gob](http://www.datos.gob.es/).

License: GNU Affero General Public License v3.0

Python 100.00%

ckanext-federgob's Introduction

ckanext-federgob

¿Qué es FederGob?

FederGob es una extensión para CKAN que facilita el proceso de federación con Datos.gob.es, el catálogo de datos oficial de España. En concreto, el plugin presentado en esta pagina es una version modificada del plugin original FederGob, que esta especialmente modificado para permitir federación desde aquellas instancias del CKAN que utilicen el plugin ckanext-dcat (el plugin ckanext-dcat causa problemas si estuviera funcionando al unísono con el plugin original de FederGob). Esta documentación esta basada en la documentación del plugin original.

La documentación oficial para federar portales contra Datos.gob.es es la siguiente: manual del Federador. Es recomendable leer la documentación oficial sobre cómo se deben estructurar los metadatos: Norma Técnica de Interoperabilidad de Reutilización de Recursos de Información.

Esta extensión sólo permite la federación mediante metadatos representados en RDF. Se modifican los metadatos originales proporcionados por CKAN para adecuarlos a la Norma Técnica de Interoperabilidad mencionada anteriormente.

El vocabulario principal para describir los metadatos es DCAT. Datos.gob.es ofrece un manual que incluye una plantilla rdf/xml que es utilizada como esqueleto para este plugin.

Es recomendable revisar esta presentación sobre el Federador y el manual del usuario para aprender cómo utilizar el Federador.

¿Cómo funciona?

Por defecto CKAN genera metadatos en rdf/xml de cada dataset utilizando el vocabulario DCAT.

FederGob adecúa estos metadatos a los que consume el Federador de Datos.gob.es (ver el anexo I en el manual del usuario del Federador). Además, se crean metadatos sobre el propio portal, necesarios para completar el proceso de federación.

FederGob incluye scripts para automatizar la generación de los metadatos periódicamente.

Prerrequisitos

  1. La versión CKAN del catálogo en el que se instale el plugin debe ser la 2.0 o superior (no se ha testeado con versiones anteriores).

  2. Todos los datasets del catálogo CKAN deben tener el campo etiqueta (tag) relleno con uno de los valores que aparecen en la segunda columna de la primera tabla del anexo IV en la Norma Técnica de Interoperabilidad de Reutilización de Recursos de Información.

  3. Todos los datasets deben tener el campo licencia relleno. En el caso de que no esté relleno se tomará la licencia Creative Commons Attribution por defecto.

  4. La primera frase de la descripción de cada dataset (todo lo que se encuentre antes del primer punto ".") se utilizará para rellenar el campo dcat:description. Por lo tanto sería recomendable que esta primera línea se utilice para describir el dataset brevemente.

Limitaciones

  1. No soporta descripciones multi-valuadas. (Por ejemplo, descripciones en varios idiomas).

  2. Este plugin funciona solo en conjunto con ckanext-dcat. Si su instancia del CKAN no necesita ckanext-dcat, debe utilizar el plugin original FederGob. Los dos plugins deben ser instalados y configurados por separado.

¿Cómo instalar el FederGob?

Existen dos maneras diferentes de instalación del plugin. Si instalandolo de una manera no funciona, se puede hacer utilizando otra manera de instalación.

  1. Copia el plugin a tu carpeta src (normalmente es: /usr/lib/ckan/default/src/).

Instalar el plugin:

cd ckanext-federgob
sudo python setup.py develop

Asegurarse que `federgob está en la lista de plugins activos del fichero de configuración de CKAN y reiniciar Apache.

  1. Entra en la carpeta src de CKAN (normalmente es: /usr/lib/ckan/default/src/)

Ejecutar:

pip install -e "git+https://github.com/oeg-upm/ckanext-federgob.git#egg=ckanext-federgob"

¿Cómo configurar FederGob?

FederGob tiene que ser configurado en local para que cree los metadatos. Después el Federator Datos.gob.es se encargará de leer la información generada.

Si tienes problemas con la instalación, por favor crea un nuevo issue en el repositorio.

Configuración local

Estos pasos permiten configurar la generación de los metadatos periódicamente. Todos los comandos tienen que correrse en la ruta: .../ckanext-federgob/ckanext/federgob/FDG/.

Configurar los metadatos del portal

Para configurar los metadatos del portal hay que ejecutar el script config.pysudo python config.py. Hay que rellenar los siguientes campos:

  1. {-URL-CATALOG-} : Es la URL del catálogo. Por ejemplo: http://opendata.caceres.es.

  2. {-URL-DATASET-} : Es la URL base donde se encuentran todos los datasets. Normalmente esta URL toma la forma: {-URL-CATALOG-}/dataset. Por ejemplo: http://opendata.caceres.es/dataset. Otro ejemplo sería http://datahub.io/dataset para http://datahub.io.

  3. {-LANGUAGE-} : Idioma del catálogo. Tiene que seguir el estándar RFC 1766. Por ejemplo: es, en o fr.

  4. {-TITLE-} : Título del catálogo. Ejemplo: Opendata Cáceres.

  5. {-DESCRIPTION-} : Descripción pormenorizada del catálogo.

  6. {-ISSUED-} : Fecha en la que se creó el catálogo, se debe utilizar el estándar ISO-8601. Por ejemplo: 2014-07-02T10:45:15.

  7. {-URL-PUBLISHER-} : URL de la organización que publica los datos en el catálogo. Tiene que ser una URL que siga el formato establecido por el NTI. Para más información consultar el anexo II C del manual del Federador. Por ejemplo: http://datos.gob.es/recurso/sector-publico/org/Organismo/L01100377.

  8. {-URL-LICENSE-} : URL de la página web donde se describen los términos de usos del catálogo. Por ejemplo: http://opendata.caceres.es/terminos.

Si se edita manualmente el fichero fields.conf en lugar de utilizar el script config.py debes ejecutar merge_metadata.pysudo python merge_metadata.py para que los cambios se hagan efectivos.

Se puede comprobar que la configuración ha sido correcta ejecutando el script que genera los metadatos: federatedatosgob.pysudo python federatedatosgob.py. Si todo ha sido satisfactorio, todos los datasets del catálogo se encuentran en el fichero RDF de metadatos en la ruta /ckanext-federgob/ckanext/federgob/public/.

Ultimo, como el fichero RDF que contiene metadados esta utilizado externamente por el federador, hay que crear en el servidor un enlace con la redirección a dicho fichero.

Automatizar la actualización

Como se ha visto en el punto anterior, los metadatos se generan cada vez que se ejecuta el script federatedatosgob.py. Para automatizar la generación de metadatos se debe ejecutar periódicamente el script federatedatosgob.py. Se puede hacer uso de Cron en Linux para planificar tareas periódicamente, se recomienda que se configure Cron para que se ejecute federatedatosgob.py según las necesidades de actualización de cada portal.

Adicionalmente, FederGob incluye un script que configura Cron por defecto para que federatedatosgob.py se ejecute cada día a las 00.00 a.m. Simplemente hay que ejecutar auto_crontab.py como root → sudo python auto_crontab.py para establecer la actualización diaria a las 00.00 a.m.

Configuración externa: Configurar el Federador del portal Datos.gob.es

El federador debe leer los metadatos generados en el fichero RDF de metadatos utilizando el enlace creado en el paso anterior. Sigue el manual oficial del Federador de Datos.gob.es para configurarlo.

Reconocimientos

Este plugin ha sido desarrollado por el Ontology Engineering Group, basado en el plugin original FederGob, desarrollado por el grupo Quercus.

Licencia

Este plugin se publica bajo la licencia GNU Affero General Public License (AGPL) v3.0

ckanext-federgob's People

Contributors

aortizlanza avatar arc17854 avatar filiprd avatar jesusredondo avatar ocorcho avatar ontoquercus avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.