Zum Inhalt springen

Metalab OS/Calendaring: Unterschied zwischen den Versionen

DavidDraco (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Frank (Diskussion | Beiträge)
neue source-version & generelles update
Zeile 47: Zeile 47:
== Recurrence ==
== Recurrence ==


1 2 3
Der Kalender benutzt ein Subset der [http://www.ietf.org/rfc/rfc2445.txt iCalendar RRULEs].
D - n  every nth day
Wie daraus Datum und Uhrzeit einzelner Wiederholungen bestimmt werden, erledigt dankbareweise das Modul [http://labix.org/python-dateutil dateutil].
W - n  weekday(date) of the week every n weeks
M - n  monthday(date) of the month every n months
M m n  every mth weekday(date) every nth month


1. interval (day, week, month)
Veränderung einzelner Termine einer sich wiederholenden Veranstaltung wird es wahrscheinlich in der ersten Version noch nicht geben:
2. week of the month (1st, 2nd, 3rd, 4th, last)
Der generelle Plan ist, für die veränderten Termine einen extra Eintrag zu machen und die ursprüngliche Veranstaltung auszusetzen. (Letzteres ist bisher im Datenmodell noch gar nicht vorgesehen...)
3. stride (every nth interval)


Daraus Belegung im Kalender berechnen.
== Status der Implementierung ==


Veränderung einzelner Termine einer sich wiederholenden Veranstaltung:
Aktuelle Version: [[Bild:Metacal.zip]]
werden extra eingetragen und referenzieren die ursprüngliche
Veranstaltung.
 
== Status der Implementierung ==


Es gibt inzwischen eine sehr rudimentäre Version: [[Bild:Metacal.zip]]
Voraussetzungen:
* Eine [http://www.djangoproject.com/ Django]-Installation der Entwicklungsversion (kein Release!)
* Die aktuelle Version der [[MOS#Entwicklungsumgebung|MOS Entwicklungsumgebung]]
* Extra-Module
** http://codespeak.net/icalendar/ (iCalendar-Export)
** http://labix.org/python-dateutil (recurrence rules)


Neu ist der Export als icalendar [http://www.ietf.org/rfc/rfc2445.txt]. Dafür braucht's allerdings das passende
Neuerungen / Features
[http://codespeak.net/icalendar/ python modul].
* Umstieg auf die [http://www.djangoproject.com/documentation/newforms/ newforms] library.
* Implementierte Usecases: Browsen nach Jahr/Monat/Woche/Tag (wenn wir von der Navigation mal absehen...), neuen Termin eintragen
* Export als icalendar [http://www.ietf.org/rfc/rfc2445.txt].
* RSS und Atom Feeds


=== TODOs ===
=== TODOs ===


* Editieren von Events: derzeit broken, denn die Validators für's Modell verlangen Werte, die zwar für jedes Event definiert, aber nicht änderbar sein müssen.
* Editieren von Events: derzeit broken, gleich in newforms implementieren.
* Benutzbarkeit: Navigationselemente etc. (derzeit heißt es URLs tippen!)
* Benutzbarkeit: Navigationselemente etc. (derzeit heißt es URLs tippen!)
* Templates überarbeiten: da ist sehr viel Redundanz drin
* Templates überarbeiten: da ist sehr viel Redundanz drin
* Token per Email für Aktionen von ACs
* Token per Email für Aktionen von ACs
* Daten angemeldeter Benutzer nutzen
* Übersetzungen: Sprachakuderwelsch entwirren, deutsche & englische Texte erstellen
* Übersetzungen: Sprachakuderwelsch entwirren, deutsche & englische Texte erstellen
* Modell weiter verfeinern
* Modell weiter verfeinern