Package: ckanext-siu-harvester
SIU HarvesterEsta extensión de CKAN permite cosechar (harvest) datos expuestos en sistemasSIU.ElSistema de Información Universitariaes unconjunto de aplicacionesque 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 transparenciaSIU incluye unportal de transparenciaque 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).ConsultasLas consultas a la base de datose se definen en archivos CDA<?xml version="1.0" encoding="UTF-8"?><CDADescriptor><DataSources><Connectionid="myconnection"type="sql.jndi"><Jndi>transparencia</Jndi></Connection></DataSources><DataAccessaccess="public"cache="true"cacheDuration="7200"connection="myconnection"id="IdParaUsarComDataAccessID"type="sql"><Columns/><Parametername="prm_anio"type="Numeric"default="0"/><Query>SELECTfield_a,field_b,field_cFROMxtablewherefield_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 yagregarlos al harvesterpara consumir estos datos de manera automtizada y periódicamente.InstalaciónDisponible enPypio 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.txtAgregar origenLa URL losharvest sourcesde este tipo son de la forma:http://wichi.siu.edu.ar/pentaho/plugin/cda/api/doQueryDebe elegir la URL de la instancia de la que desea obtener datosConfiguraciónPara conectarse es requisito que para cadaharvest sourcedefinir 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 esteharvesterse va a conectar{"username":"user","password":"password"}Datos a extraerEstos endpoints pueden incluir multiples recursos. Cada recurso es unqueryal endpoint ya listo para usar.Estos ya están configurados en el directorioqueriesde la libreríasiu-dataPor ejemploegresados-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 esteharvesterva a iterar por los años disponibles y creará un dataset para cada año.Es posible agregar másqueriespara consumir más datos.Configuraciones adicionalesLimitar los archivos dequeriesusadasLalibrería siu-dataa la que se conecta esteharvesterincluye todos losarchivos 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 cononly_filesde esta forma:"only_files":["1-PRESUPUESTO-tablero_01.json","1-PRESUPUESTO-tablero_02.json"]Los archivos a usar se identifican con la propiedadnamede cada archivo de consulta.Sobreescribir configuracionesLos archivos de consulta permiten definirtags,gruposy 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 datasetsSi 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"]}}}TestsLocallydocker-compose exec ckan bash -c \
    "cd src_extensions/ckanext-siu-harvester && \
        nosetests --ckan --nologcapture --with-pylons=test.ini ckanext/siu_harvester/tests"