ICalendar

iCalendar on tietokoneiden tietomuoto, joka mahdollistaa kokouskutsujen ja tehtävien lähetyksen Internet-käyttäjien välillä sähköpostitse tai .ics -tiedostoja jakamalla. iCalendar tiedoston vastaanottajat
(joilla on sähköpostiohjelma tai kalenterisovellus) voivat vastata lähettäjälle helposti tai ehdottaa toista
kokouspäivää/aikaa esimerkiksi Microsoft Outlook kalenterin kanssa.iCalendar on standardi () kalenteritietojen välitykseen. Standardia kutsutaan joskus "iCal", joka on myös Apple Inc. kalenteriohjelma (katso iCal) joka tarjoaa yhden toteutuksen standardille.
iCalendaria käytetään laajalti eri tuotteissa. iCalendar-tietoa välitetään usein perinteisellä sähköpostilla.Huolimatta, että iCalendar-tietoa lähetetään perinteisellä sähköpostilla, iCalendar on suunniteltu
riippumattomaksi välitystavasta (protokollasta). Esimerkiksi kalenteritietoja voidaan jakaa ja muokata
käyttäen WebDav-palvelinta, tai SyncML:llä. Yksinkertaiset www-palvelimet (jotka käyttävät HTTP-protokollaa) käytetään usein jakamaan iCalendar-tietoa tapahtumista ja yksittäiset julkaisijat voivat sisällyttää iCalendar-tietoa www-sivuihin käyttämällä hCalendar-muotoa (samanlainen kuin iCalendar-muoto semanttisella (X)HTML-kielellä.

Historia ja kehitys
The Internet Engineering Task Force (IETF) kalenterien ja aikatauluttamisten työryhmä (Open Text Corporationin Anik Gangulyn johtamana) kehitti kalenterimuodon. Varsinaiset tekijät olivat Frank Dawson Lotus Development Corporation -yhtiöstä ja Derik Stenerson Microsoft Corporationista. iCalendar perustuu vahvasti aiempaan Internet Mail Consortiumin (IMC ) kehittämään vCalendar-muotoon. iCalendar tiedostot ovat perustekstitiedostoja.Tiedostotyyppiä "ics" käytetään ilmentämään tiedostoa, joka sisältää kalenteri- ja tehtävätietoa yhdenmukaisesti tällä MIME:n sisältötyypillä.
Tiedostotyyppiä "ibf" käytetään ilmaisemaan varattu-aikoja.
Tiedostotyypin koodi "iCal" käytetään Apple Macintoshin käyttöjärjestelmän ympäristössä ilmaisemaan tiedostoja sisältäen kalenteritietoja ja tehtäviä.
Tiedostotyyppiä "iFBf" käytetään Apple Macintoshin käyttöjärjestelmän ympäristössä ilmaisemaan tiedostoja sisältäen varattu/vapaa -aikoja.
Oletuksena iCalendar käyttää UTF-8 -merkistöä. Muunlainen merkistö voidaan määritellä MIME-parametrilla "charset" (jos siirtomedia osaa käyttää MIME:ä, kuten sähköposti tai HTTP). Kukin rivi päättyy CR+LF (heksadesimaalisena 0D0A). Rivit tulee rajoittaa 75 oktettia pitkiksi. Jos tieto ei mahdu yhdelle riville, sitä voidaan jatkaa seuraavalla rivillä takekeno-merkillä ja N-kirjaimella.(tavut 5C 6E tai 5C 4E UTF-8 -merkistössä). iCalendar tiedon tyyppi on MIME-sisällön tyypin text/calendar.

Sen jälkeen kun iCalendar julkistettiin, Internet Mail Consortium lausui, että se "toivoo, että kaikki vCalendar-kehittäjät ottaisivat käyttöön nämä uudet avoimet standardit ja tekisivät heidän sovelluksensa yhteensopiviksi kummankin standardin vCalendar 1.0 ja iCalendar kanssa.

Tekniset ominaisuudet
Kalenterilaajennokset
vCalendar ja iCalendar tukevat yksityisiä laajennoksia "X-" -prefiksillä, jotka ovat yleisessä käytössä. Tässä joitakin niistä:
 X-RECURRENCE-ID - vCalendar 1.0 -laajennos, joka matkii iCalendar 2.0:n RECURRENCE-ID -kenttää (Nokia S60 3rd Edition)
 X-EPOCAGENDAENTRYTYPE - määrittelee client-kalenterin tyypin
 X-FUNAMBOL-AALARMOPTIONS
 X-FUNAMBOL-ALLDAY - Koko päivän kestävän tapahtuman ilmaisin
 X-MICROSOFT-CDO-BUSYSTATUS - Microsoft Outlook tilatieto
 X-WR-CALNAME
 X-WR-CALDESC
 X-WR-RELCALID
 X-WR-TIMEZONE
 X-PUBLISHED-TTL

vCalendar 1.0
iCalendarin kehittäminen perustuu aiempaan Internet Mail Consortiumin (IMC) kehittämään tiedostomuotoon vCalendar. Tässä on esimerkki kalenteritiedosta vCalendar-muodossa:
 BEGIN:VCALENDAR
 VERSION:1.0
 BEGIN:VEVENT
 CATEGORIES:MEETING
 STATUS:TENTATIVE
 DTSTART:19960401T033000Z
 DTEND:19960401T043000Z
 SUMMARY:Ehdotuksesi
 DESCRIPTION: Matti ja Pekka esittelemään uusinta kehitysmateriaalia
 CLASS:PRIVATE
 END:VEVENT
 END:VCALENDAR

Validointi
Validoinnilla voidaan tarkistaa, että tiedon muoto on spesifikaatioiden mukainen. ICalendar-muodon validaattori löytyy osoitteesta:

http://severinghaus.org/projects/icv/ 

Palvelussa voi validoida ICalendar-tietoa URL-osoitteena, lähetettävänä tiedostona tai koodisnippettinä.

Katso myös
 hCalendar

 Lähteet 

Luokka:Tiedostomuodot