iCalendar – Wikipedia, wolna encyklopedia

iCalendar
Rozszerzenia pliku

.ics, .ifb, .iCal, .iFBf, .icalendar

Typ MIME

text/calendar

Typ

wymiana informacji kalendarzowych

Otwarty format?

tak

iCalendarstandard (RFC 2445 ↓) wymiany informacji kalendarzowych opracowany przez IETF. Bywa czasami nazywany iCal, od nazwy aplikacji firmy Apple, która jest jedną z implementacji tego standardu.

iCalendar pozwala użytkownikom na wymianę danych kalendarzowych, czyli informacji o terminach (np. datach spotkań – w celu ustalenia pasującego czasu i miejsca) i zadaniach do wykonania – np. przesyłając je za pośrednictwem poczty elektronicznej. Odbiorca wiadomości z danymi iCalendar (za pomocą odpowiedniego programu) może natychmiast łatwo odpowiedzieć – zaakceptować termin lub zaproponować inny.

Możliwe jest także publikowanie na stronach internetowych grafików pracy, rozkładów dnia, agend konferencji czy planów imprez do pobrania dla zainteresowanych planowanym przebiegiem nadchodzących wydarzeń.

Specyfikacja

[edytuj | edytuj kod]

iCalendar jest następcą formatu vCalendar opracowanego pierwotnie przez firmę Versit, a potem przejętego przez Internet Mail Consortium (IMC) i wreszcie przez IETF. W standardzie tym dodano więcej szczegółów i zdefiniowano protokół transportowania takich danych. iCalendar został zaproponowany jako uniwersalny standard, który ma zastąpić własnościowe rozwiązania przyjęte w takich programach, jak Microsoft Outlook, Microsoft Exchange, Lotus Notes czy GroupWise. Obecnie trwa proces adaptacji standardu iCalendar.

Formaty plików iCalendar

[edytuj | edytuj kod]

Dane iCalendar są zapisywane w plikach tekstowych kodowanych w standardzie ASCII, z każdą linią zakończoną symbolami CRLF (szesnastkowo: 0D0A).

  • Typ treści MIME: text/calendar
  • Rozszerzenie „ics” może oznaczać plik zawierający zestaw (dowolnych) informacji kalendarza, planu czy rozkładu zgodnych z tym typem treści MIME.
  • Rozszerzenie „ifb” może oznaczać plik zawierający informacje o stanie (wolny/zajęty) zgodne z tym typem zawartości MIME.
  • Rozszerzenie „iCal” może w środowisku systemu operacyjnego Apple Macintosh oznaczać plik zawierający informacje kalendarza, planu czy rozkładu zgodne z tym typem treści MIME.
  • Rozszerzenie „iFBf” może w środowisku systemu operacyjnego Apple Macintosh oznaczać plik zawierający informacje o stanie (wolny/zajęty) zgodne z tym typem treści MIME.

Podstawowy obiekt

[edytuj | edytuj kod]

Obiektem najwyższego poziomu w iCalendar jest tzw. Calendaring and Scheduling Core Object. Jest to kolekcja informacji kalendarzowych i planowania, zazwyczaj te informacje będą umieszczone w pojedynczym obiekcie głównym, ale mogą być także w kilku obiektach głównych następujących sekwencyjnie po sobie. Pierwsza linia musi zawierać „BEGIN: VCALENDAR”, a ostatnia: „END: VCALENDAR”; zawartość pomiędzy tymi liniami, nazywana jest „icalbody”. Treść obiektu kalendarza iCalendar (icalbody) składa się z sekwencji „właściwości kalendarza” i jednego lub więcej „komponentów kalendarza”. Właściwości kalendarza odnoszą się do niego jako do całości. Komponenty kalendarza to kolekcje właściwości wyrażające poszczególne jego elementy. Komponent może na przykład określać:

  • zdarzenie,
  • zadanie do wykonania,
  • wpis/notatkę,
  • informację o strefie czasowej
  • informację o stanie: wolny/zajęty
  • przypomnienie/powiadomienie

Poniżej przedstawiony jest prosty przykład obiektu kalendarza (z RFC 2445 ↓), który definiuje wydarzenie „Bastille Day Party” mające miejsce między 14 lipca 1997, godz. 17:00 (UTC) a 15 lipca 1997, godz. 03:59:59 (UTC):

    BEGIN:VCALENDAR     VERSION:2.0     PRODID:-//hacksw/handcal//NONSGML v1.0//EN     BEGIN:VEVENT     DTSTART:19970714T170000Z     DTEND:19970715T035959Z     SUMMARY:Bastille Day Party     END:VEVENT     END:VCALENDAR 

Poszczególne typy komponentów są opisane poniżej.

Zdarzenia (VEVENT)

[edytuj | edytuj kod]

Zadania do wykonania (VTODO)

[edytuj | edytuj kod]
    BEGIN:VCALENDAR     VERSION:2.0     PRODID:-//ABC Corporation//NONSGML My Product//EN     BEGIN:VTODO     DTSTAMP:19980130T134500Z     SEQUENCE:2     UID:[email protected]     ORGANIZER:MAILTO:[email protected]     ATTENDEE;PARTSTAT=ACCEPTED:MAILTO:[email protected]     DUE:19980415T235959     STATUS:NEEDS-ACTION     SUMMARY:Submit Income Taxes     BEGIN:VALARM     ACTION:AUDIO     TRIGGER:19980403T120000     ATTACH;FMTTYPE=audio/basic:http://host.com/pub/audio-      files/ssbanner.aud     REPEAT:4     DURATION:PT1H     END:VALARM     END:VTODO     END:VCALENDAR 

Wpis (VJOURNAL)

[edytuj | edytuj kod]
    BEGIN:VCALENDAR     VERSION:2.0     PRODID:-//ABC Corporation//NONSGML My Product//EN     BEGIN:VJOURNAL     DTSTAMP:19970324T120000Z     UID:[email protected]     ORGANIZER:MAILTO:[email protected]     STATUS:DRAFT     CLASS:PUBLIC     CATEGORY:Project Report, XYZ, Weekly Meeting     DESCRIPTION:Project xyz Review Meeting Minutes\n      Agenda\n1. Review of project version 1.0 requirements.\n2.     Definition      of project processes.\n3. Review of project schedule.\n      Participants: John Smith, Jane Doe, Jim Dandy\n-It was       decided that the requirements need to be signed off by       product marketing.\n-Project processes were accepted.\n      -Project schedule needs to account for scheduled holidays       and employee vacation time. Check with HR for specific       dates.\n-New schedule will be distributed by Friday.\n-      Next weeks meeting is cancelled. No meeting until 3/23.     END:VJOURNAL     END:VCALENDAR 

Czas Wolny/Zajęty (VFREEBUSY)

[edytuj | edytuj kod]
    BEGIN:VCALENDAR     VERSION:2.0     PRODID:-//RDU Software//NONSGML HandCal//EN     BEGIN:VFREEBUSY     ORGANIZER:MAILTO:[email protected]     DTSTART:19980313T141711Z     DTEND:19980410T141711Z     FREEBUSY:19980314T233000Z/19980315T003000Z     FREEBUSY:19980316T153000Z/19980316T163000Z     FREEBUSY:19980318T030000Z/19980318T040000Z     URL:https://web.archive.org/web/20091209103401/http://www.host.com/calendar/busytime/jsmith.ifb     END:VFREEBUSY     END:VCALENDAR 

Inne typy komponentów

[edytuj | edytuj kod]

Wymiana danych iCalendar

[edytuj | edytuj kod]

Standard iCalendar jest zaprojektowany do opisywania danych opartych na kalendarzu (np. wydarzeń, terminów) i celowo nie definiuje, co robić z tymi danymi. Inne protokoły mogą być konieczne, aby negocjować, jak przetwarzać te dane, a ich transport może odbywać się przy użyciu dowolnego protokołu transportującego.

Dane iCalendar są zazwyczaj wymieniane przy użyciu tradycyjnych emaili. Kalendarz może być też współdzielony i edytowany przy użyciu serwera WebDav. Proste serwery sieciowe (używające protokołu HTTP) często są używane przez instytucje do publikacji danych iCalendar dotyczących nadchodzących wydarzeń, albo przez osoby do zakomunikowania statusu „jestem zajęty”. Serwisy www z listą planowanych wydarzeń umieszczają dane iCalendar wewnątrz stron, używając standardu hCalendar, czyli mikroformatu do wyświetlania danych iCalendar w formie języka XHTML.

Standard towarzyszący, iCalendar Transport-Independent Interoperability Protocol (iTIP) (RFC 2446 ↓), definiuje protokół wymiany obiektów iCalendar dla celów zarządzania czasem w grupach i planowania rozkładu zajęć (grafiku) przez użytkowników kalendarza („Calendar Users”, CUs); ktokolwiek inicjuje wymianę danych, przyjmuje rolę organizatora („Organizer”). Standard definiuje metody takie, jak: PUBLISH (publikuj), REQUEST (żądanie/prośba), REPLY (odpowiedź), ADD (dodaj), CANCEL (anuluj), REFRESH (aktualizuj), COUNTER (licznik – do negocjacji zmiany we wpisie) oraz DECLINE-COUNTER (do odrzucenia kontr-propozycji).

Inny standard towarzyszący, iCalendar Message-based Interoperability Protocol (IMIP) (RFC 2447 ↓), definiuje standardową metodę implementacji iTIP na standardowych internetowych transportach bazujących na usłudze email.

Programy obsługujące iCalendar

[edytuj | edytuj kod]

Standard iCalendar jest obsługiwany przez wiele programów i usług do zarządzania informacją osobistą (PIM, Personal Information Managers), m.in. przez wymienione poniżej.

Lista programów

[edytuj | edytuj kod]

Lotus Notes

[edytuj | edytuj kod]

Program Lotus Notes firmy IBM także obsługuje standard iCalendar od wersji 6.0. Istnieją pewne problemy, w większości poprawione w ostatnich wersjach.

Microsoft Outlook

[edytuj | edytuj kod]

Microsoft Outlook także obsługuje standard iCalendar, i chociaż istnieją pewne problemy z jego zgodnością, to wiele z nich można naprawić przez instalację łatek.

  • Outlook 2000 zawiera błąd w implementacji iCalendar[1], dlatego nie potrafi przetwarzać plików iCalendar utworzonych przez Outlook 2002. Użytkownicy muszą skonfigurować swój program pocztowy tak, by używał otwartych standardów internetowych zamiast własnościowych specyfikacji Microsoftu.
  • Outlook 2003 można rozszerzyć o RemoteCalendars[2] – Zdalne Kalendarze, aby prenumerować, kasować i aktualizować domyślny kalendarz iCalendar poprzez Sieć.
  • Outlook 2007 umożliwia zapis do formatu iCalendar i synchronizację z kalendarzem Google[3].

Urządzenia obsługujące iCalendar

[edytuj | edytuj kod]

Standard iCalendar jest obsługiwany przez niektóre urządzenia np. firmy www.wut.de. Są to urządzenia umożliwiające zdalne włączanie wyjść cyfrowych zgodnie z zaprogramowaną logiką lub według danych z pliku ics.

Lista urządzeń W&T obsługujących standard

[edytuj | edytuj kod]

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  1. Outlook 2000 iCalendar interoperability problems [online], support.microsoft.com [dostęp 2017-12-03] [zarchiwizowane z adresu 2013-01-03] (ang.).
  2. RemoteCalendars, the Outlook2003's plug-in to subscribe, delete and reload your iCalendar [online], sourceforge.net [dostęp 2024-04-23] (ang.).
  3. Synchronizacja Outlook 2007 z Kalendarzem Google. [dostęp 2010-08-03].

Linki zewnętrzne

[edytuj | edytuj kod]