Reindexación CKAN/SOLR (workaround)

lunes, 17 de diciembre de 2012 0 comentarios
Una de las mejoras solicitadas dentro de la comunidad de CKAN es la posibilidad de poder llevar a cabo una reindexación no destructiva de indices de Apache SOLR. Actualmente, me encuentro supervisando la implantación de una instancia de CKAN para montar un portal de datos abiertos y durante el proceso hemos tenido que llevar a cabo una clonación de instancias. Durante ese proceso consideramos necesario llevar a cabo una carga de datos directa sobre la base de datos de la nueva instancia de CKAN con los contenidos de la antigua y detectamos que efectivamente SOLR no habia sido capaz de reindexar todos los nuevos contenidos por lo que aparecian falseados en la nueva instancia. Esto quiere decir que por ejemplo en la home de CKAN aparecia el mensaje de que este portal contenia 0 datasets cuando en realidad no era asi:


y adicionalmente, dado que teniamos habilitado la opción de indexación con SOLR en la configuración de CKAN tampoco aparecia ningun resultado al ejecutar una busqueda: 



Pero sin embargo los datos persistian en la base de datos, ya que como podemos ver, cuando accediamos a la zona de grupos, aqui si tenia acceso a los datasets que estaban ya cargados en la plataforma, existiendo un total de 22. 


Para corroborar nuestra teoria, accedimos a la instancia de SOLR que administraba la indexación de contenidos de CKAN y lanzamos la consulta por defecto *:* devolviendonos cero resultados.



Actualmente no existe solución para este problema y lo que he llevado a cabo es el desarrollo de un pequeño workaround para conseguir que SOLR reindexe los contenidos de CKAN. Este se basa en llevar a cabo la recopilación de todos los datasets via API REST de CKAN y llevar a cabo una actualización trivial de los mismos para que vuelva a forzarse la reindexación. Para desarrollarlo he partido del cliente de CKAN en PHP de Jeffrey Barke. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 <?php
 @ini_set('error_reporting', E_ALL);
 @ini_set('display_errors', 'stdout');
 require_once('config.php');
 require_once('ckan-client.php');

 $ckan = new Ckan_client(API);

 try
 {
  $data = $ckan->get_package_register();
  if ($data){
   $backup = array();
   echo 'Step 1: UPDATE';
   for ($i = 0; $i < count($data); $i++){
    $dataset = $ckan->get_package_entity($data[$i]);
    array_push($backup,$dataset->author);
    $cmd = "curl ".URL."/api/rest/dataset/".$dataset->name;
    $cmd = $cmd ." -d '{\"name\":\"".$dataset->name.'",';
    $cmd = $cmd ." \"author\":\"generate-reindex\"}'";
    $cmd = $cmd ." -H \"Authorization:".API.'"';
    echo $cmd;
    $output = system($cmd, $retval);
    echo $retval;
    echo $dataset->name.' reindexed by Solr';
 
   }
   echo 'Step 2: RESTORE';
   for ($i = 0; $i < count($data); $i++){
    $dataset = $ckan->get_package_entity($data[$i]);
    $cmd = "curl ".URL."/api/rest/dataset/".$dataset->name;
    $cmd = $cmd ." -d '{\"name\":\"".$dataset->name.'",';
    $cmd = $cmd ." \"author\":\"".$backup[$i]."\"}'";
    $cmd = $cmd ." -H \"Authorization:".API.'"';
    $output = system($cmd, $retval);
    echo $retval;
    echo $dataset->name.' restored and re-reindexed by Solr';
   }
 
   echo 'SUCCESS';
  }
 }catch (Exception $e)
 {
  print 'Caught exception: ' . $e->getMessage();
 }
 ?>

La ejecución de este script PHP fuerza a una actualización de todos los datasets y permite que SOLR pueda volver a reindexarlos. Una vez reindexados si volvemos a acceder al resultado de la busqueda de nuestra instancia de CKAN y al resultado de la query lanzada a SOLR vemos que estas devuelven los resultados esperados.


Este pequeño pro-tip debe tomarse como un workaround y debe revisarse todo el modelo de datos para comprobar que no se ha perdido ninguna referencia. Adicionalmente antes de llevar a cabo esto, recomiendo realizar un dump completo de la base de datos de CKAN.


Si todo ha ido correctamente deberá aparecer la traza de peticiones de tipo REST dentro del conjunto de historico de peticiones gestionadas por el administrador de la plataforma.

Hope it helps!

Compárteme en: Eskup Facebook Tuenti Meneame Bitacoras Google Yahoo Windows Live

Esto NO es una crónica de #opendatasev :)

martes, 27 de noviembre de 2012 2 comentarios
Antes de empezar, recalco nuevamente el título de este post: esto NO es una crónica del evento, es poner en blanco sobre negro mis impresiones tras el mismo y compartirlas con vosotros. Tras unos cuantos días de "descanso" creo haber sido capaz de digerir todo lo que ha dado de si las II Jornadas de Gobierno Abierto y Open Data Sevilla 2012. Este año, a diferencia del año pasado las he vivido de otra forma. La anterior edición fue muy amateur, improvisada, divertida y aunque era ponente me tome la experiencia con cierta tranquilidad.

Este año las cosas han sido bien distintas, y es que, como comento aquí, aunque el grueso de tiempo donde mas esfuerzo directo hemos puesto en la elaboración de las jornadas han sido estos últimos dos meses, realmente para mi las jornadas llevan preparándose desde el momento en que se cerro la primera edición y empezamos a recopilar las sensaciones de la gente que había asistido. 

En nuestra primera reunión post-evento del año pasado, como viene siendo habitual en el Viriato con una cerveza en la mano, decidimos que teníamos que apostar muy alto y trabajar todo el año en comenzar a dar forma a un grupo de trabajo que alcanzase un nivel de madurez lo suficientemente sostenible como para poder elaborar una segunda edición de las jornadas mucho más impactante. El objetivo de esto no era recibir cierta notoriedad sino poner sobre la mesa un mensaje: "los ciudadanos estamos aquí, opinando, trabajando y demandando transparencia". Y hablo de ciudadanos, no hablo de empresas. Muchos de los que estamos implicados en #opendatasev somos consultores de empresas TI, pero cuando nos sentamos a trabajar sobre las lineas de acción del grupo y los eventos y actividades que realizamos, nos quitamos esa gorra de "trabajo en la empresa XYZ" y nos ponemos la gorra de "soy Felix / Pablo / Ana / Juan / David / Ildefonso / etc.", ciudadanos que buscamos que las cosas cambien y que creemos que la tecnología y la apertura de datos pueden ayudar.

Las acciones que fuimos realizando se resumen aqui y han ido sumando una a una poniéndonos poco a poco en el mapa. Durante ese proceso hemos tenido la suerte de poder contar con mucha gente muy buena que nos ha ido apoyando, asesorando, y dándonos animo, siguiéndonos de cerca y ayudándonos en nuestras iniciativas. Y llego el 23 y 24 de Noviembre.

Opendatasev II - Organización

En esas fechas arranco la segunda edición, donde gracias al apoyo institucional de la UPO y a todos los patrocinadores implicados tuvimos un encuentro fantástico que llego a ser trending topic nacional durante todo el día 23. No voy a dar una crónica elaborada de las jornadas por ahora, estamos trabajando en ello para proporcionarla con detalle en breve a través de la web, sino quiero simplemente agradecer el trabajo y esfuerzo de todos los compañeros que han estado involucrados poniendo especial atención en David Rey. Si tengo que poner un nombre sobre la mesa y responsabilizar a alguien del completo éxito de estas jornadas, sin duda es él, por muchos motivos, pero destacaré dos: su empuje y ganas, contagiadas al resto del grupo, y su compromiso. Ha estado navegando entre dos turbulentas aguas: la de un grupo de geeks que llevan un año trabajando y la de la propia universidad. No voy a negar que han existido roces. Los hay hasta en las mejores casas, pero sin duda él siempre ha puesto las cosas fáciles y creo que hoy por hoy todos estamos muy contentos de los resultados obtenidos. 

Me quedo solo con dos cosas de las jornadas: la primera:  la abrumadora acogida por parte de todos los expertos en gobierno abierto y opendata a todos los niveles (nadie contactado y sin problemas de agenda dudo un segundo en venir) que también tuvo su repercusión en la cantidad de publico que concentramos (pasamos de rondar los 70 en la primera edicion a los mas de 300 inscritos en esta ultima). Que gente como Alberto Ortiz de Zarate, Guzman Garmendia, Marc Garriga, Martin Alvarez, Miquel Torregrosa, etc. auténticos pesos pesados te feliciten directamente y digan públicamente que este ha sido el evento del año es abrumador y solo hacen que dentro de unos dias cuando tengamos la primera reunión post-evento volvamos a plantearnos la misma manera de trabajar poniendo el liston aun mas alto si cabe.

La segunda de las cosas con las que me quedo: el apoyo de compañeros, colegas y amigos de profesión. Conseguir patrocinio no ha sido sencillo. Las fechas no acompañan y a pesar de todo hemos obtenido buena financiación para gestionar viajes, comida, carteleria e incluso camisetas. Pero no me quedo solo ahi. Me quedo en la gente voluntaria que ha aportado tambien su grano de arena, especialmente en Zazu y Juan, los voluntarios de la UPO, Luis y Paco, y todos los que participasteis en el HackFest liberando datos de la UPO o aportando herramientas para facilitar la reutilización de datasets como los que recopilamos en #adoptaunaplaya. 

En estos días terminaremos el proceso de valoración de los proyectos presentados en el hackathon y daremos oficialmente por finalizadas todas las actividades vinculadas directamente al evento. Faltan cosas, colgar en la web las presentaciones, videos, etc. y estamos en ello. Solo una ultima cosa, queremos que te unas a nuestra causa freak, asi que ya estas tardando para engancharte a #opendatasev y comenzar a trabajar las jornadas del año que viene.



Compárteme en: Eskup Facebook Tuenti Meneame Bitacoras Google Yahoo Windows Live

Objetivo cumplido y recursos #adoptaunaplaya

0 comentarios
Gracias a todos los que habéis participado en esta iniciativa hemos logrado recopilar todos los puntos de muestreo y el histórico de mediciones! Muchas gracias a todos por hacer esto posible! Adicionalmente y gracias a la colaboración de Christian y Manuel disponemos de un scrapper para mantener siempre actualizada la medición y disponemos también de una API REST en api.adoptaunaplaya.es gracias a los chicos de 47deg (en la foto) que nos han suministrado ademas varias visualizaciones y un cliente Android. Finalmente Pedro Lozano nos ha facilitado un code snipet para a traves de esta API consumir los datos via Drupal. Por ultimo, pero no menos importante en breve expondremos los ganadores del Hackathon de #opendatasev que también han llevado a cabo ejercicios de reutilización sobre este dataset colaborativo que hemos generado entre todos.


Accede a #adoptaunaplaya.


Compárteme en: Eskup Facebook Tuenti Meneame Bitacoras Google Yahoo Windows Live

Visualización de datos #UPO

lunes, 26 de noviembre de 2012 0 comentarios
Durante las II Jornadas de Gobierno Abierto y Open Data Sevilla 2012, la UPO presento una versión preliminar de su futuro portal de datos abiertos y llevo a cabo una liberación de un conjunto de datasets para que pudieran ser explotados durante el hackathon. Me llamo mucho la atención que casi todos los participantes se centrasen en explotar los datos de #adoptaunaplaya cuando estos otros datos me resultaban altamente interesantes, asi que me propuse sin tirar una linea de código hacer alguna visualización para que la gente viese que puede resultar muy sencillo comenzar a hacer cosas curiosas mediante herramientas como Google Fusion Tables.

Me centré en los datos de las calificaciones de los cursos académicos desde 2009 hasta el curso pasado. Tras cargar los ficheros en formato CSV en Google Fusion Tables, sin pasar antes por Google Refine, detecte ya que habia datos incorrectos como nombres de titulaciones mal formados para los cursos 2009/10 y 2010/11 y solicite que se actualizasen corregidos. Me centre en ver la media de la nota por titulación e intentar inferir que carreras de la UPO son las más fáciles y las más difíciles. Obviamente, esta visualización no es una base sobre la que pueda sustentar una afirmación como por ejemplo: "La titulación Grado en Análisis Económico de la UPO es la carrera con mayor dificultad", pero es un comienzo para generar una historia. Os dejo la visualización generada para el curso 2011/12 expuesta durante el Hackathon.

Teneis disponible el resto de visualizaciones aqui.

Compárteme en: Eskup Facebook Tuenti Meneame Bitacoras Google Yahoo Windows Live

Entrevista en #GacetaTecnológica

domingo, 18 de noviembre de 2012 0 comentarios
Hola a todos, con motivo de la celebración de las II Jornadas de Gobierno Abierto y Open Data Sevilla 2012, os comparto la entrevista que acaban de publicar las chicas de Gaceta Tecnologica.

El 23 de noviembre arrancan las II Jornadas de Gobierno Abierto y Open Data organizadas por el grupo Open Data Sevilla y la Universidad Pablo de Olavide. Ildefonso Montero, miembro del grupo Open Data Sevilla y responsable de negocio en Internet y Nuevos Medios de Ingenia, nos cuenta cómo está siendo la experiencia de organizar estas jornadas y las motivaciones de Ingenia vinculadas a patrocinar y reforzar su compromiso —por segundo año consecutivo— con un evento de estas características.

  • Ildefonso Montero.
    “Durante muchos años, todos, como ciudadanos, hemos vivido la modernización de los servicios públicos; algunos con el privilegio de participar en iniciativas dirigidas a aplicar la tecnología a soluciones de valor, con el compromiso de mejorar la calidad del servicio público y, por tanto, la calidad de vida de la ciudadanía. Los 20 años de experiencia de Ingenia en distintas administraciones del sector público han permitido conocer muy bien la idiosincrasia de este sector, así como sus procesos de negocio, centrados en el servicio público a los ciudadanos y, con esta perspectiva de innovación, hoy exploramos nuevos modelos, como la denominada corriente de Gobierno Abierto (Open Government), fundamentada en pilares como la participación y colaboración ciudadanala escucha activa y la transparencia mediante la apertura de datos públicos (Open Data). Creo firmemente que aquí las empresas TI tienen que reforzar su compromiso con las AAPPs y ayudarlas a llevar a cabo sus iniciativas de apertura de datos públicos”.
    “En Ingenia hemos trabajado duramente en desarrollar proyectos e iniciativas en este contexto, fundamentalmente en el ámbito de la apertura de datos. Nuestra participación en estas jornadas es un claro ejemplo de ello, ya que hemos vuelto a colaborar activamente en uno de los eventos de referencia de Open Data en el territorio nacional.”
    Cuando se le pregunta por las expectativas de las jornadas lo tiene muy claro. “Todos los implicados queremos que sean unas buenas jornadas y que todos las disfrutemos. En realidad, llevamos trabajando en ellas un año; desde que se dio el cierre a la primera edición, nos hemos ido reuniendo todos los miembros del grupo Open Data Sevillade forma periódica, viendo cómo podíamos mejorar y proporcionar un evento de calidad donde la máxima fuese la difusión teórica y también la práctica”. Este es el principal motivo por el que se organiza este año un Hackathondonde se explotarán datos públicos, entre los cuales se encuentran los de la iniciativa #adoptaunaplaya.

    Otros encuentros

    Ingenia, adicionalmente a estas jornadas, ha participado esta semana como auspiciador del II Encuentro C+G Ciudadanía y Gobierno Digital del Gobierno de Chile. En este encuentro se desarrollaron una serie de ponencias centradas en la apertura de datos y la participación ciudadana y se celebraron talleres con destacados ponentes.
    “Durante mi estancia en Latinoamérica el pasado mes de julio, ya tuvimos la suerte de colaborar con algunos de los principales ponentes del II Encuentro C+G en otro evento que organizamos en colaboración con la Cámara Oficial Española de Comercio de Chile y la Unidad de Modernización del Estado, del Ministerio Secretaría General de la Presidencia”.
    Para Ildefonso el reto está ahora en explorar modelos de negocio sostenibles, basados en la reutilización de los datos abiertos. “Estamos actualmente trabajando con el Ayuntamiento de Málaga para llevar a cabo una iniciativa de apertura de datos que dé como resultado un portal de datos abiertos, donde se puedan alojar los datos recopilados a través del proyecto 'Smart City Málaga'. Esta propuesta fue presentada en el Seminario de la Fundación SOCINFO denominado Smart Cities: Modelos, Ejes y Gobierno Abierto y recientemente ha sido anunciada durante el congreso Smart City Expo. Adicionalmente, estuvimos también presentes en el Salón de la Eficiencia Energética en Edificación y Espacios Urbanos Greencities 2012 con varias ponencias y una comunicación científica, donde exploramos nuevos modelos de reutilización de datos en el sector medioambiental y energético.”
Podéis acceder a la publicación original aqui.

Compárteme en: Eskup Facebook Tuenti Meneame Bitacoras Google Yahoo Windows Live

II Jornadas Gobierno Abierto y Open Data #opendatasev 2012

miércoles, 31 de octubre de 2012 0 comentarios

Los días 23 y 24 de Noviembre el grupo Opendata Sevilla y la Universidad Pablo Olavide celebran las II Jornadas Gobierno Abierto y Opendata Sevilla. El objetivo de las jornadas es promover los principios de transparencia y acceso a la información, participación y colaboración, a través de la apertura de datos públicos, sus motivaciones y objetivos en la ciudadanía, entre profesionales del sector y miembros de las instituciones públicas.

El día 23 tratará sobre jornadas de difusión, para lo cual se cuenta con la presencia de ponentes de renombre nacional en materia de Gobierno Abierto y Reutilización de la Información del Sector Público como Alberto Ortiz de Zárate (P. Vasco), Guzmán Garmendia (Navarra), Emilio García (MINHAP), Miquel Torregrosa (GenCAT), organizaciones ciudadanas como la Fundación Civio (Mar Cabra) o la Coalición Pro-Acceso (Manuel Sánchez de Diego) y empresas infomediarias como Vizzuality (Sergio Álvarez).

El día 24 se realizarán una serie de sesiones de trabajo entre las que se encuentran confirmadas:
  • LightTalks por parte de empresas locales
  • Hackathon Opendata: desarrollo de aplicaciones con datos que publicará la UPO y con los datos del proyecto adoptaunaplaya.es
  • Speaker Corner: donde ya se ha despertado el interés de grupos que trabajan proyectos muy interesantes, como LinkedOpenData en el entorno Bibliotecario, Tecnopolítica y Minería de Datos
La entrada al evento para los dos días es gratuita aunque es necesario formalizar inscripción para asistir.

Para contactar con el equipo organizador solo tienes que enviar un correo a opendatasev[arroba]gmail[punto]com o hacernos una mención en la cuenta de Twitter @opendatasev.

Compárteme en: Eskup Facebook Tuenti Meneame Bitacoras Google Yahoo Windows Live

Lanzamiento de #adoptaunaplaya

miércoles, 17 de octubre de 2012 0 comentarios
Hoy estamos de enhorabuena los integrantes del grupo @opendatasev ya que acabamos de lanzar la iniciativa #adoptaunaplaya. Fundamentalmente, #adoptaunaplaya es una iniciativa ciudadana para recopilar las mediciones de calidad de aguas de baño en España. La iniciativa consiste fundamentalmente en que el ciudadano que quiera colaborar con nosotros adopte un espacio de baño y se haga el responsable de cargar en un fichero público los datos de ese espacio. Solo tienes que elegir tu playa o lugar de baño favorito del listado que ya hemos cargado previamente y a continuación rellenar los datos procedentes de Nayade para ese lugar.


Todo interesado en ayudarnos que acceda a la URL: http://adoptaunaplaya.es y siga las instrucciones especificadas en el apartado 'Más información'.

Compárteme en: Eskup Facebook Tuenti Meneame Bitacoras Google Yahoo Windows Live