GIE - External Data

The development of External Data complements the work that we are doing on Ikasys with the team at GIE (Gipuzkoako Ikastolen Elkartea). Prior to the completion of the External Data system Ikasys (more specifically Trainer and Inspector) needed to extract details about the academic structure, students and teachers from some type of external education centre management system. External Data provides an implementation of this system which frees Ikasys from it's only dependency on a 3rd party system.

This means that, since External Data can now be deployed along with the Ikasys platform in those education centres that do not have an existing management system, the use of the Ikasys platform is not limited to centres that already have a management system. Indeed Ikasys can now be deployed independently of any education centre as a service running in the cloud.

The development of External Data was divided into two stages, both of which were done by Hugh from the office in Valencia. Firstly, we began be analysing the API (Facade) to the existing education management system with a view to defining a generic API that would work with any future source of this information (we had introduced the API as part of our work with the Ikasys project). The existing API provided the information that Ikasys needed in order to be able to relate groups of exercises and results to the appropriate subjects, students and teachers but it exposed, in a number of places, the inner workings of the existing education management system.

It was also vital that we worked closely with the Ikasys development team during the definition of the new API as they were the only people who were in a position to know exactly what data was required and in which formats. The goal here was to define this new API (and provide a fully tested implementation) in such a way as to return the information in a identical way regardless of the underlying education management system being used.

As part of this process, we defined the initial structure of the External Data database and built our implementation of the API on top of it, using tests (we used TDD where possible) and feedback from the Ikasys development team to validate our work.

What we delivered was a clean and minimal definition of the API and a fully tested implementation of it, while at the same time the Ikasys team implemented this API for the existing education management system that was being used in production and retrofitted their code to use the generically formatted data that it was now returning.

The second stage of the project was creation of a graphical user interface for External Data in order to provide the education centre's administrators with the means to control every aspect of the day to day operation of the External Data system as well as give them the opportunity to upload and manipulate of reasonably large amounts of data (during the initial set-up of the system or during the change over from one academic year to the next, for example).

The finished user interface had to be multilingual (English, Spanish and Basque), allow translations to be created and modified for textual data and permit the easy incorporation of other languages in the future. As always it had to be compatible with a number of different versions of a wide range of browsers as defined by the Ikasys compatibility documentation.

The following are some screenshots of final External Data user interface where the selected language is Basque and we have obscured the names of students and teachers.

Academic Groups

The groups into which the students are organised. A student can belong to only one Academic Group per Academic Year but may belong to zero or more Academic Subgroups within a given Academic Group. Subjects can assigned to Academic Groups and Academic Subgroups.

Academic Groups - Editing associated Subjects and Teachers

At the left we can see the three fields available for the translation of the name of the Academic Group. While on the right the selected tab shows the Subjects and Teachers associated with this Academic Group, allows the addition of more Subject / Teacher combinations using the two auto-completing search fields at the top of the selected tab and provides a delete button for each Subject/Teacher combination.

Academic Groups - Editing associated Students

The tab that has been selected here shows the Students that are associated with this Academic Group.

Academic Structure

From the left the three main columns represent the Stages, Cycles and Levels of the configured Academic Structure. Within each main column the first column permits the entries to be ordered while the second contains the abbreviation for each row (the number in brackets show the number of translations that have been created for the abbreviation). At the right there is a link each for edit and deleting each entry, where deleting an entry results in the deletion of any child entries.


This view shows the list of Subjects that have been created, with links provided at the right to edit and delete each entry. Clicking on the second button (Csv Fitxategia Igo) displays an upload form that allows the user to select a CSV file which can be used to import multiple Subjects in a single operation.