Code Monkey home page Code Monkey logo

ckanext-federgob's Introduction

ckanext-federgob

¿Qué es 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.

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 no se ha testeado en conjunto con ckanext-dcat, podría haber problemas si ambos estuvieran funcionando al unísono.

¿Cómo instalar el FederGob?

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.

¿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 mostrarán por pantalla y se podrá acceder al fichero de metadatos en la URL: {-URL-CATALOG-}/federator.rdf .

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 la URL: {-URL-CATALOG-}/federator.rdf. Sigue el manual oficial del Federador de Datos.gob.es para configurarlo.

Reconocimientos

Este plugin ha sido desarrollado por el grupo Quercus SEG para federar el portal Opendata Cáceres portal.

Licencia

Este plugin se publica bajo la licencia MIT

ckanext-federgob's People

Contributors

jesusredondo avatar ontoquercus avatar

Stargazers

 avatar

Watchers

 avatar  avatar

ckanext-federgob's Issues

IndexError: list index out of range

Hola Jesús,

he instalado el plugin en el CKAN del Instituto Cántabro de Estadística (https://datos.icane.es), aparentemente sin problemas, pero al ejecutar el script FDG/federatedatosgob.py se produce un error. Esta es la salida por consola:

https://datos.icane.es
https://datos.icane.es/dataset/censo-agrario.rdf
Traceback (most recent call last):
File "federatedatosgob.py", line 103, in
while not "" in strings_page_RDF[header_lines]:
IndexError: list index out of range

La versión del CKAN es 2.0 y la de Python la 2.6.6.

MIT or AGPL v3.0?

Hi,

In the root directory of there is a MIT license (LICENSE file) and the README says the plugin is licensed under AGPL v3.0. The files themselves don't have a license header. In this case, I think it lead to a confusion that under which license the plugin is released (specially given MIT is permissive and AGPL is restrictive).

If the plugin is distributed under AGPL v3.0, may be it is better to replace the LICENSE file with the correct license.

Uninstall ckanext-federgob

Hello,
we weren't sure about using DCAT + ckanext-federgob as the website said just that "it wasn't tested" so we installed ckanext-federgob but we found that localhost/catalog.rdf now is not working,

We would like to have both settings so we have decided to unistall ckanext-federgob. How can we remove it?

We have removed the folder and also tried with https://gist.github.com/myusuf3/933625 but still doesn't work, as it was working before installing ckanext-federgob.

We tried installing again DCAT but still doesn't work, seems like ckanext-federgob changed any file to redirect calls to /catalog.{format} to other place.

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.