Wartung
Aktualisierung der Pläne
Wenn sich die Pläne oder deren URLs ändern, wird automatisch ein PR erstellt, der die Datei assets/timetables.json
(sowohl in /web
als auch /server
) aktualisiert. Dieser PR sollte grob überprüft werden und zeitnah gemerged werden.
Für diese Aktualisierung wird sked_parser verwendet. Der Aufbau der timetables.json
ist hier beschrieben.
TIP
Bei Semesterbeginn sollte darauf geachtet werden, dass möglicherweise noch alte Stundenplane in dem PR enthalten sind, wenn einige Fakultäten die neuen Stundenpläne noch nicht veröffentlicht haben und andere schon (gerade Informatik ist häufig später dran als andere).
Dann kann es sinnvoll sein, die alten Pläne aus dem PR manuell zu entfernen und dann zu mergen. Oder man wartet, bis alle Fakultäten ihre Pläne veröffentlicht haben, das dauert aber meist ziemlich lange.
Aufgaben zu Semesterbeginn
Alle relevanten Stellen im Code können auch gefunden werden, indem man nach TODO Semesterwechsel
sucht. Im Folgenden werden diese kurz beschrieben.
Semesterstart setzen
Im Frontend muss gesetzt werde, welche Woche die erste Vorlesungswoche ist. Das wird in der Variable SEMESTER_WEEK_1
in web/store/splus.js
gesetzt. Der Vorlesungsbeginn der Ostfalia wird in diesem PDF veröffentlicht, woraus man die ISO-Woche berechnen kann.
sked-parser
Konfiguration aktualisieren
Die oben erwähnte Aktualisierung der Pläne nutzt die Datei timetable-config.yaml
als Konfiguration. Zu Semesterstart muss diese Datei aktualisiert werden:
- Der String für das aktuelle Semester muss aktualisiert werden.
- Die Blacklist Strings müssen aktualisiert werden. Diese sollten den Namen des vorherigen Semesters in unterschiedlichen Variationen enthalten (da einige Fakultäten die Stundenpläne des vorherigen Semesters manchmal nicht richtig löschen).
- Die Stundenplan-URLs in der Datei sollten überprüft werden, ob diese noch aktuell sind. Die Übersichtsseite der Ostfalia findet sich hier.
TIP
Die tägliche Github Action, die den PR erstellt, kann auch hier mit Run workflow
manuell ausgeführt werden, um die veränderte Konfiguration zu überprüfen.
Überprüfen der einzelnen Stundenpläne
Zu Semesterbeginn sollte zudem von jeder Fakultät mindestens ein Stundenplan in der UI angeschaut werden, um zu überprüfen, dass die Daten richtig geparst wurden. Wichtig ist, dass die Dozierenden richtig geparst werden und zensiert angezeigt werden. Außerdem sollte der Raumname richtig angezeigt werden.
Wenn in Spluseins gar keine Vorlesungen angezeigt werden, bei der Ostfalia aber schon, kann es sein, dass der serverseitige Parser in dieser Datei angepasst werden muss, das ist aber eher selten der Fall.
Gespeicherte Pläne löschen
Zudem muss bei dem vuex-persist
-Plugin die Storage-Version erhöht werden, damit Pläne des vorherigen Semesters aus dem Local Storage der Nutzer gelöscht werden. Dies passiert in web/plugins/vuex-persist.js
, die Zeilen sind mit TODOs markiert.
Aktualisierung der Dependencies
Der renovate
-Bot öffnet automatisch PRs, sobald es Updates für Dependencies gibt. Diese können einfach gemerged werden, solange im Changelog in der PR-Beschreibung keine kritischen Breaking Changes angezeigt werden.
Updates auf dem Ubuntu-Server
Der Ubuntu-Server, der uns von der Fakultaet I zur Verfuegung gestellt wird, sollte auch gelegentlich aktualisiert werden. Dies kann mit dem Befehl apt-get dist-upgrade
geschehen. Sicherheitsupdates werden allerdings automatisch installiert, weshalb das nicht sehr regelmaessig geschehen muss.
Falls irgendwelche Abfragen vom dokku
-Paket kommen, koennen diese in der Regel einfach mit dem Default bestaetigt werden. Nach dem Upgrade muss der Server wegen dokku
in der Regel neugestartet werden, damit SplusEins wieder funktioniert.
Ausserdem muss alle paar Jahre die Ubuntu-Version mit dem Befehl do-release-upgrade
aktualisiert werden.