GIE - External Data

El desarrollo del sistema de External Data complementa el trabajo que estamos haciendo en Ikasys con el equipo de GIE (Gipuzkoako Ikastolen Elkartea). Antes de tener el sistema de External Data, Ikasys (más específicamente Trainer e Inspector) se veía obligado a extraer datos de la estructura académica, los alumnos y los profesores de algún tipo de sistema de gestión de centros educativos de terceros. External Data proporciona una implementación de este sistema, librando así a Ikasys de su única dependencia con un sistema ajeno.

Esto significa que, como External Data puede desplegarse ahora junto a la plataforma Ikasys en aquellos centros que no tienen un sistema de gestión propio, el uso de la plataforma Ikasys no está limitado a centros dotados previamente de un sistema de gestión. De hecho Ikasys ya puede desplegarse independientemente de cualquier centro educativo como un servicio ejecutándose en la nube.

El desarrollo de External Data se dividió en dos etapas, ambas completadas por Hugh desde la oficina de Valencia. Primero, empezamos analizando el API (Facade) al sistema de gestión educativo existente con la intención de definir un API genérico que funcionase con cualquier fuente futura de esta información (habíamos incluido el API como parte de nuestro trabajo en el proyecto de Ikasys). El API existente suministraba la información que Ikasys necesitaba para relacionar grupos de ejercicios y resultados con las asignaturas, alumnos y profesores correspondientes pero exponía, en varios sitios, el funcionamiento interno del sistema de gestión educativo.

También era vital que trabajásemos estrechamente con el equipo de desarrollo de Ikasys durante la definición del nuevo API ya que ellos eran los únicos que conocían exactamente qué datos eran necesarios y en qué formatos. El objetivo aquí era definir este nuevo API (y ofrecer una implementación totalmente testeada) de tal forma que se devolviese la información de forma idéntica independientemente del sistema de gestión educativo usado.

Como parte de este proceso, definimos la estructura inicial de la base de datos de External Data y construimos nuestra implementación del API sobre ella, usando pruebas (usamos TDD siempre que fue posible) y recogiendo observaciones del equipo de desarrollo de Ikasys para validar nuestro trabajo.

Lo que entregamos fue una definición limpia y mínima del API y una implementación totalmente probada del mismo. A la vez el equipo de Ikasys implementó este API para el sistema de gestión educativo existente que se estaba usando en producción y adaptaron su código para usar los datos formateados de forma genérica que ya devolvía.

La segunda etapa de este proyecto fue la creación de la interfaz gráfica de External Data para poder proporcionar a los administradores del centro educativo los medios para controlar todos los aspectos del funcionamiento diario del sistema de External Data y también darles la oportunidad de cargar y manipular volúmenes de datos razonablemente grandes (durante la configuración inicial del sistema o el cambio de un año académico al siguiente, por ejemplo).

La interfaz de usuario tenía que ser multi-idioma (Inglés, Español y Euskera), permitir crear y modificar traducciones para datos de texto y facilitar en el futuro la incorporación de otros lenguajes. Como siempre, tenía que ser compatible con versiones distintas de varios navegadores tal y como definía la documentación de compatibilidad de Ikasys.

Las siguientes son algunas capturas de pantalla de la interfaz de usuario final de External Data donde el lenguaje elegido es Euskera y donde hemos ofuscado los nombres de los alumnos y profesores.

Grupos Académicos

Los grupos en los que están organizados los alumnos. Un alumno puede pertenecer sólo a un Grupo Académico por Año Académico pero puede pertenecer a cero o más Subgrupos Académicos por Grupo Académico. Las Asignaturas pueden asignarse a Grupos y Subgrupos Académicos.

Grupos Académicos - Editar Asignaturas y Profesores asociados

A la izquierda podemos ver los tres campos disponibles para la traducción del nombre del Grupo Académico. A la derecha la pestaña seleccionada muestra las Asignaturas y Profesores asociados a este Grupo Académico, permite añadir más combinaciones de Asignatura / Profesor usando los dos campos de búsqueda autocompletables que aparecen en la parte superior de la pestaña seleccionada y proporciona un botón de borrar para cada combinación de Asignatura / Profesor.

Grupos Académicos - Editar Alumnos asociados

La pestaña seleccionada aquí muestra los alumnos asociados a este Grupo Académico.

Estructura Académica

De izquierda a derecha las tres columnas principales representan Etapas, Ciclos y Niveles de la Estructura Académica configurada. Dentro de cada columna principal la primera subcolumna permite ordenar las entradas mientras que la segunda contiene la abreviatura para cada fila (el número entre paréntesis muestra el número de traducciones que se han creado para la abreviatura). A la derecha encontramos unos enlaces para editar y borrar cada entrada donde el borrado de una entrada implica el borrado de las entradas hijas, si existen.

Asignaturas

Esta vista muestra la lista de Asignaturas que se han creado, con enlaces a la derecha para editar y borrar cada entrada. Pinchando en el segundo botón (Csv Fitxategia Igo) se muestra un formulario de carga que permite al usuario elegir un fichero CSV que puede usarse para importar múltiples Asignaturas en una única operación.