Rabu, 04 Juli 2018

Sponsored Links

iCalendar Import / Export - WP Rentals Help
src: help.wprentals.org

iCalendar is a computer file format that allows Internet users to send meeting requests and tasks to other Internet users by sharing or sending files in this format through various methods. Files typically have .ics extensions. With support software, such as an email reader or a calendar application, the iCalendar data file recipient can respond easily to the sender or against-suggest another date/time of the meeting. The file format is specified in the proposed internet standard (RFC 5545) for calendar data exchange.

iCalendar is used and supported by a large number of products, including Google Calendar, Apple Calendar (formerly iCal), IBM Notes (formerly Lotus Notes), Yahoo! Calendars, Evolution (software), eM Clients, Lightning extensions for Mozilla Thunderbird and SeaMonkey, and in part by Microsoft Outlook and Novell GroupWise.

iCalendar is designed not to rely on transport protocols. For example, certain events can be sent by traditional email or an entire calendar file can be shared and edited using the WebDav server, or SyncML. Simple web servers (HTTP protocol only) are often used to distribute iCalendar data about an event and to publish an individual busy time. Publishers can embed iCalendar data in web pages using hCalendar, a 1: 1 microformat representation of iCalendar in semantic (X) HTML.


Video ICalendar



History and design

iCalendar was first created in 1998 by the Working Group on Calendar and Scheduling of the Internet Engineering Working Group, chaired by Anik Ganguly of Open Text Corporation, and written by Frank Dawson of Lotus Development Corporation and Derik Stenerson of Microsoft Corporation. iCalendar relies heavily on previous vCalendar by Internet Mail Consortium (IMC). ICalendar data files are plain text files with .ics or .ifb extensions (for files with availability information only). RFC 5545 replaced RFC 2445 in September 2009 and now defines standards.

ICalendar data has MIME text/calendar content type.

The file name extension ics will be used for files containing calendar and scheduling information, ifb for files with free or busy time information consistent with this MIME content type. The equivalent file type code in the Apple Macintosh operating system environment is iCal and iFBf .

By default, iCalendar uses the UTF-8 character set; different character sets can be specified using the MIME "charset" parameter (if the transport method used supports MIME, such as Email or HTTP).

Each line is terminated by CR LF (in hexadecimal: 0D0A). Lines must be limited to 75 octets (not characters) long. Where data items are too long to fit on a single line can proceed on the following line by starting the line with a space character (in hex: 20) or tab character (in hex: 09).

The actual row feed in the data item is encoded as a backslash followed by the letter n or N (byte 5C 6E or 5C 4E in UTF-8).

Maps ICalendar



Limits and future

The iCalendar format is designed to deliver calendar-based data, such as events, and deliberately does not describe what to do with the data. Thus, other programming may be needed to negotiate what to do with this data.

iCalendar is intended to "provide a common format definition to openly exchange calendar and scheduling information on the Internet". Although the most frequently used features of the user are widely supported by iCalendar, some of the more advanced capabilities have issues. For example, most vendors do not support Journals (VJOURNAL). VTODOs has conversion issues too.

The iCalendar calendar is also incompatible with some non-Gregorian calendars such as the lunar calendar used in Israel and Saudi Arabia.

The "Calendar Access Protocol" memo (RFC 4324) is an early attempt at a universal system for creating real-time calendars. This protocol was eventually abandoned, probably because of its excessive complexity. Regardless, iCalendar-based codes like GroupDAV and CalDAV are now used more frequently in both client and server software packages.

The IETF "Working Group on Calendaring and Scheduling" (ietf-calsify WG) has published additional proposed revisions to the iCalendar standard (as RFC-draft/"Proposed"), but by January 2011, the group has 'ended'. Jobs taken by the "Calendar Extensions Working Group" (ietf-calext WG).

Timetabler iCalendar Rooms | Administration and support services ...
src: www.imperial.ac.uk


Technical specifications

The core object

The top level elements in iCalendar are Calendaring and Core Object Scheduling, a collection of calendar and scheduling information. Typically, this information will consist of a single iCalendar object. However, some iCalendar objects can be grouped together.

The first line must be BEGIN: VCALENDAR , and the last line should be END: VCALENDAR ; the content between these lines is called "icalbody".
The second line VERSION: 2.0 indicates that the data is in iCalendar format. VERSION: 1.0 is used to specify that the data is in the old vCalendar format.

The body of the iCalendar object (icalbody) consists of a list of calendar properties and one or more calendar components. Calendar properties apply to all calendars. A calendar component is some calendar property that creates a calendar schematic (design). For example, the calendar component may specify an event, a to-do list, a journal entry, a time zone information, or a free/busy time information, or an alarm. Empty lines are not allowed in some versions of use (Google calendar).

Here is a simple example of iCalendar object, "Bastille Day Party" event that occurred July 14, 1997 17:00 (UTC) to 15 July 1997 03:59:59 (UTC):

  BEGIN: VCALENDAR  VERSION: 2.0  PRODID: -//hacksw/handcal//NONSGML v1.0//EN  BEGIN: VEVENT  UID: uid1@example.com  DTSTAMP: 19970714T170000Z  ORGANIZER: CN = John Doe: MAILTO: john.doe@example.com  DTSTART: 19970714T170000Z  DTEND: 19970715T035959Z  SUMMARY: Bastille Day party  END: VEVENT  END: VCALENDAR  

There are many types of components that can be used in iCalendar, as described below.

Events (VEVENT)

VEVENT describes an event, which has a scheduled amount of time on a calendar. Usually, when a user receives a calendar event, this will cause the time to be considered busy. A VEVENT might include VALARM that allows an alarm. Such an event has DTSTART that specifies the start time, and DTEND that specifies the end time. If the calendar event recurs, DTSTART prepares the start of the first event.

VALARM code (1 day reminder):

  BEGIN: VALARM  TRIGGER: -PT1440M  ACTION: DISPLAY  DESCRIPTION: Reminder  END: VALARM  

VEVENT is also used for calendar events with no specific time, such as anniversaries and daily reminders. If the user needs to send a cancellation for an event, the UID must be the same as the initial event, and the component property must be set to cancel Ex.

  METHOD: CANCEL  STATUS: CANCELED  

To send UPDATE for an event, UID must be the same as the original UID . Other component properties to be set are:

 SEQUENCE: & lt; Num of Update & gt; 

Yes, for the first update:

 SEQUENCE: 1 

In Microsoft Outlook, SUMMARY matches the "Subject" entry in the "Appointment" form, and DESCRIPTION to the descriptive text underneath. Additionally, Outlook 2002 and Outlook 2003 require UID and DTSTAMP .

Organizer (VTODO)

VTODO describes items to do, that is, action items or tasks.

Not all calendar apps recognize VTODO items. Specifically, Outlook does not export Tasks as a VTODO item, and ignores VTODO items in the imported calendar.

The following is an example of an agenda to be performed on April 15, 1998. Audio alarms have been determined to remind calendar users during the day, the day before the agenda is expected to finish and repeat hourly, four additional times. The SEQUENCE element shows this agenda been modified twice since it was first created.

  BEGIN: VCALENDAR  VERSION: 2.0  PRODID: -//ABC Corporation//NONSGML My Products//EN  BEGIN: VTODO  DTSTAMP: 19980130T134500Z  SEQUENCE: 2  UID: uid4@example.com  LIMIT: 19980415T235959  STATUS: NEEDS  SUMMARY: Submit Income Tax  BEGIN: VALARM  ACTION: AUDIO  TRIGGER: 19980414T120000  ATTACH; FMTTYPE = audio/basics: http://example.com/pub/audio-  Â file/ssbanner.aud  REPEAT: 4  DURATION: PT1H  END: VALARM  END: VTODO  END: VCALENDAR  

Journal entries (VJOURNAL)

VJOURNAL is a journal entry. They attach descriptive text to a specific calendar date, can be used to record activity diaries or achievements, or describe progress with related to-do entries. The "VJOURNAL" calendar component does not take time on the calendar, so it does not affect free or busy (like TRANSPARENT entry). In practice, some programs support VJOURNAL entries, although there are examples: Plum Canary's Chirp software uses VTODO and VJOURNAL together. Also KOrganizer from KDE and Evolution desktops from the GNOME desktop supports VJOURNAL.

The following is an example of a journal entry:

  BEGIN: VCALENDAR  VERSION: 2.0  PRODID: -//ABC Corporation//NONSGML My Products//EN  BEGIN: VJOURNAL  DTSTAMP: 19970324T120000Z  UID: uid5@example.com  ORGANIZER: MAILTO: jsmith@example.com  STATUS: DRAFT  CLASS: PUBLIC  CATEGORIES: Project Reports, XYZ, Weekly Meetings  DESCRIPTION: Project xyz Review Meeting Minutes \ n  Agenda \ n1. Review the project version 1.0 requirements. \ N2.  Â Definitions  Â project process. \ n3. Review the project schedule. \ N  Â Participants: John Smith, Jane Doe, Jim Dandy \ n-That  Â Â decide that the terms must be signed by  Â Â product marketing. \ n- The project process is accepted. \ n  Â -The project schedule needs to take into account scheduled holidays  Â Â and employee vacation time. Check with HR for specific  Â Â date. \ n-The new schedule will be distributed on Fridays. \ n-  The next week's meeting was canceled. No meetings until 3/23.  END: VJOURNAL  END: VCALENDAR  

(Note: This example is taken from RFC 2445 with the correction changing the word 'CATEGORY' to 'CATEGORIES', which is an error in the original RFC)

Free/busy (VFREEBUSY)

VFREEBUSY is a request for free/busy time, is a response to a request, or a series of busy times are published.

Here is an example of busy time information published:

  BEGIN: VCALENDAR  VERSION: 2.0  PRODID: -//RDU Software//NONSGML HandCal//EN  BEGIN: VFREEBUSY  DTSTAMP: 20151013T080000Z  UID: uid6@example.com  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  

Other component types

Other component types include VTIMEZONE (time zone) and VALARM (alarm). Some components may include other components (VALARM is often included in other components).

Distribute updates

The UID field distributes updates when the scheduled event is changed. When the event was first generated, a unique global identifier was created. If the next event is distributed with the same UID, it replaces the original.

Calendar extension

vCalendar and iCalendar support personal software extensions, with the prefix "X-", a number of commonly used.

Some of them include:

  • X-RECURRENCE-ID - a vCalendar 1.0 extension that mimics iCalendar 2.0 RECURRENCE-ID (Nokia S60 3rd Edition)
  • X-EPOCAGENDAENTRYTYPE - defines client calendar type
  • X-FUNAMBOL-AALARMOPTIONS
  • X-FUNAMBOL-ALLDAY - All Day event flags
  • X-MICROSOFT-CDO-ALLDAYEVENT - Microsoft Outlook flags all day event
  • X-MICROSOFT-CDO-BUSYSTATUS - Microsoft Outlook status information
  • X-MICROSOFT-CDO-INTENDEDSTATUS
  • X-WR-CALNAME - Calendar display name
  • X-WR-CALDESC - Description of calendar
  • X-WR-RELCALID - Unique global identifier for calendar
  • X-WR-TIMEZONE
  • X-PUBLISHED-TTL - Recommended update interval to subscribe to calendar
  • X-ALT-DESC - Used to include HTML markup in the event description. The default DESCRIPTION tag must contain a non-HTML version.

vCalendar 1.0

The iCalendar design is based on the previous file format vCalendar created by the Internet Mail Consortium (IMC).

Here is an example of information in vCalendar format:

  BEGIN: VCALENDAR  VERSION: 1.0  BEGIN: VEVENT  CATEGORIES: MEETINGS  STATUS: TENTATIF  DTSTART: 19960401T033000Z  DTEND: 19960401T043000Z  SUMMARY: Your Proposal Review  INFORMATION: Steve and John to review the latest proposal materials  CLASS: PRIVATE  END: VEVENT  END: VCALENDAR  

It has the.vcs file extension. After iCalendar was released, Internet Mail Consortium stated that "hope all vCalendar developers take advantage of this new open standard and make their software compatible with vCalendar 1.0 and iCalendar."

Representation

xCal

xCal is the XML representation of the iCalendar data, as defined in RFC 6321.

jCal

jCal is a JSON representation of iCalendar data, as defined in RFC 7265.

iCalendar Import / Export - WP Rentals Help
src: help.wprentals.org


See also

  • List of apps with iCalendar support
  • CalDAV
  • GroupDAV
  • hCalendar
  • OSID scheduling provides software interface abstraction for using the
  • calendar protocol
  • vCard
  • xCal
  • Webcal - Unofficial Uniform Resource Identifier (URI) scheme
  • The zip file

How to create and share an iCalendar - YouTube
src: i.ytimg.com


Note


iCalendar Import / Export - WP Rentals Help
src: help.wprentals.org


External links

  • RFC 5545 Internet Details and Scheduling Core Object Specification (iCalendar) (replacing RFC 2445)
  • RFC 5546 iCalendar Transport-Independent Interoperability Protocol (iTIP) (replacing RFC 2446)
  • Message-based Interoperability Protocol RFC 6047 iCalendar (iMIP) (replacing RFC 2447)
  • RFC 6321 xCal: XML Format for iCalendar (iCalendar XML Representation)
  • RFC 6868: update data formats to include certain characters, prohibited by existing specifications, in parameter values ​​
  • RFCÃ, 7265 jCal: JSON format for iCalendar
  • RFC 7986 New Property for iCalendar (additional properties for the iCalendar specification)
  • "Introduction to Internet Breakdown and Scheduling". CalConnect. 2011-10-20.
  • "Exchange of Personal Data - vCard and vCalendar". Internet Email Consortium. Archived from the original in 2017-02-27. Ã, - This explains the vCard, vCalendar, and iCalendar relationships, and includes IMC requests for implementers to support both vCalendar and iCalendar.
  • "iCalendar Resources". - List of resources for iCalendar and related standards.

Source of the article : Wikipedia

Comments
0 Comments