Assembla terminado!!!

Tras estos días de trabajo con la API de Assembla he conseguido descargar y almacenar los metadatos de la lista de proyectos que me facilitaron.

Estos proyectos son resultado de prácticas de dos asignaturas que se imparten en la titulación de Ingeniería Informática en la Universidad de Cádiz. Los datos que hemos extraído (descargas, tickets, y milestones), en combinación con los datos que resulten del análisis del código que se aloja en el repositorio, servirán para postevaluar los proyectos siguiendo una determinada rúbrica. Con lo que en este proyecto se ha extraído se podrá conocer, entre otras cosas, los tickets que ha resuelto cada usuario del grupo, comprobando que el reparto ha sido equitativo, quién ha creado más tickets, si la distribución de éstos en el tiempo ha sido constante (sin picos muy altos de trabajo), los tickets asociados a cada milestone, etc.

Para llevar a cabo esto he tenido que estudiar la API de assembla, cuyos patrones de URIs han sido incluidos como inserciones en la base de datos en el fichero forges.sql. En la página de la API de Assembla http://www.assembla.com/spaces/breakoutdocs/wiki/Assembla_REST_API tenéis información acerca de qué datos proporciona cada documento. Como podéis comprobar la información que proporciona es más pobre que la que da SourceForge y, al querer mantener el mismo modelo de la base de datos hay muchos campos que quedarán vacíos. Aquí tenéis todo el mapeado, tanto de Assembla como lo que se realizó en su día para SourceForge https://docs.google.com/spreadsheet/ccc?key=0AnNbYBJtxBVAdEM3ck9XNk84d0FGeVVVTExqVEJTN1E

También he facilitado la prueba del programa en vuestros equipos. Para ello os he puesto en svn:/trunk/Repository un archivo llamado repo.xml, que contiene el repositorio con el que yo trabajo. Para instalarlo en vuestro ordenador personal sólo tenéis que crear un repositorio en vuestro PC desde el menú del propio Pentaho Tools/Repository/Connect y pincháis en el símbolo verde con un «+». En ese momento deberéis decidir si queréis guardar el repositorio con ayuda de un SGBD, yo en mi caso utilizo mysql, o en ficheros (nunca lo he utilizado).  Aquí os dejo una referencia donde dan información más detallada http://www.xperimentos.com/2007/05/21/repositorio-de-objetos-en-kettle/. Una vez creado el repositorio sólo tenéis que cliclar en Tools/Repository/Import y seleccionar el archivo repo.xml.

Para que Abreforjas funcione, os recuerdo que debéis tener una base de datos mysql con el modelo de datos que os incluyo en los ficheros creates3.sql y forges.sql y una conexión entre Pentaho y dicha base de datos configurada. http://wiki.pentaho.com/display/EAI/.03+Database+Connections

Los jobs que tenéis que ejecutar son, por este orden, CUSL/Assembla Discoverer, CUSL/Generic Wrapper/Generic Wrapper y CUSL/Integration Process/Integration Assembla Process. Como siempre deberéis estar atentos a las rutas de los ficheros que son consultados, ya que, con toda seguridad, no coincidirán en vuestro equipo y en el mío.

Un saludo a todos!!!

Giro en Abreforjas

Tras dejar el proyecto un poco parado debido a la carga de exámenes vuelvo con muchas fuerzas y ganas de seguir con el proyecto.

Como sabéis, la línea que estaba siguiendo consistía en obtener toda la información posible de los proyectos de SourceForge. Se había conseguido obtener los nombres de los proyectos, su información más general en formato RDF, los tickets y las descargas. Sin embargo únicamente habíamos mapeado la información general en la base de datos.

El cambio en la línea de abreforjas viene dado por el descubrimiento de FlossMole (http://flossmole.org/), una web que ofrece información actualizada de un conjunto de forjas, entre ellas SourceForge. Es por esto que debemos estudiar qué datos nos ofrece FlossMole para no «reinventar la rueda». No tendría sentido realizar el mismo trabajo de nuevo si podemos aprovechar los datos que en esta web se nos ofrecen.

Debido a esto y a una petición de profesores con los que colaboro me he dispuesto a tratar de realizar el mismo proceso en Assembla. Ésta tiene ciertas peculiaridades (no todos los proyectos son visibles, no se ofrece la lista de proyectos) y ofrece menos metadatos a través de su API. Por esto vamos a trabajar con una lista de proyectos definida y vamos a descargar toda la información que Assembla nos provee a través de su API para realizar un posterior mapeo en el mismo esquema, quizás con algunas modificaciones, de la base de datos.

En estos momentos, aunque aún no lo he subido a la forja, he conseguido bajarme toda la información (tickets, milestones, documents, etc) de la lista de los proyectos que me proporcionaron. Esta información se encuentra en ficheros XML y mi trabajo actual se concentra en mapear los datos qué estos ficheros contienen en el esquema de la base de datos que sí tenéis liberado.

Pronto tendréis más noticias. Saludos!!!