Acolito y JSON

dadosERAComo se acercan las Jornadas 2013, he vuelto a trastear en el código de MyAcolito buscando facilitarme la vida.

Aunque ahora mismo funciona bastante bien y no pienso hacer grandes cambios de aquí al comienzo de las jornadas, sí que hay algo que quería darle desde hace tiempo, y es el soporte de ejecución de scripts. Añadir las actividades una a una (y a los asistentes, ya que estamos), está muy bien siempre que se haga con tiempo y poco a poco… pero ese es un lujo del que casi nunca se dispone. Además, de un año para el siguiente puede cambiar drásticamente el formato en el que te envían los datos (formularios webs, correos electronicos pre-formateados, documentos en formato WORD, hojas de cálculo, etc…)La mejor solución que se me ocurrió fue emplear un sistema de scripts: los scripts se ejecutan mediante un QProcess y luego leen la salida del script cuando este ha terminado; dicha salida es en formato JSON y contiene los datos que debemos de incluir en la base de datos del evento.

La ventaja es, que no estamos atados a un único lenguaje de script, pudiendo hacer uso incluso de otros programas que realicen la tarea que queremos (podemos usar C, C++. Java, Python, etc…). El problema es que hay que utilizar o bien Qt 5 o superior, para tener soporte JSON directo, o si vamos a trabajar con versiones anteriores, emplear una librería JSON como por ejemplo QJson.

El formato que reconocen los scripts está incluido dentro de la documentación de las clases, pero cuando tenga tiempo quiero hacerla pública en el wiki del proyecto dentro de gitorious, para que no se me olvide. Por ahora, sólo permite añadir asistentes, pero con un poco más de tiempo tendrá soporte para actividades.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s