Komfort bemerkt man nicht. Er ist einfach da oder eben nicht. Wenn man Ihn nicht mehr hat, vermisst man ihn schmerzlich - Wikipedia definiert Komfort unter anderem damit, das bestimmte Geräte oder Funktionen die Arbeit vereinfachen…
Alles nix neues? Genau - obwohl jeder weiß, was Komfort ist, werden viel zu wenig Websites komfortabel gestaltet oder mit schlanken, schnellen und vor allem komfortabelen Funktionen ausgestattet. Schnell werden feine Funktionen als Luxus deklariert und ins dunkle Entwickler-Kämmerlein eingesperrt: Die Usability leidet.
Eine Möglichkeit, seinen Benutzern die Usability zu erleichten, kann bedeuten, Events aus einem Terminkalender downloadbar zu machen. So ziemlich jedes aktive Unternehmen, das sich zeitgemäß im Internet präsentiert, stellt seinen Benutzern eine Terminliste bereit.
Was könnte man dort Sinnvolles reinpacken?
- Messetermine mit Standposition
- Termine von Weiterbildungsseminaren
- Sonstige Events / Veranstaltungen
- Happy-Hours (z.B. bei Gastronomien)
- Betriebsferien
Jede beliebige Newsliste mit einem downloadbaren Event auszustatten, wäre sicherlich etwas übertrieben. Mal kurz überlegen schadet hier also nicht.
Welches Format wäre wohl das Richtige? Okay, wer kurz in den Titel schaut, hat es schnell raus - iCal wäre das Format der Wahl, wenn es um downloadbare Dateien gehen soll. So ziemlich jeder Kalender kann es (Outlook, iCal, Gmail und viele weitere) - gute Voraussetzungen also, oder?
Prinzipiell gibt es zwei Möglichkeiten:
- Man exportiert eine statische Datei aus seinem Kalender und verlinkt sie mit dem Event auf der Website oder
- Man generiert aus seiner CMS-Datenbank eben mal schnell eine iCal-Datei.
Auch hier hilft der Titel weiter ;) Wir schauen uns mal einen Generator für PHP an: die Klasse iCalcreator hilft uns weiter. Die Webseite sieht zwar ziemlich beschissen aus und die Dokumentation ist auch etwas spärlich - trotzdem eröffnet uns das Tool viele Möglichkeiten. Denn es ist ziemlich flexibel, was die Ausgabe und Formatierung angeht.
Mit einigen wenigen Zeilen hat man das Objekt initialisiert:
$v = new vcalendar();
$v->setConfig('unique_id', 'phpblogger.net');
$v->setProperty('method', 'PUBLISH' );
Neue Events werden auch ziemlich easy erzeugt:
$vevent = new vevent();
$vevent->setProperty('DTSTART;VALUE=DATE', date("Ymd", $ts));
$vevent->setProperty('DTEND;VALUE=DATE', date("Ymd", $ts));
$vevent->setProperty('SUMMARY', $title);
Mit…
$v->setComponent($vevent);
…wird der Decorator bestückt und via…
$v->returnCalendar();
…an den Browser weitergeleitet. Das obige Beispiel zeigt gleich, wie man einen mehrtägigen Event ohne Uhrzeit generiert (Was im Howto der Klasse leider fehlt).
Natürlich sind auch Events möglich, die nur wenige Stunden oder Minuten dauern, Wiederholungen aller Art und ganze Sammelkalender (Wer mehr als einen Termin in eine Kalenderdatei packen möchte.
Wer Applikationen baut, kann sicher jede Menge Anwendungsfälle entdecken, den generierte iCal-Files lassen sich auch an Mails anhängen oder twittern.
Ähnliche Artikel:





