iCalendar
Z Wikipedii
iCalendar jest standardem (RFC 2445) dla wymiany informacji kalendarzowych opracowanym przez IETF. Jest on czasami nazywany iCal, od nazwy aplikacji firmy Apple, która jest jedną z implementacji tego standardu.
iCalendar pozwala użytkownikom wymieniać między sobą dane kalendarzowe, czyli informacje 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 e-maila 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ń.
Spis treści |
[edytuj] Specyfikacja
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.
[edytuj] Formaty plików iCalendar
Dane iCalendar są zapisywane w plikach tekstowych kodowanych w standardzie ASCII, z każdą linią zakończoną symbolami CRLF (szesnastkowo: 0D0A).
- Typ zawartości MIME: text/calendar
- Rozszerzenie "ics" może oznaczać plik zawierający zestaw (dowolnych) informacji kalendarza, planu czy rozkładu zgodnych z tym typem zawartoś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 zawartości MIME.
- Rozszerzenie "iFBf" w środowisku systemu operacyjnego Apple Macintosh oznaczać plik zawierający informacje o stanie (wolny/zajęty) zgodne z tym typem zawartości MIME.
[edytuj] Podstawowy obiekt
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.
[edytuj] Zdarzenia (VEVENT)
[edytuj] Zadania do wykonania (VTODO)
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ABC Corporation//NONSGML My Product//EN
BEGIN:VTODO
DTSTAMP:19980130T134500Z
SEQUENCE:2
UID:uid4@host1.com
ORGANIZER:MAILTO:unclesam@us.gov
ATTENDEE;PARTSTAT=ACCEPTED:MAILTO:jqpublic@host.com
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
[edytuj] Wpis (VJOURNAL)
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ABC Corporation//NONSGML My Product//EN
BEGIN:VJOURNAL
DTSTAMP:19970324T120000Z
UID:uid5@host1.com
ORGANIZER:MAILTO:jsmith@host.com
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
[edytuj] Czas Wolny/Zajęty (VFREEBUSY)
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//RDU Software//NONSGML HandCal//EN
BEGIN:VFREEBUSY
ORGANIZER:MAILTO:jsmith@host.com
DTSTART:19980313T141711Z
DTEND:19980410T141711Z
FREEBUSY:19980314T233000Z/19980315T003000Z
FREEBUSY:19980316T153000Z/19980316T163000Z
FREEBUSY:19980318T030000Z/19980318T040000Z
URL:http://www.host.com/calendar/busytime/jsmith.ifb
END:VFREEBUSY
END:VCALENDAR
[edytuj] Inne typy komponentów
[edytuj] Wymiana danych iCalendar
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.
[edytuj] Programy obsługujące iCalendar
Standard iCalendar jest obsługiwany przez wiele programów i usług do zadządzania informacją osobistą (PIM, Personal Information Managers), m. in. przez wymienione poniżej.
[edytuj] Lista programów
- 30Boxes
- AiAi
- Chandler
- Google Calendar
- Draco Organizer
- program iCal i urządzenie iPod firmy Apple
- KOrganizer [1]
- Kronolith
- Lotus Notes (zobacz poniżej)
- Lovento
- Mozilla Calendar (strona Projektu Calendar)
- Sunbird (strona Projektu Sunbird)
- Lightning (strona Projektu Lightning)
- nie kontynuowane (stare rozszerzenie dla Firefoksa / Thunderbirda)
- Mulberry
- Novell Evolution
- Nuvvo
- ScheduleWorld
- Simple Groupware
- Upcoming.org
- WebCalendar
- Windows Calendar planowany w Windows Vista
- i do pewnego stopnia Microsoft Outlook (zobacz poniżej)
[edytuj] Lotus Notes
Program Lotus Notes firmy IBM także obsługuje standard iCalendar od wersji 6.0 [2]. Istnieją pewne problemy, w większości poprawione w ostatnich wersjach. Szczegółowe informacje można znaleźć, szukając frazy "iCal" na stronie wsparcia dla Lotus Notes [3].
[edytuj] Microsoft Outlook
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. [4]
- Outlook 2000 posiada błąd w implementacji iCalendar, 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. Więcej informacji po angielsku: [5] [6] [7]
- Outlook 2003 można rozszerzyć o RemoteCalendars - Zdalne Kalendarze, aby prenumerować, kasować i aktualizować domyślny kalendarz iCalendar poprzez Sieć.
[edytuj] Zobacz też
[edytuj] Linki zewnętrzne
- GroupDAV
- Apple: iSync
- [8] Widget wydarzeń iCal dla Dashboard
- "Internet Calendaring and Scheduling Core Object Specification (iCalendar)" - RFC 2445 - IETF, Listopad 1998
- Artykuł "Microsoft Outlook Interoperability with RFC2445" - Mark Swanson
- Dawson, F., Mansour, S. and Silverberg, S. - "iCalendar Message-based Interoperability Protocol (IMIP)", RFC 2447, Listopad 1998.
- Silverberg, S., Mansour, S., Dawson, F. and Hopson, R. - "iCalendar Transport-Independent Interoperability Protocol (iTIP) : Scheduling Events, Busy Time, To-dos and Journal Entries", RFC 2446, Listopad 1998.
- Internet Mail Consortium (IMC). "Personal Data Interchange: vCard and vCalendar" - opis relacji między vCard, vCalendar, a iCalendar, oraz zawiera zalecenie implementacji w programach zarówno vCalendar jak i iCalendar.
- "Przewodnik po kalendarzach internetowych" (ang.), RFC 3283.
- "Protokół Dostępu do Kalendarzy", RFC 4324.
- University of California, Berkeley 28-30 lipca 2004 - Calconnect IV Interoperability Testing - RFC 2445, RFC 2446 i RFC 2447
- Dokument DTD dla iCalendar (xCal)
- Obsługa iCalendar i vCard w Domino
- Pliki iCalendar na Mac OS X
- calconnect.org - Calendaring and Scheduling Consortium
[edytuj] Obsługa języka iCalendar
- Kalendarz polskich świąt (plik .ics)
[edytuj] Źródła publikowanych kalendarzy iCalendar
- Project24 - strona oferująca dynamicznie generowane kalendarze do pobrania / subskrypcji.
- DateDex - Katalog kalendarzy, spis globalnych wydarzeń. Pobieranie / subskrypcja kalendarzy w formacie iCalendar.
- EventSetter.com - Darmowy kalendarz online do wyszukiwania i promowania nadchodzących wydarzeń w setkach miast Ameryki Północnej, Europy, Australii, i Nowej Zelandii. Pobieranie dowolnej listy wydarzeń w formacie iCalendar.
- Memotoo.com - zarządzaj i publikuj swoje kalendarze i notatki - eksportuj / importuj format iCalendar - synchronizuj z komponentami Sunbird i Mozilla Calendar dla programów Mozilla Thunderbird i Mozilla Firefox

