Timetabling is never easy for any school administrator, I guess. However, timetabling tools can ease this significantly. I’m trying to find ways for a Gibbon user to be able to use an external timetabling software. Currently Gibbon only partially supports this. I’m not aware of plans to improve this.
We had a discussion on this topic before. We discussed support for the external timetabling software FET (http://lalescu.ro/liviu/fet/). This is the link: https://ask.gibbonedu.org/discussion/767/support-of-timetable-transfers.
To support external timetabling, different data need to be compiled. I’m not much worried about the timetable structure (days and periods), which can easily be reproduced in any timetabing software, I guess. More important are records on classes, teachers, and spaces which can be a lot of data. I guess, even a small basic school offers at least 100 different courses (e.g. 10 courses for each of the 10 year groups), has more than 30 teachers and about 15 class rooms and labs, right?
I’m not much worried about the structure of the exported csv file. LibreOffice is the perfect tool to make all needed changes to enable import of the data into any timetabling software.
Now, what does the timetabling software basically do? It takes the data and calculates an optimum timetable based on predefined conditions, e.g. having PE preferably in the afternoons and Maths in the mornings, etc. Once the administrator is satisfied with the timetable, it is then exported into a data file again to be imported into Gibbon.
Now, Gibbon does support timetable imports. However, it does more than just creating the timetable. In addition it changes courses, classes and adds the class teacher. These additions are somehow unconventional, I guess. I don’t really know, why Gibbon’s import function goes further than expected and I’m missing documentation on what exactly is modified. I’m a little uncomfortable with this. However, a little hacking may do the trick here.
I think, it would be cool if Gibbon could assist better in exchanging data with external timetabling software.
What is your opinion on this? How can we achieve this? Should we use the query builder module?