Calendar ical

Aus Contao Community Documentation


Erzeugt iCal-Dateien von Contao-Kalendern oder importiert iCal-Dateien in den Contao-Kalender.


Erweiterungs-Übersicht
Name des Entwicklers Helmut Schottmüller (hschottm)
Entwickler Webseite http://www.aurealis.de
Version der Erweiterung 1.4.0
Kompatibilität mit Contao Version 2.10.0 - 2.10.4
Link zum Extension Repository http://www.contao.org/erweiterungsliste/view/calendar_ical.de.html
Den Entwickler unterstützen http://aurealis.de/spenden.html


calendar_ical (iCal-Dateien erzeugen und importieren)

Die Erweiterung besteht aus drei Komponenten:

  • Einem Inhaltselement, das aus einem oder mehreren Contao-Kalendern für einen angegebenen Zeitraum einen Download-Link auf eine iCal-Kalenderdatei erzeugt. Der Download-Link kann verwendet werden, um den Kalender in einer externen Kalenderanwendung, wie z.B. Apple iCal zu abbonieren.
  • Einem Import-Wizard, mit dem man in die Dateiverwaltung hochgeladene iCal-Dateien (.ics) in einen beliebigen Kalender importieren kann.
  • Einem Abonnement, mit dem man einzelne Kalender für Kalenderprogramme zur Verfügung stellen kann.

Export von Contao-Kalendern als iCal-Dateien

Mit dem Inhaltselement iCal können einer oder mehrere Contao-Kalender als iCal-Download im Frontend zur Verfügung gestellt werden. Neben einem Zeitraum, innerhalb dessen Termine aus den ausgewählten Contao-Kalendern extrahiert werden, kann man einen Titel für den Download-Link angeben, der zugleich der Names des Kalenders in der iCal-Exportdatei sein wird. Im Feld Titel-Präfix hat man die Möglichkeit, den Titeln aller Termine eine bestimmte Zeichenkette voranzustellen.

Parameter des iCal-Inhaltselements

Die iCal-Exportdatei kann über den angebotenen Hyperlink heruntergeladen werden oder aber man verwendet die Download-URL als URL für ein Kalenderabonnement in einer iCal-fähigen Kalendarapplikation, wie z.B. Apple iCal.

Import von Kalenderdateien in Contao-Kalender

Wenn man sich im Contao Backend in einem Kalender befindet (Kategorie Kalender/Events mit anschließender Auswahl eines Kalenders), so erhält man im oberen Teil des Kalenders bei den globalen Funktionen einen zusätzlichen Verweis mit dem Titel Kalender importieren:

Import-Verweis zum Importieren von iCal-Dateien in Contao-Kalender

Wenn man auf diesen Verweis klickt, erhält man die Möglichkeit, eine iCal-Kalenderdatei mit der Dateiendung .ics oder eine Kommagetrennte Liste mit der Dateiendung .csv aus der Dateiverwaltung in den ausgewählten Contao-Kalender zu importieren. Dies setzt voraus, dass man die iCal- oder CSV-Datei vorher bereits in die Dateiverwaltung hochgeladen hat. Für den Import muss man neben der Auswahl der Import-Datei außerdem ein Start- und Enddatum für die zu importierenden Termine angeben. Alle Termine, die sich innerhalb dieses Zeitraums in der Import-Datei befinden, werden beim Import in Ihren Contao-Kalender übernommen.

Import von iCal-Kalenderdateien in Contao-Kalender

Für iCal-Dateien sieht der Importvorgang folgendermaßen aus:

Auswahl einer iCal-Datei und des Import-Zeitraums beim Import einer iCal-Datei

Während des Imports können zwei Fälle auftreten, denen besondere Beachtung geschenkt werden sollte:

Wenn man eine iCal-Datei importiert, der die Angabe einer Zeitzone fehlt (was z.B. bei iCal-Dateien der Fall ist, die aus Microsoft Outlook Versionen bis Microsoft Office 2003 exportiert werden), so fordert Contao einem auf, eine Zeitzone für die Importdatei anzugeben. Dabei sollte man nach Möglichkeit die Zeitzone auswählen, die bei der Erstellung der Termine verwendet wurde, weil es ansonsten zu unbeabsichtigten Zeitverschiebungen kommen kann.

Auswahl einer Zeitzone beim Import von iCal-Dateien ohne Zeitzone

Wenn man eine iCal-Datei importierz, die eine andere Zeitzone hat als die des Contao-Systems, so erhält man einen Warnhinweis, der auf diesen Umstand aufmerksam macht. Man hat außerdem die Möglichkeit, durch die Auswahl eines Kontrollkästchens die Zeitzone der Importdatei auf die Zeitzone des Contao-Systems zu setzen, wenn man vermutet, dass die Termine eigentlich mit der identischen Zeitzone des Contao-Systems hätten erstellt werden sollen (was z.B. bei einer versehentlich "falschen" Zeitzonen-Einstellung des Contao-Systems oder des externen Kalender-Programms der Fall sein kann). Wenn man das Kontrollkästchen nicht auswählt, werden die Termine entsprechend der im externen Kalenderprogramm verwendeten Zeitzone in Contao importiert. Dabei wird es in den meisten Fällen zu einer Zeitverschiebung bei den importierten Terminen kommen, da diese nun in der in Contao voreingestellten Zeitzone angezeigt werden.

Optionale Korrektur der Zeitzone bei einem Zeitzonenunterschied von Contao-System zu Importdatei

Da Contao in seinen Kalendern nicht über eine separate Ortsangabe verfügt, werden Termine, die einen Ort enthalten so importiert, dass der eingetragene Ort mit der Kennung Ort: in die Beschreibung des Termins übernommen wird.

Import von CSV-Kalenderdateien in Contao-Kalender

Für CSV-Dateien sieht der Importvorgang folgendermaßen aus:

Auswahl einer CSV-Datei und des Import-Zeitraums beim Import einer CSV-Datei

Für den Aufbau der CSV-Datei gibt es einige Voraussetzungen, die erfüllt sein müssen, um Kalender im Textformat in Contao zu importieren:

  • die Felder der CSV-Datei sollten mit einem Komma oder einem Semikolon getrennt werden
  • es muss eine erste Zeile mit den Spaltenbezeichnern existieren, damit diese den entsprechenden Datenbankfeldern zugeordnet werden können

Startet man den Kalender-Import, so analysiert Contao die Importdatei und bietet die folgenden Optionen an:

Optionen beim Import einer CSV-Datei
  • In der Sektion Felder kann/muss jeder Spalte aus der CSV-Datei (links) ein Datenbankfeld aus einem Contao-Kalendereintrag (rechts) zugewiesen werden. Als Mindestanforderung sollte ein Startdatum, ein Titel und eine Beschreibung des Termins zugewiesen werden.
  • Im Feld Datumsformat muss ein Ausdruck zum Ermitteln des verwendeten Datumsformates angegeben werden, damit Contao beim Import des Start- oder Enddatums das Datum auch wirklich erkennt. Gültige Formatangaben sind alle Angaben, die auch in der PHP-Funktion strftime verwendet werden können.
  • Im Feld Zeitformat muss ein Ausdruck zum Ermitteln der verwendeten Uhrzeit für Start- oder Endzeiten angegeben werden, damit Contao beim Import die Start- oder Endzeiten auch wirklich erkennt. Gültige Formatangaben sind alle Angaben, die auch in der PHP-Funktion strftime verwendet werden können.
  • Es kann sein, dass die Felder Datumsformat und Zeitformat nicht für den Import angeboten werden. Dies kann leider auftreten, wenn die Contao-Installation auf einem Windows-Rechner betrieben wird. In diesem Fall MUSS das Datumsformat in der CSV-Datei JJJJ-MM-TT, JJJJ-MM-TT HH:mm oder JJJJ-MM-TT HH:mm:ss und das Zeitformat HH:mm betragen, anderenfalls wird das Datum nicht korrekt erkannt.
  • Im Drop-Down-Feld Zeichencodierung kann die Zeichencodierung der CSV-Datei festgelegt werden. Möglich sind momentan jedoch nur UTF-8 oder ISO-8859-1 (Windows).

In der Daten-Vorschau zeigt Contao die ersten fünf Zeilen der Importdatei und die Kopfzeile mit den Spaltentiteln an, damit überprüft werden kann, ob die Erkennung der Spalten und die Verwendung der Zeichencodierung funktionieren. Diese Anzeige kann durch verändern der Zeichencodierung und Anklicken der Überprüfen-Schaltfläche jederzeit aktualisiert werden.

Sind alle Felder zugeordnet und die korrekten Zeichencodierungen ausgewählt, so können die Daten durch Anklicken der Schaltfläche Weiter importiert werden.

Abonnieren von einzelnen iCal-Kalenderdateien in Kalenderprogramme

Einzelne Kalender kann man gezielt als Abonnements für externe Kalenderprogramme anbieten. Dazu geht man in die Bearbeitung der Events und bearbeitet einen existierenden Kalender:

iCal Abonnement Einstellungen eines Kalenders

Das Kalender-Alias ist der Dateiname, unter dem der iCal-Kalender im Hauptverzeichnis der Contao-Installation zur Verfügung stehen wird (als http://IHRE_Contao_INSTALLATION/kalenderalias.ics). Diese URL kann man dann beliebig in den Webseiten verwenden oder als Abonnement für Kalenderprogramme weitergeben.

Neben einem Zeitraum, innerhalb dessen Termine aus den ausgewählten Contao-Kalendern extrahiert werden, kann man eine Beschreibung für den Kalender angeben, die beim Abonnieren in externen Kalenderprogrammen, wie z.B. Apple iCal oder Microsoft Outlook angezeigt wird. Im Feld Titel-Präfix hat man die Möglichkeit, den Titeln aller Termine eine bestimmte Zeichenkette voranzustellen.

--Hschottm 13:21, 11. Sep. 2010 (CEST)

Ansichten
Meine Werkzeuge

Contao Community Documentation

Ich brauch nen Bier, es ist zwar noch nicht nach 4, aber es ist nach Oli.

Yanick Witschi
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge