ICalendar

iCalendar ist ein Computerdateiformat, das Internetbenutzern erlaubt, Versammlungsbitten und Aufgaben anderen Internetbenutzern, über die E-Mail oder das Teilen von Dateien mit einer Erweiterung dessen zu senden. Empfänger der iCalendar Datendatei (mit dem Unterstützen der Software, wie ein E-Mail-Kunde oder Kalender-Anwendung) können dem Absender leicht antworten, oder Schalter schlagen ein anderes Versammlungsdatum/Zeit vor.

iCalendar wird verwendet und durch eine Vielzahl von Produkten, einschließlich Google Kalenders, Apfel-iCal, Kalenders von GoDaddy Online Group, IBM Lotus Notes, Yahoo unterstützt! Kalender, Evolution (Software), Blitzerweiterung für Mozilla Thunderbird und SeaMonkey, und teilweise durch Microsoft Outlook.

iCalendar wird entworfen, um des Transportprotokolls unabhängig zu sein. Zum Beispiel können bestimmte Ereignisse durch die traditionelle E-Mail gesandt werden, oder ganze Kalender-Dateien können geteilt und durch das Verwenden eines Servers von WebDav oder SyncML editiert werden. Einfache Webserver (gerade das HTTP-Protokoll verwendend), werden häufig verwendet, um iCalendar Daten über ein Ereignis zu verteilen und belegte Zeiten einer Person zu veröffentlichen. Herausgeber können iCalendar Daten in Webseiten mit hCalendar, 1:1 Mikroformat-Darstellung von iCalendar im semantischen (X) HTML einbetten.

Geschichte und Design

iCalendar wurde durch den geschaffen

Internettechnikeinsatzgruppe Registrierende und Planende Arbeitsgruppe (den Vorsitz geführt von Anik Ganguly von Open Text Corporation), und war authored durch Frank Dawson von Lotus Development Corporation und Derik Stenerson von Microsoft Corporation. iCalendar basiert schwer auf früher vCalendar durch Internet Mail Consortium (IMC). ICalendar-Datendateien sind Klartext-Dateien mit der Erweiterung oder (für Dateien, die Verfügbarkeitsinformation enthalten nur). RFC 5545 hat RFC 2445 im September 2009 ersetzt und definiert jetzt den Standard.

Das Dateiformat von "ics" soll verwendet werden, um eine Datei zu benennen, die (ein willkürlicher Satz) registrierende und planende mit diesem PANTOMIME-Inhalt-Typ im Einklang stehende Information enthält.

Das Dateiformat von "ifb" soll verwendet werden, um eine Datei zu benennen, die Freizeit oder mit diesem PANTOMIME-Inhalt-Typ im Einklang stehende Information der belegten Zeit enthält.

Der Dateityp-Code von "iCal" soll im Apple Macintosh Betriebssystemumgebungen verwendet werden, um eine Datei zu benennen, die registrierende und planende mit diesem PANTOMIME-Sektorformat im Einklang stehende Information enthält.

Der Dateityp-Code von "iFBf" soll im Apple Macintosh Betriebssystemumgebungen verwendet werden, um eine Datei zu benennen, die Freizeit oder mit diesem PANTOMIME-Sektorformat im Einklang stehende Information der belegten Zeit enthält.

Standardmäßig verwendet iCalendar die UTF-8 Codierung; eine verschiedene Codierung kann mit dem "charset" PANTOMIME-Parameter angegeben werden (wenn die Transportmethode Unterstützungs-PANTOMIME, wie E-Mail oder HTTP verwendet hat).

Jede Linie wird durch CR+LF begrenzt (in hexadecimal: 0D0A). Linien sollten auf 75 Oktette (nicht Charaktere) lange beschränkt werden. Wo ein Datenartikel zu lang ist, um auf einer einzelnen Linie zu passen, kann er auf folgenden Linien durch das Starten der Verlängerungslinien mit einem Raumcharakter fortgesetzt werden (in der Hexe: 20) oder ein Etikett-Charakter (in der Hexe: 09).

Das wirkliche Linienfutter in Datensachen wird als ein vom Brief N gefolgter umgekehrter Schrägstrich verschlüsselt (die Bytes 5C 6E, oder 5C 4E in UTF-8). iCalendar Daten hat den text/calendar PANTOMIME-Inhalt-Typ.

Beschränkungen und Zukunft

Das ICalendar-Format wird entworfen, um Kalender-basierte Daten wie Ereignisse zu übersenden, und beschreibt absichtlich nicht, was man damit Daten tut. So kann andere Programmierung erforderlich sein, um zu verhandeln, was man damit Daten tut.

iCalendar wird gemeint, um die Definition eines Standardformates "zur Verfügung zu stellen, um das Registrieren und die Terminplanung der Information über das Internet offen auszutauschen". Während die von Benutzern meistenteils verwendeten Eigenschaften durch iCalendar weit unterstützt werden, haben einige fortgeschrittenere Fähigkeiten Probleme. Zum Beispiel unterstützen die meisten Verkäufer Zeitschriften (VJOURNAL) nicht. Wiederkehrende Ereignisse haben noch ein "Bit des Mysteriums und der mit ihnen vereinigten Zweideutigkeit", einige Umwandlungsprobleme in einigen Fällen verursachend. VTODOs haben Umwandlungsprobleme ebenso gehabt.

der Kalender von iCalendar ist auch mit einigen nichtgregorianischen Kalendern wie die Mondkalender nicht vereinbar, die in Israel oder Saudi-Arabien verwendet sind.

Der Merkzettel "Kalender-Zugriffsprotokoll" (RFC 4324) war ein anfänglicher Versuch eines universalen Systems, um Echtzeitkalender zu schaffen. Dieses Protokoll wurde schließlich vielleicht wegen der übermäßigen Kompliziertheit aufgegeben. Rücksichtsloser, mit Sitz in iCalendar Code wie GroupDAV und CalDAV wird jetzt öfter sowohl im Kunden als auch in den Server-Softwarepaketen verwendet.

Der IETF "Das Registrieren und die Terminplanung der Arbeitsgruppe" (ietf-calsify WG) hat zusätzliche vorgeschlagene Revisionen zu den iCalendar Standards veröffentlicht (als RFC-Entwürfe / "Vorgeschlagen"; sieh http://datatracker.ietf.org/wg/calsify/), aber bezüglich des Januars 2011 hat die Gruppe 'geendet'. Viel von ihrer Arbeit hat sich auf Erläuterungen zu den vorherigen Standards konzentriert, und wurde anscheinend auf der Arbeit vom Registrieren und der Terminplanung des Konsortiums beeinflusst (a.k.a. Calconnect)

Technische Spezifizierungen

Kerngegenstand

Das Element auf höchster Ebene in iCalendar ist das Registrieren und die Terminplanung des Kerngegenstands, einer Sammlung des Kalenders und der Terminplanung der Information. Gewöhnlich diese Information

wird aus einem einzelnen ICalendar-Gegenstand bestehen. Jedoch können vielfache ICalendar-Gegenstände zusammen gruppiert werden.

Die erste Linie muss "BEGIN:VCALENDAR" sein, und die letzte Linie muss "END:VCALENDAR" sein; der Inhalt zwischen diesen Linien wird den "icalbody" genannt.

Der Körper des ICalendar-Gegenstands (der icalbody) wird aus einer Liste von Kalender-Eigenschaften und einem oder mehr Kalender-Bestandteilen zusammengesetzt. Die Kalender-Eigenschaften gelten für den kompletten Kalender. Die Kalender-Bestandteile sind mehrere Kalender-Eigenschaften, die einen Kalender schematisch (Design) schaffen. Zum Beispiel kann der Kalender-Bestandteil ein Ereignis, eine Getue-Liste, einen Zeitschriftenzugang, Zeitzone-Information, oder freie Information / Information der belegten Zeit oder eine Warnung angeben. Leeren Linien wird in einigen Versionen des Gebrauchs (Kalender von Google) nicht erlaubt.

Hier ist ein einfaches Beispiel eines ICalendar-Gegenstands, "Bastille" Tagesparteiereignis, das am 14. Juli 1997 17:00 (UTC) im Laufe des 15. Juli 1997 3:59:59 Uhr (UTC) vorkommt:

BEGIN:VCALENDAR

VERSION:2.0

BEGIN:VEVENT

UID:uid1@example.com

DTSTAMP:19970714T170000Z

VERANSTALTER; CN=John Doe:MAILTO:john.doe@example.com

DTSTART:19970714T170000Z

DTEND:19970715T035959Z

SUMMARY:Bastille Tagespartei

END:VEVENT

END:VCALENDAR

Es gibt viele verschiedene Typen von Bestandteilen, die in iCalendar, wie beschrieben, unten verwendet werden können.

Ereignisse (VEVENT)

"VEVENT" beschreibt ein Ereignis, das eine vorgesehene Zeitdauer auf einem Kalender hat. Normalerweise, wenn ein Benutzer das Kalender-Ereignis akzeptiert, wird das diese Zeit veranlassen, belebt betrachtet zu werden. Ein VEVENT kann einen VALARM einschließen, der eine Warnung erlaubt. Solche Ereignisse haben einen DTSTART, der Starttermin und einen DTEND festlegt, der eine endende Zeit setzt. Wenn das Kalender-Ereignis wiederkehrt, stellt DTSTART den Anfang des ersten Ereignisses auf.

VEVENT wird auch für Kalender-Ereignisse ohne eine spezifische Zeit, wie Jahrestage und tägliche Gedächtnishilfen verwendet.

Wenn Sie eine Annullierung für ein Ereignis einsenden müssen, sollte der UID dasselbe als das ursprüngliche Ereignis sein, und die Teileigenschaften sollten veranlasst werden, Ab zu annullieren.

METHOD:CANCEL

STATUS:CANCELLED

Für eine AKTUALISIERUNG für ein Ereignis zu senden, sollte der UID den ursprünglichen UID. vergleichen, der das andere Teileigentum, gesetzt zu werden, ist:

FOLGE:

d. h. für die erste Aktualisierung

SEQUENCE:1

In Microsoft Outlook entspricht die ZUSAMMENFASSUNG dem "Unterworfenen" Zugang in der "Ernennungs"-Form und der BESCHREIBUNG zum beschreibenden Text darunter. Außerdem, Meinung 2003 Anforderungen ein UID und ein DTSTAMP.

Getue (VTODO)

VTODO erklärt einen Getue-Artikel, d. h., einen Handlungsartikel oder Anweisung.

Der folgende ist ein Beispiel eines am 15. April 1998 erwarteten Getues. Eine Audiowarnung ist angegeben worden, um den Kalender-Benutzer im Mittag, dem Tag zu erinnern, bevor, wie man erwartet, das Getue vollendet wird und sich stündlich vier zusätzliche Male wiederholt. Das FOLGE-Element zeigt, dass dieses Getue zweimal modifiziert worden ist, seitdem es am Anfang geschaffen wurde.

BEGIN:VCALENDAR VERSION:2.0

BEGIN:VTODO

DTSTAMP:19980130T134500Z

SEQUENCE:2

UID:uid4@host1.com

ORGANIZER:MAILTO:UNCLESAM@US.GOV

ATTENDEE;PARTSTAT=ACCEPTED:MAILTO:jqpublic@example.com

DUE:19980415T235959

STATUS:NEEDS-HANDLUNG

SUMMARY:Submit Einkommensteuern

BEGIN:VALARM

ACTION:AUDIO

TRIGGER:19980403T120000

files/ssbanner.aud

REPEAT:4

DURATION:PT1H

END:VALARM

END:VTODO

END:VCALENDAR

Zeitschriftenzugang (VJOURNAL)

VJOURNAL ist ein Zeitschriftenzugang. Sie fügen beschreibenden Text einem besonderen Kalender-Datum bei, kann verwendet werden, um eine tägliche Aufzeichnung von Tätigkeiten oder Ausführungen zu registrieren, oder Fortschritt mit einem zusammenhängenden Getue-Zugang zu beschreiben. Ein "VJOURNAL" Kalender-Bestandteil nimmt Zeit auf einem Kalender nicht auf, so hat es keine Wirkung auf die Freizeit oder belegte Zeit (gerade wie DURCHSICHTIGE Einträge). In der Praxis unterstützen wenige Programme VJOURNAL Einträge, obwohl Beispiele bestehen: Hellgelbe Pflaume-Zwitschern-Software verwendet VTODO und VJOURNAL zusammen. Auch KOrganizer von der KDE Arbeitsfläche unterstützt VJOURNAL.

Der folgende ist ein Beispiel eines Zeitschriftenzugangs:

BEGIN:VCALENDAR VERSION:2.0

BEGIN:VJOURNAL

DTSTAMP:19970324T120000Z

UID:uid5@host1.com

ORGANIZER:MAILTO:jsmith@example.com

STATUS:DRAFT

CLASS:PUBLIC

CATEGORIES:Project Bericht, XYZ, wöchentliche Sitzung

DESCRIPTION:Project xyz Rezension, die Sich Minutes\n Trifft

Agenda\n1. Rezension von Projektvoraussetzungen \n2 der Version 1.0.

Definition

des Projektes processes.\n3. Rezension der Projektliste \n

Teilnehmer: John Smith, Unbekannter, Jim war Dandy\n-es

entschieden, dass die Voraussetzungen durch Schluss gemacht werden müssen

Produktmarketing.\n-Projektprozesse wurden akzeptiert \n

- Projektliste muss für vorgesehene Urlaube verantwortlich sein

und Mitarbeiterurlaub. Checken Sie mit Neuen Tischen für spezifischen

dates.\n-neue Liste wird vor dem Freitag \n - verteilt

Folgende Woche-Sitzung wird annulliert. Keine Sitzung bis 3/23.

END:VJOURNAL

END:VCALENDAR

(Zeichen: Dieses Beispiel wird von RFC 2445 mit der Korrektur wörtlich genommen, das Wort 'KATEGORIE' zu 'KATEGORIEN' zu ändern, die ein Fehler im ursprünglichen RFC ist)

Freie / belegte Zeit (VFREEBUSY)

VFREEBUSY ist eine Bitte für die freie / belegte Zeit, ist eine Antwort auf eine Bitte, oder ist ein veröffentlichter Satz der belegten Zeit.

Der folgende ist ein Beispiel der veröffentlichten Information der belegten Zeit.:

BEGIN:VCALENDAR VERSION:2.0

BEGIN:VFREEBUSY

ORGANIZER:MAILTO:jsmith@example.com

DTSTART:19980313T141711Z

DTEND:19980410T141711Z

FREEBUSY:19980314T233000Z/19980315T003000Z FREEBUSY:19980316T153000Z/19980316T163000Z FREEBUSY:19980318T030000Z/19980318T040000Z URL:http://www.example.com/calendar/busytime/jsmith.ifb

END:VFREEBUSY

END:VCALENDAR

Andere Teiltypen

Andere Teiltypen schließen VTIMEZONE (Zeitzonen) und VALARM (Warnungen) ein. Einige Bestandteile können andere Bestandteile einschließen (VALARM wird häufig in andere Bestandteile eingeschlossen).

Das Verteilen von Aktualisierungen

Das UID Feld verteilt Aktualisierungen, wenn sich ein vorgesehenes Ereignis ändert. Wenn das Ereignis zuerst erzeugt wird, wird ein allgemein einzigartiger Bezeichner geschaffen. Wenn ein späteres Ereignis mit demselben UID verteilt wird, ersetzt es den ursprünglichen.

Kalender-Erweiterungen

vCalendar und iCalendar unterstützen private Softwareerweiterungen, mit einem "X-" Präfix, mehrere, die im allgemeinen Gebrauch sind.

Einige von diesen schließen ein:

  • X-RECURRENCE-ID - vCalendar 1.0 Erweiterung, die den iCalendar 2.0 WIEDERAUFTRETEN-PERSONALAUSWEIS (Nokia S60 3rd Edition) nachahmt
  • X-EPOCAGENDAENTRYTYPE - definiert den Kundenkalender-Typ
  • X-FUNAMBOL-AALARMOPTIONS
  • X-FUNAMBOL-ALLDAY - Den ganzen Tag Ereignis-Fahne
  • X MICROSOFT CDO ALLDAYEVENT - Microsoft Outlook den ganzen Tag Ereignis-Fahne
  • X MICROSOFT CDO BUSYSTATUS - Zustandsinformation von Microsoft Outlook
  • X-WR-CALNAME - Der Anzeigename des Kalenders
  • X-WR-CALDESC - Eine Beschreibung des Kalenders
  • X-WR-RELCALID
  • X-WR-TIMEZONE
  • X-PUBLISHED-TTL - Empfohlener Aktualisierungszwischenraum für das Abonnement zum Kalender

vCalendar 1.0

das Design von iCalendar hat auf dem vorherigen von Internet Mail Consortium (IMC) geschaffenen Dateiformat-vCalendar basiert.

Hier ist ein Beispiel der Information im VCalendar-Format:

BEGIN:VCALENDAR

VERSION:1.0

BEGIN:VEVENT

CATEGORIES:MEETING

STATUS:TENTATIVE

DTSTART:19960401T033000Z

DTEND:19960401T043000Z

SUMMARY:Your Vorschlag-Rezension

DESCRIPTION:Steve und John, um neuestes Vorschlag-Material nachzuprüfen

CLASS:PRIVATE

END:VEVENT END:VCALENDAR

Nachdem iCalendar veröffentlicht wurde, hat das Internetpostkonsortium festgestellt, dass es "hofft, dass alle vCalendar Entwickler diese neuen offenen Standards ausnutzen und ihre Software vereinbar sowohl mit vCalendar 1.0 als auch mit iCalendar machen."

Zeichen

Siehe auch

  • Die Liste von Anwendungen mit iCalendar unterstützt
  • CalDAV
  • GroupDAV
  • hCalendar
  • Terminplanung OSID stellt eine Softwareschnittstelle-Abstraktion zur Verfügung, um Registrieren-Protokolle zu verwenden
  • vCard
  • xCal
  • Webcal - ein inoffizielles Schema von Uniform Resource Identifier (URI)
  • Schwirren-Datei

Links

  • RFC das 5545 Internetregistrieren und die Terminplanung der Kerngegenstand-Spezifizierung (iCalendar) (ersetzt RFC 2445)
  • RFC 5546 iCalendar Transportunabhängiges Zwischenfunktionsfähigkeitsprotokoll (iTIP) (ersetzt RFC 2446)
  • RFC 6047 iCalendar Nachrichtenbasiertes Zwischenfunktionsfähigkeitsprotokoll (iMIP) (ersetzt RFC 2447)
  • RFC 6321 xCal: Die XML formatieren für iCalendar (iCalendar XML Darstellung)
  • Internet Mail Consortium (IMC). "Personalangaben-Austausch: vCard und vCalendar". Das beschreibt die Beziehung von vCard, vCalendar, und iCalendar, und schließt die Bitte von IMC um implementors ein, um sowohl vCalendar als auch iCalendar zu unterstützen.

Kiefer Sutherland / Richtiger Walfisch
Impressum & Datenschutz