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.
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.
-
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).
-
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.
-
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.
-
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.
-
No soporta descripciones multi-valuadas. (Por ejemplo, descripciones en varios idiomas).
-
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.
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.
- 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.
- 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"
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.
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/
.
Para configurar los metadatos del portal hay que ejecutar el script config.py
→ sudo python config.py
. Hay que rellenar los siguientes campos:
-
{-URL-CATALOG-} : Es la URL del catálogo. Por ejemplo:
http://opendata.caceres.es
. -
{-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íahttp://datahub.io/dataset
parahttp://datahub.io
. -
{-LANGUAGE-} : Idioma del catálogo. Tiene que seguir el estándar RFC 1766. Por ejemplo:
es
,en
ofr
. -
{-TITLE-} : Título del catálogo. Ejemplo:
Opendata Cáceres
. -
{-DESCRIPTION-} : Descripción pormenorizada del catálogo.
-
{-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
. -
{-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
. -
{-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.py
→ sudo 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.py
→ sudo 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.
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.
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.
Este plugin ha sido desarrollado por el Ontology Engineering Group, basado en el plugin original FederGob, desarrollado por el grupo Quercus.
Este plugin se publica bajo la licencia GNU Affero General Public License (AGPL) v3.0