[ROADMAP] Migration to new data model for timetables
This currently consists of work in the following apps:
- Core (AlekSIS-Core!1304 (merged))
- Chronos (AlekSIS-App-Chronos!301 (merged))
- Cursus (AlekSIS/onboarding/AlekSIS-App-Cursus!2 (merged))
- Lesrooster (AlekSIS/onboarding/AlekSIS-App-Lesrooster!2 (merged))
- Untis (AlekSIS-App-Untis!166)
- Kolego (master)
The following things have to implemented and tested:
-
Import of all kinds of data from Untis -
Calendar frontend -
Export of ICS files (AlekSIS-App-Chronos#40) -
Direct integration of iCal feeds in calendar software (AlekSIS-App-Chronos#40) -
Display of lessons, substitutions, supervisions, events, and extra lessons in calendar frontend -
Tracking of timetable changes and sending of notifications
These are the steps:
-
Creation of new models in Cursus (AlekSIS/onboarding/AlekSIS-App-Cursus!1 (merged)) -
Creation of new models in Lesrooster (AlekSIS/onboarding/AlekSIS-App-Lesrooster!1 (merged)) -
Basic implementation of calendar feeds in Core (AlekSIS-Core!1148 (merged)) -
Basic implementation of calendar frontend in Core (AlekSIS-Core!1148 (merged)) -
Creation of new Holiday model in Core (AlekSIS-Core!1185 (merged)) -
Merge of Holiday model and basic calendar frontend (AlekSIS-Core!1185 (merged), AlekSIS-Core!1148 (merged)) -
Import of all data from AlekSIS-App-Untis (AlekSIS-App-Untis!166) -
Subjects -
Rooms -
Absence Reasons/Types -
Person absences -
Class absences -
Room absences -
Teachers -
Classes -
Slots and breaks -
Supervisions -
Lessons (Lesrooster)
-
-
Exam model in Cursus -
Fix not working django-jsonstore -
Event generation from lessons in Chronos (AlekSIS-App-Chronos!301 (merged)) -
Event generation from supervisions in Chronos (AlekSIS-App-Chronos!301 (merged)) -
Import more data from AlekSIS-App-Untis -
Substitutions (amending lesson events in Chronos) -
Extra lessons (free event via Chronos) -
Supervision substitutions (amending supervision events in Chronos, AlekSIS-App-Chronos#189 (closed)) -
Events (free event via Chronos) -
Exams (free event via Chronos) -
Change tracking -
Clean up import -
Update logging
-
-
Ensure __str__
methods and name mixins for m2m fields everywhere -
Ensure all necessary attributes at calendar events and customize displaying of events in AlekSIS' own calendar frontend (all data from old frontend have to be included) -
Substitutions should be cancelled at the substituted plan -
Calendar events with current changes should be marked extra -
Check permissions for calendars -
Test with teacher and student accounts -
Fix typing everywhere -
Implement filtered calendar feeds for e.g. room timetables -
New Chronos frontend -
Room timetables, teacher timetables, class/course timetables (AlekSIS-App-Chronos#150 (closed)) -
Special views (AlekSIS-App-Chronos#119, AlekSIS-App-Chronos#120) -
Substitutions as table and as PDF
-
-
Working notification system (AlekSIS-App-Chronos#201 (closed), AlekSIS-App-Chronos#209) -
Migration path from old Chronos to new Chronos -
Dropping of old models in Chronos -
Frontend for managing holidays in Core (@ZugBahnHof, AlekSIS-Core!1261 (merged)) -
Fix versions -
Document new data model with text and graphic -
Document usage of calendar system