SIU Harvest
Project description
SIU Harvester
Esta extensión de CKAN permite cosechar (harvest) datos expuestos en sistemas SIU.
El Sistema de Información Universitaria es un conjunto de aplicaciones que permite de manera gratuita a las Universidades argentinas contar con las herramientas de software para su gestión integral.
Esta extensión de CKAN esta pensada para obtener estos datos y publicarlos en formatos reutilizables para darles mayor accesibilidad al público general.
Portal de transparencia
SIU incluye un portal de transparencia que incluye un API.
Estos datos se toman de la base SIU-Wichi, que contiene datos provenientes de los módulos SIU-Pilaga (Presupuesto), SIU-Mapuche (RRHH), SIU-Diaguita (Compras y Patrimonio) y SIU-Araucano (Académicos).
Consultas
Las consultas a la base de datose se definen en archivos CDA
<?xml version="1.0" encoding="UTF-8"?>
<CDADescriptor>
<DataSources>
<Connection id="myconnection" type="sql.jndi">
<Jndi>transparencia</Jndi>
</Connection>
</DataSources>
<DataAccess
access="public"
cache="true"
cacheDuration="7200"
connection="myconnection"
id="IdParaUsarComDataAccessID"
type="sql">
<Columns/>
<Parameter name="prm_anio" type="Numeric" default="0"/>
<Query>SELECT field_a, field_b, field_c
FROM xtable
where field_a = ${anio}
</Query>
</DataAccess>
</CDADescriptor>
Este harvester lee los enpoints del API que expone cada archivo CDA. Los archivos CDA incluidos en el Portal de Transparencia ya están cubiertos en este harvester. Esta listo para consumir y republicar datos.
Es posible tambien definir archivos CDA personalizados y agregarlos al harvester para consumir estos datos de manera automtizada y periódicamente.
Instalación
Disponible en Pypi o vía GitHub.
pip install ckanext-siu-harvester
ó
pip install -e git+https://github.com/avdata99/ckanext-siu-harvester.git#egg=ckanext-siu-harvester
+
pip install -r https://raw.githubusercontent.com/avdata99/ckanext-siu-harvester/master/requirements.txt
Agregar origen
La URL los harvest sources de este tipo son de la forma:
http://wichi.siu.edu.ar/pentaho/plugin/cda/api/doQuery
Debe elegir la URL de la instancia de la que desea obtener datos
Configuración
Para conectarse es requisito que para cada harvest source definir una configuración.
La configuración mínima y bigatoria es solo el usuario y a contraseña del API del portal de
transparencia al que este harvester se va a conectar
{
"username": "user",
"password": "password"
}
Datos a extraer
Estos endpoints pueden incluir multiples recursos. Cada recurso es un query al endpoint ya listo para usar.
Estos ya están configurados en el directorio queries
de la librería siu-data
Por ejemplo egresados-pos-facultad.json
{
"name": "evolucion-de-cargos-activos-por-escalafon",
"title": "Evolución de cargos activos por escalafón",
"notes": "",
"internals": "Describir mejor",
"iterables": {
"sub_list": {
"help": "Necesitamos primero obtener la lista de unidades académicas con otra consulta",
"name": "lista-de-unidades-academicas",
"params": {
"paramprm_tablero_visible": "18",
"dataAccessId": "param_ua_cargos",
"sortBy": ""
},
"apply_to": "paramprm_ua_cargos"
}
},
"tags": [
"Cargos", "Personal"
],
"params": {
"paramprm_ua_cargos": "",
"path": "/home/SIU-Wichi/Portal Transparencia/cda/4_rrhh.cda",
"dataAccessId": "tablero_18",
"outputIndexId": 1,
"pageSize": 0,
"pageStart": 0,
"sortBy": "2D"
}
}
De esta forma este harvester va a iterar por los años disponibles y creará un dataset para cada año.
Es posible agregar más queries para consumir más datos.
Configuraciones adicionales
Limitar los archivos de queries usadas
La librería siu-data a la que se conecta este harvester incluye todos los
archivos de consulta disponibles
(descriptos más abajo).
De manera predeterminada todos los archivos se usarán pero es posible limitar los archivos
usados en la configuracion con only_files
de esta forma:
"only_files": [
"1-PRESUPUESTO-tablero_01.json",
"1-PRESUPUESTO-tablero_02.json"
]
Los archivos a usar se identifican con la propiedad name
de cada archivo de consulta.
Sobreescribir configuraciones
Los archivos de consulta permiten definir tags, grupos y otros metadatos que cada dataset cosechado va a usar.
Es tambien posible configurar cambios desde la configuracion del harvester.
Ejemplo:
"override": {
"1-PRESUPUESTO-tablero_01.json": {
"notes": "Esta es una nueva descripcion para todos los datasets cosechados desde este archivo",
"tags": ["nuevo_tag_01", "nuevo_tag_02"]
},
"1-PRESUPUESTO-tablero_02.json": {
"tags": ["nuevo_tag_02", "nuevo_tag_03"],
"groups": ["group_01", "group_02"]
}
}
Agregar extras a los datasets
Si se requiere que en cada cosecha (además de los tags, grupos, notas, etc) se agreguen más metadatos a los datasets cosechados
"override": {
"4-RRHH-tablero_18.json": {
"extras": {
"my_custom_extra": "999",
"dataset_preview": {
"chart": {
"height": "250",
"chart_type": "Column",
"chart_color": "#30AA71",
"fields": "['Facultad', 'cantidad de empleados']",
}
}
},
"notes": "Nueva descripcion",
"tags": ["nuevo_tag_09", "nuevo_tag_12"]
}
}
Ejemplo configuracion final
{
"username": "usuario",
"password": "clave",
"only_files": ["4-RRHH-tablero_18.json"],
"override": {
"4-RRHH-tablero_18.json": {
"extras": {
"my_custom_extra": "999",
"dataset_preview": {
"chart": {
"height": "250",
"chart_type": "Column",
"chart_color": "#30AA71",
"fields": "['fuente_financiamiento' ,'total_devengado']",
}
}
},
"notes": "Nueva descripcion",
"tags": ["nuevo_tag_09", "nuevo_tag_12"],
"groups": ["group_01", "group_02"]
}
}
}
Tests
Locally
docker-compose exec ckan bash -c \
"cd src_extensions/ckanext-siu-harvester && \
nosetests --ckan --nologcapture --with-pylons=test.ini ckanext/siu_harvester/tests"
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file ckanext-siu-harvester-0.2.79.tar.gz
.
File metadata
- Download URL: ckanext-siu-harvester-0.2.79.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/2.7.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2b29757ec15b8b185946f92e03dd8aea2ba7cb023bc05a4b32f5cdd82c72f2b |
|
MD5 | 107b8b194491dbb24436671b24551d9e |
|
BLAKE2b-256 | bc8fb2485bd8df5fefcd38848ee6f2d0cc3109021f4985fbd85aa23a5e5b9204 |