Skip to content

Conversation

@KakaoSchluerfer
Copy link

@KakaoSchluerfer KakaoSchluerfer commented Dec 11, 2025

Der Crawler nutzte als Unique ID das Kürzel.
Um Module mit demselben Kürzel (z.B. IKTS in SG und Rapperswil) in der Modul Liste abzubilden wurde als unique ID, das 'id' Attribut des Moduls festgelegt und das Kürzel zu 'shortKey' umbenannt.

Crawler Anpassungen:

  • id -> neu 'id' von Modul
  • shortKey -> vorher id, 'kuerzel' von Modul

Dabei wurde beachtet, dass jegliche required und dependant modules, sowie focus Zuweisungen in Takt bleiben.
Im Frontent "web"-Repository konnte ich nicht feststellen, dass diese id-Anpassungen zu Problemen führen könnte.

@KakaoSchluerfer KakaoSchluerfer mentioned this pull request Dec 11, 2025
@Untersander
Copy link
Member

Die richtige 'id' vom Modul als id zu nehmen macht sicher mehr Sinn als mit dem bisherigen System, wenn es keine Auswirkungen auf den rest der App hat oder dort nicht zu grosse Anpassungen bruacht können wir das gerne so machen.

@KakaoSchluerfer
Copy link
Author

Gesucht wird immer per Name Attribut: https://github.com/lost-university/web/blob/main/src/components/ModuleSearch.vue
Vom ID Change wäre die Suchfunktion also nicht betroffen.

Ein Problem sehe ich bei den favorisierten Links, worüber sich die Leute ihre Pläne abgespeichert haben. Dort stehen nämlich die Modulkürzel drin. Module sind mittels underscores und Semestergruppen jeweils mit Dashes getrennt:

https://lost.university/#/plan/An1I_OOP1_AutPy_CN1_DMI_RheKoI-An2I_AutoSpr_CySec_FP_BuRe2a-WrStat_AlgDat_Bsys1_Dbs1_WE1_IKAA_SEP1-MathFML_OOP2_HoC_PML_CldOp_DSy_HackL_SecSoW-PmQm_AIFo_AppArch_ML_GenAI_IPCV1_IKDH-AIAp_CldSol_DL_IPCV2_SEP2_SEProj-EnglHTw_SAI21_AADL-BAI21_IKPH/TecBEC?startSemester=HS24

Die Leute haben sich ihre Pläne als Link abgespeichert und man müsste im Web-Teill entsprechend die Anpassung machen, denn die IDs würden nicht mehr stimmen. Neu wären es ja numerische ID-Werte und nicht mehr die Modulkürzel.

Sauber wäre es natürlich die Umstellung auf "shortKey" zu machen. Ganz ohne ist der Change hier nicht.
Ich denke der Pull Request können wir vorerst auf On-Hold halten bis der Web-Teil angeglichen wird.

Aktuell tendiere ich eher dazu, lost.university mit OST SSO anzubinden und eine Datenbanklogik einzubauen, sodass die User auf ihren Account spezifisch die Studiumpläne abspeichern können und wir von diesen favorisierten Links wegkommen.

Ein nützliches Feature das man dort einbauen könnte wäre z.B.:

  • Kommilitionen hinzufügen und schauen, welche Semesterpläne diese verfolgen (Seine eigenen Plane sollte man natürlich teilen oder auf Privat setzen können)
  • uvm..

Bei mir stehen die WE1 und DBS1 Prüfungen an, vielleicht wäre das sogar ein Projekt als Prüfungsvorbereitung. Realistischer vielleicht erst nach der Prüfungsphase...😄

…. This way it's backward compatible and no changes in web needed
@KakaoSchluerfer
Copy link
Author

Ich habe für die Rückwärtskompatibilität einfach die module_id neu hinzugefügt und die id wird wie davor als Kürzel verwendet.
So muss nichts im Web angepasst werden und der crawler kann nun eingesetzt werden, ohne manueller Bearbeitung von IKTS Modulen, etc.

@Untersander
Copy link
Member

Untersander commented Dec 17, 2025

Gesucht wird immer per Name Attribut: https://github.com/lost-university/web/blob/main/src/components/ModuleSearch.vue Vom ID Change wäre die Suchfunktion also nicht betroffen.

Ein Problem sehe ich bei den favorisierten Links, worüber sich die Leute ihre Pläne abgespeichert haben. Dort stehen nämlich die Modulkürzel drin. Module sind mittels underscores und Semestergruppen jeweils mit Dashes getrennt:

https://lost.university/#/plan/An1I_OOP1_AutPy_CN1_DMI_RheKoI-An2I_AutoSpr_CySec_FP_BuRe2a-WrStat_AlgDat_Bsys1_Dbs1_WE1_IKAA_SEP1-MathFML_OOP2_HoC_PML_CldOp_DSy_HackL_SecSoW-PmQm_AIFo_AppArch_ML_GenAI_IPCV1_IKDH-AIAp_CldSol_DL_IPCV2_SEP2_SEProj-EnglHTw_SAI21_AADL-BAI21_IKPH/TecBEC?startSemester=HS24

Die Leute haben sich ihre Pläne als Link abgespeichert und man müsste im Web-Teill entsprechend die Anpassung machen, denn die IDs würden nicht mehr stimmen. Neu wären es ja numerische ID-Werte und nicht mehr die Modulkürzel.

Sauber wäre es natürlich die Umstellung auf "shortKey" zu machen. Ganz ohne ist der Change hier nicht. Ich denke der Pull Request können wir vorerst auf On-Hold halten bis der Web-Teil angeglichen wird.

Aktuell tendiere ich eher dazu, lost.university mit OST SSO anzubinden und eine Datenbanklogik einzubauen, sodass die User auf ihren Account spezifisch die Studiumpläne abspeichern können und wir von diesen favorisierten Links wegkommen.

Ein nützliches Feature das man dort einbauen könnte wäre z.B.:

  • Kommilitionen hinzufügen und schauen, welche Semesterpläne diese verfolgen (Seine eigenen Plane sollte man natürlich teilen oder auf Privat setzen können)
  • uvm..

Bei mir stehen die WE1 und DBS1 Prüfungen an, vielleicht wäre das sogar ein Projekt als Prüfungsvorbereitung. Realistischer vielleicht erst nach der Prüfungsphase...😄

Es gibt bereits ein Backend, im moment ist die Login Funktionalität via OST SSO aber auf Grund eines Bugs nicht verfügbar.
Die Features die du erwähnst könnte man dort gut noch einbauen wenn du Zeit und Lust hast dazu :)
Du kannst auch gerne noch ein PR eröffnen im Web Repo und dich dort als Contributor hinzufügen.

@Untersander
Copy link
Member

Untersander commented Dec 17, 2025

Ich habe für die Rückwärtskompatibilität einfach die module_id neu hinzugefügt und die id wird wie davor als Kürzel verwendet. So muss nichts im Web angepasst werden und der crawler kann nun eingesetzt werden, ohne manueller Bearbeitung von IKTS Modulen, etc.

Gute Idee jedoch erwartet das Frontend dass die Modul ID Unique ist und mit dem Change ist sie das nicht mehr.
Eventuell kann man das umgehen wenn man zuerst nur isDeactivated: true module rausfiltert, dann sollten wir eigentlich keine Duplikate mehr haben. Hat jedoch den Nachteil dass Pläne mit Modulen die nicht mehr durchgeführt werden nicht mehr funktionieren.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants