lkairies / wcm-timetable Goto Github PK
View Code? Open in Web Editor NEWtime table project for WCM module
License: GNU General Public License v3.0
time table project for WCM module
License: GNU General Public License v3.0
Im Kalendar sollten Strings wie "Sunday" und "Oct 12, 2014" übersetzt werden.
Außerdem wird die Tabelle nicht ganz korrekt dargestellt. Die Zeiten links sind zu groß und die Zellenhöhe ist zu klein.
Konfiguration des Kalenders ist hier erklärt: https://github.com/themouette/jquery-week-calendar/wiki/Script-options
Da der Datenaustausch zwischen Python und Ruby bei den Modulen so gut geklappt hat, würde ich sagen, dass wir die LVs auch mit nem Python-script abfragen und dann direkt die gecrawlten URLs integrieren. Das Python script würde dann alles zusammen als json ausgeben und wir könnten es genauso wie bei den Modulen von seed.rb aus aufrufen.
Schönes neues Jahr übrigens! :)
Auf der Suche nach einer Möglichkeit die Modultabelle zu filtern hab ich was feines gefunden:
http://bootsnipp.com/snippets/featured/panel-table-with-filters-per-column
Das sieht schon ziemlich schick und funktional aus finde ich. Anstatt der Textfelder würde ich Checkboxen einfügen.
Was sagst du?
Wenn man von der Seite
http://localhost:3000
auf den link zu
http://localhost:3000/moduls?semester=w14
klickt, dann kommen drei javascript alerts mit
"DataTables warning: table id=module-table - Cannot reinitialise DataTable. For more information about this error, please see http://datatables.net/tn/3"
Vielleicht kann man den Fehler mit rails routen umgehen, indem man von / auf /moduls weiterleitet.
EDIT: Der Fehler kommt auch, wenn man von einer Modulseite auf "Module" klickt.
die Abfragebedingung
?lv_id od:locatedAt ?raum .
muss optional sein, sonst werden nur LVs angezeigt, die einen Raum haben.
Das gleiche gilt vermutlich auch für Dozenten und Zeiten.
Beispiel LV: http://od.fmi.uni-leipzig.de/resource/properties/?r=http%3A%2F%2Fod.fmi.uni-leipzig.de%2Fw14%2FBSV.Visualisierung.3
z.B.: http://od.fmi.uni-leipzig.de/studium/10-MAT-LA03
Der Fehler tritt vermutlich nur bei veralteten Modulen auf. (s14)
Damit wir nicht durcheinander kommen...
Es gibt im Modul-PDF das Attribut Modulform, welches die Werte "Pflicht", "Wahl", "Wahlpflicht" annehmen kann.
Das andere Attribut hat im PDF keinen Namen und ist auch nicht bei allen Modulen vorhanden. Außerdem kann es mehr Werte annehmen:
Ich würde das erste Attribut in der Datenbank form nennen. Das zweite könnte man art nennen.
Ist zwar immer noch nicht sehr aussagekräftig, aber immerhin ähnlich zu den Bezeichnungen im PDF.
Ich bin mir auch nicht sicher, ob wir die Werte mit enums setzten sollten. Strings sind doch eigentlich ausreichend für unseren Anwendungsfall, oder? Wir sollten jedenfalls keine Probleme mit Speicherplatz oder Performance haben.
Ich habe grad angefangen den crawler zu schreiben. Ich hab mich entschieden ihn nur mit den Übersichtsseiten der Institute zu füttern.
Die "Abteilung Algebraische und logische Grundlagen der Informatik" hat ne ziemlich komische Struktur und wird scheinbar nicht so richtig gepflegt.
http://www.informatik.uni-leipzig.de/alg/
http://www.informatik.uni-leipzig.de/alg/lehre/alg_lehre.html
Bin drauf gestoßen als ich die Veranstaltungsseite von "Tree Automata" gesucht habe. Manche Seiten liegen einfach im Verzeichnis der Dozenten (http://www.informatik.uni-leipzig.de/~brewka/KRoutline.html).
Mal gucken wie der crawler damit klarkommt...
Die anderen Institute sollten eigentlich gut funktionieren:
http://rvs.informatik.uni-leipzig.de/de/lehre/
http://asv.informatik.uni-leipzig.de/courses/
http://www.dh.uni-leipzig.de/wo/courses/
http://www.informatik.uni-leipzig.de/ti/lehre/aktuellessemester.html
Weitere werden folgen.
Zitat von http://studium.fmi.uni-leipzig.de/stundenplaene.html :
"Die A-Woche bezieht sich dabei auf die ungeraden Kalenderwochen und die B-Woche auf die geraden Kalenderwochen."
In der aktuellen Implementierung wird die erste Vorlesungswoche (die Woche, die den ersten Vorlesungstag enthält) als A-Woche und alle darauffolgenden Wochen abwechselnd als B- bzw. A-Woche betrachtet. Dieses Verhalten muss angepasst werden.
Wenn ein Wochenplan angefragt wird, sollten nur die LVs des gewählten Semesters in der Anfrage enthalten sein.
Am einfachsten wäre es wohl, die LVs im localStorage nach Semestern zu gruppieren. Z.B.:
localStorage["selected_lvs_w14"] vs. localStorage["selected_lvs_s15"]
Für manche Studiengänge (z.B. Master Wirtschaftsinformatik) sind nicht alle Module in der Datenbank vorhanden.
Die entsprechenden "Units" sind aber trotzdem für diese Studiengänge empfohlen. Das führt dazu, dass nicht alle Lehrveranstaltungen angezeigt werden, die im alten Stundenplan stehen.
Ob es solche Units ohne Modul auch für Master Informatik oder Bachelor Informatik gibt, weiß ich nicht.
Die Lehrveranstaltun in diesem Modul zeigt beide Dozenten mehrfach an: http://localhost:3000/moduls/10-MAT-LA05
Im Original sind sie nur einmal vorhanden: http://od.fmi.uni-leipzig.de/view/r/LA.SPS-Math.1
Momentan werden die Ereignisse für jede Anfrage neu berechnet. Bei vielen Lehrveranstaltungen dauern die Anfragen auf meinem Rechner spürbar länger (mehrere Sekunden).
Da es sich bei den Ereignissen (Terminen) nicht um dynamische Werte handelt, könnte man sie bei der Initialisierung (rake db:setup) berechnen und in der Datenbank speichern.
Dann müsste der Wochenplan-Controller nur noch für jede LV die Ereignisse aus der Datenbank holen und dann alles in einen ICalendar packen.
Die Tabelle in der Datenbank hätte dann die Felder lv_id, event_id, event.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.