Metalab OS/Calendaring: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
(neue source-version & generelles update)
(→‎Status der Implementierung: Update: Erstes beta online)
Zeile 55: Zeile 55:
 
== Status der Implementierung ==
 
== Status der Implementierung ==
  
Aktuelle Version: [[Bild:Metacal.zip]]
+
Aktuelle Version der Soruces ist im Subversion: https://ma.metalab.at/svn/cmos/trunk/metacal/
 +
 
 +
Erste öffentliche beta-Version (Danke [[Benutzer:Metaz|Stefan]]!): http://mos.metalab.at/calendar/
 +
<br />
 +
(Wie erwähnt nicht menschenwürdig navigierbar... Neue Events "new/", Monatsliste "''jahr''/''monat''".)
  
 
Voraussetzungen:
 
Voraussetzungen:
Zeile 65: Zeile 69:
  
 
Neuerungen / Features
 
Neuerungen / Features
 +
* Jetzt sind Events doch tatsächlich editierbar...
 
* Umstieg auf die [http://www.djangoproject.com/documentation/newforms/ newforms] library.
 
* 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
 
* Implementierte Usecases: Browsen nach Jahr/Monat/Woche/Tag (wenn wir von der Navigation mal absehen...), neuen Termin eintragen
Zeile 72: Zeile 77:
 
=== TODOs ===
 
=== TODOs ===
  
* 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

Version vom 18. Februar 2007, 01:18 Uhr

Use Cases

Rollen:

  • AC: ein beliebiger unauthentifizierter Benutzer
  • registered User: ein authentifizierter Benutzer
  • Calendar Admin: ein authentifizierter Benutzer mit administrativen Privilegien

View Calendar

Ein AC sieht sich mittels eines Browsers eine HTML-Repräsentation des metalab-Kalenders an. Der AC kann zwischen den Ansichten Tag, Woche, Monat, nächste n Tage und Liste der nächsten n Veranstaltungen wechseln. Zudem kann die Ansicht auf bestimmte Räume eingeschränkt werden. Der AC kann einzelne Veranstaltungen anwählen, um die dazugehörigen Details (was, wann, wo, Beschreibung, url, ...) einzusehen.

Retrieve Feed

Ein AC ruft über http einen RSS (oder Atom?) Feed der nächsten n Veranstaltungen ab.

Add Entry

Ein Benutzer erstellt eine neue Veranstaltung mit allen dazugehörigen Daten (was, wann, wo, Beschreibung, url, ...).

ACs müssen eine Email-Adresse angeben, über die eine Verifizierung des Termins erfolgt (a la mailman): Durch Eingabe eines per Mail übermittelten Tokens wird der Termin bestätigt und sichergestellt, daß die Email-Adresse auch erreichbar ist.

Für registered User fällt der Verifizierungsschritt.

Modify Entry

Ein Benutzer verändert die Daten einer Veranstaltung. Für ACs erfolgt wiederum ein Verifizierungsschritt. Ist der Benutzer nicht der ursprüngliche Ersteller einer Veranstaltung, wird diesem eine Benachrichtigung über die Veränderung per Email geschickt.

Administer Entry

Ein Calender Admin modifiziert eine Veranstaltung direkt über das Admin-Interface von Django.

Recurrence

Der Kalender benutzt ein Subset der iCalendar RRULEs. Wie daraus Datum und Uhrzeit einzelner Wiederholungen bestimmt werden, erledigt dankbareweise das Modul dateutil.

Veränderung einzelner Termine einer sich wiederholenden Veranstaltung wird es wahrscheinlich in der ersten Version noch nicht geben: 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...)

Status der Implementierung

Aktuelle Version der Soruces ist im Subversion: https://ma.metalab.at/svn/cmos/trunk/metacal/

Erste öffentliche beta-Version (Danke Stefan!): http://mos.metalab.at/calendar/
(Wie erwähnt nicht menschenwürdig navigierbar... Neue Events "new/", Monatsliste "jahr/monat".)

Voraussetzungen:

Neuerungen / Features

  • Jetzt sind Events doch tatsächlich editierbar...
  • Umstieg auf die newforms library.
  • Implementierte Usecases: Browsen nach Jahr/Monat/Woche/Tag (wenn wir von der Navigation mal absehen...), neuen Termin eintragen
  • Export als icalendar [1].
  • RSS und Atom Feeds

TODOs

  • Benutzbarkeit: Navigationselemente etc. (derzeit heißt es URLs tippen!)
  • Templates überarbeiten: da ist sehr viel Redundanz drin
  • Token per Email für Aktionen von ACs
  • Übersetzungen: Sprachakuderwelsch entwirren, deutsche & englische Texte erstellen
  • Modell weiter verfeinern