hCalendar (short for HTML iCalendar) is a microformat standard for displaying a semantic (X)HTML representation of iCalendar-format calendar information about an event, on web pages, using HTML classes and rel attributes.

It allows parsing tools (for example other websites, or browser add-ons[1] like Firefox's Operator extension) to extract the details of the event, and display them using some other website, index or search them, or to load them into a calendar or diary program, for instance. Multiple instances can be displayed as timelines.

Contents

  [hide

[edit]Example

Consider this semi-fictional example:

   The English Wikipedia was launched
   on 15 January 2001 with a party from 
   2-4pm at 
   Jimmy Wales' house 
   (more information).

The HTML mark-up might be:

<p>
    The English Wikipedia was launched 
    on 15 January 2001 with a party from 
    2-4pm at 
    Jimmy Wales' house 
    (<a href="http://en.wikipedia.org/wiki/History_of_Wikipedia">more information</a>)
</p>

hCalendar mark-up may be added using span HTML elements and the classes veventsummarydtstart (start date), dtend (end date), location and url:

<p class="vevent">
    The <span class="summary">English Wikipedia was launched</span> 
    on 15 January 2001 with a party from 
    <abbr class="dtstart" title="2001-01-15T14:00:00+06:00">2</abbr>-
    <abbr class="dtend" title="2001-01-15T16:00:00+06:00">4</abbr>pm at 
    <span class="location">Jimmy Wales' house</span> 
    (<a class="url" href="http://en.wikipedia.org/wiki/History_of_Wikipedia">more information</a>)
</p>

Note the use of the abbr element to contain the machine readable, ISO8601, date-time format for the start and end times.

[edit]Accessibility concerns

Concerns have been expressed[2] that, where it occurs, the use of the abbr element (using the so-called abbr-design-pattern) in the above manner causes accessibility problems, not least for users of screen readers and aural browsers. Work is underway to find an alternative method of presenting ISO8601 date-time information.[3]

[edit]Geo

The Geo microformat is a part of the hCalendar specification, and is often used to include the coordinates of the event's location within an hCalendar.

[edit]Attributes

For a full list of attributes, see the hCalendar cheat-sheet.

[edit]Users

Notable organisations and other websites using hCalendar include:

[edit]References

[edit]External links


출처 - http://en.wikipedia.org/wiki/HCalendar


'OpenSource > Collaboration Software' 카테고리의 다른 글

Collaborative software  (0) 2013.03.25
xCal  (0) 2013.03.25
iCalendar  (0) 2013.03.25
vCard  (0) 2013.03.25
GroupDAV  (0) 2013.03.25
Posted by linuxism
,


iCalendar
Filename extension.ical; .ics; .ifb
.icalendar
Internet media typetext/calendar
Type of formatCalendar data exchange
Standard(s)RFC 5545

iCalendar components and their properties



iCalendar is a computer file format which allows Internet users to send meeting requests and tasks to other Internet users, via email, or sharing files with an extension of .ics. Recipients of the iCalendar data file (with supporting software, such as an email client or calendar application) can respond to the sender easily or counter-propose another meeting date/time.[1]

iCalendar is used and supported by a large number of products, including Google Calendar, Apple Calendar (formerly iCal),[2] GoDaddy Online Group Calendar,[3] IBM Lotus Notes,[4] Yahoo! CalendarEvolution (software)eM ClientLightning extension for Mozilla Thunderbird andSeaMonkey, and partially by Microsoft Outlook and Novell GroupWise.

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

Contents

  [hide

[edit]History and design

iCalendar was created by the Internet Engineering Task Force Calendaring and Scheduling Working Group (chaired by Anik Ganguly of Open Text Corporation), and was authored by Frank Dawson of Lotus Development Corporation and Derik Stenerson of Microsoft Corporation. iCalendar is heavily based on the earlier vCalendar by the Internet Mail Consortium (IMC). iCalendar data files are plain text files with the extension .ics or .ifb (for files containing availability information only). RFC 5545 replaced RFC 2445 in September 2009 and now defines the standard.

The filename extension of "ics" is to be used to designate a file containing (an arbitrary set of) calendaring and scheduling information consistent with this MIME content type.

The filename extension of "ifb" is to be used to designate a file containing free or busy time information consistent with this MIME content type.

The file type code of "iCal" is to be used in Apple Macintosh operating system environments to designate a file containing calendaring and scheduling information consistent with this MIME media type.

The file type code of "iFBf" is to be used in Apple Macintosh operating system environments to designate a file containing free or busy time information consistent with this MIME media type.

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

Each line is terminated by CR+LF (in hexadecimal: 0D0A). Lines should be limited to 75 octets (not characters) long. Where a data item is too long to fit on a single line it can be continued on following lines by starting the continuation lines with a space character (in hex: 20) or a tab character (in hex: 09).

Actual line feeds in data items are encoded as a backslash followed by the letter N (the bytes 5C 6E or 5C 4E in UTF-8). iCalendar data has the MIME content type text/calendar.

[edit]Limitations and future

The iCalendar format is designed to transmit calendar-based data, such as events, and intentionally does not describe what to do with that data. Thus, other programming may be needed to negotiate what to do with this data.[5]

iCalendar is meant to "provide the definition of a common format for openly exchanging calendaring and scheduling information across the Internet". While the features most often used by users are widely supported by iCalendar, some more advanced capabilities have problems. For example, most vendors do not support Journals (VJOURNAL). "[R]ecurring and repeating meetings still have a bit of mystery and ambiguity associated with them. Resulting in no true interoperability between the current calendaring and scheduling vendors."[6] VTODOs have had conversion problems as well.[7]

iCalendar's calendar is also not compatible with some non-Gregorian calendars such as the lunar calendars used in Israel or Saudi Arabia.[8]

The memo "Calendar Access Protocol" (RFC 4324) was an initial attempt at a universal system to create real-time calendars. This protocol was eventually abandoned, possibly because of excessive complexity. Regardless, iCalendar-based code such as GroupDAV and CalDAV are now being used more frequently in both client and server software packages.

The IETF "Calendaring and Scheduling Working Group" (ietf-calsify WG) has published additional proposed revisions to the iCalendar standards[9] (as RFC-drafts/"Proposed"; see [1]), but as of January 2011, the group has 'ended'.[10] Much of their work focused on clarifications to the previous standards, and was apparently influenced on work by the Calendaring and Scheduling Consortium (a.k.a. Calconnect[11])

[edit]Technical specifications

[edit]Core object

The top-level element in iCalendar is the Calendaring and Scheduling Core Object, a collection of calendar and scheduling information. Typically, this information will consist of a single iCalendar object. However, multiple iCalendar objects can be grouped together.

The first line must be "BEGIN:VCALENDAR", and the last line must be "END:VCALENDAR"; the contents between these lines is called the "icalbody".

The body of the iCalendar object (the icalbody) is made up of a list of calendar properties and one or more calendar components. The calendar properties apply to the entire calendar. The calendar components are several calendar properties which create a calendar schematic (design). For example, the calendar component can specify an event, a to-do list, a journal entry, time zone information, or free/busy time information, or an alarm. Empty lines are not allowed in some versions of usage (Google calendar).

Here is a simple example[12] of an iCalendar object, "Bastille Day Party" event which occurs July 14, 1997 17:00 (UTC) through July 15, 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 different types of components which can be used in iCalendar, as described below.[13]

[edit]Events (VEVENT)

VEVENT describes an event, which has a scheduled amount of time on a calendar. Normally, when a user accepts the calendar event, this will cause that time to be considered busy.[14] AVEVENT may include a VALARM which allows an alarm. Such events have a DTSTART which sets a starting time, and a DTEND which sets an ending time. If the calendar event is recurring,DTSTART sets up the start of the first event.

VEVENT also is used for calendar events without a specific time, such as anniversaries and daily reminders.[15] If you need to send in a cancellation for an event, the UID should be same as the original event, and the component properties should be set to cancel Ex.

METHOD:CANCEL
STATUS:CANCELLED

For sending an UPDATE for an event the UID should match the original UID. the other component property to be set is:

SEQUENCE:<Num of Update>

I.e., for the first update:

SEQUENCE:1

In Microsoft Outlook, the SUMMARY corresponds to the "Subject" entry in the "Appointment" form, and DESCRIPTION to the descriptive text below it. In addition, Outlook 2003 demands aUID and a DTSTAMP.

[edit]To-do (VTODO)

VTODO explains a to-do item, i.e., an action-item or assignment.

The following is an example of a to-do due on April 15, 1998.[16] An audio alarm has been specified to remind the calendar user at noon, the day before the to-do is expected to be completed and repeat hourly, four additional times. The SEQUENCE element shows this to-do has been modified twice since it was initially created.

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ABC Corporation//NONSGML My Product//EN
BEGIN:VTODO
DTSTAMP:19980130T134500Z
SEQUENCE:2
UID:uid4@host1.com
ACTION:AUDIO
TRIGGER:19980403T120000
ATTACH;FMTTYPE=audio/basic:http://example.com/pub/audio-
 files/ssbanner.aud
REPEAT:4
DURATION:PT1H
END:VTODO
END:VCALENDAR

[edit]Journal entry (VJOURNAL)

VJOURNAL is a journal entry. They attach descriptive text to a particular calendar date, may be used to record a daily record of activities or accomplishments, or describe progress with a related to-do entry. A "VJOURNAL" calendar component does not take up time on a calendar, so it has no effect on free or busy time (just like TRANSPARENT entries). In practice, few programs support VJOURNAL entries, although examples exist: Plum Canary's Chirp software uses VTODO and VJOURNAL together. Also KOrganizer from the KDE desktop supports VJOURNAL.

The following is an example of a journal entry:[12]

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ABC Corporation//NONSGML My Product//EN
BEGIN:VJOURNAL
DTSTAMP:19970324T120000Z
UID:uid5@host1.com
ORGANIZER:MAILTO:jsmith@example.com
STATUS:DRAFT
CLASS:PUBLIC
CATEGORIES: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

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

[edit]Free/busy time (VFREEBUSY)

VFREEBUSY is a request for free/busy time, is a response to a request, or is a published set of busy time.[clarification needed] [17]

The following is an example of published busy time information.:[18]

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//RDU Software//NONSGML HandCal//EN
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

[edit]Other component types

Other component types include VTIMEZONE (time zones) and VALARM (alarms). Some components can include other components (VALARM is often included in other components).[19]

[edit]Distributing updates

The UID field distributes updates when a scheduled event changes. When the event is first generated a globally unique identifier is created. If a later event is distributed with the same UID, it replaces the original one.[20]

[edit]Calendar extensions

vCalendar and iCalendar support private software extensions, with a "X-" prefix, a number of which are in common usage.

Some of these include:

  • X-RECURRENCE-ID - vCalendar 1.0 extension which mimics the iCalendar 2.0 RECURRENCE-ID (Nokia S60 3rd Edition)
  • X-EPOCAGENDAENTRYTYPE - defines the client calendar type
  • X-FUNAMBOL-AALARMOPTIONS
  • X-FUNAMBOL-ALLDAY - All Day event flag
  • X-MICROSOFT-CDO-ALLDAYEVENT - Microsoft Outlook all day event flag
  • X-MICROSOFT-CDO-BUSYSTATUS - Microsoft Outlook status information
  • X-WR-CALNAME - The display name of the calendar
  • X-WR-CALDESC - A description of the calendar
  • X-WR-RELCALID
  • X-WR-TIMEZONE
  • X-PUBLISHED-TTL - Recommended update interval for subscription to the calendar

[edit]vCalendar 1.0

iCalendar's design was 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:MEETING
STATUS:TENTATIVE
DTSTART:19960401T033000Z
DTEND:19960401T043000Z
SUMMARY:Your Proposal Review
DESCRIPTION:Steve and John to review newest proposal material
CLASS:PRIVATE
END:VEVENT
END:VCALENDAR

After iCalendar was released, the Internet Mail Consortium stated that it "hopes that all vCalendar developers take advantage of these new open standards and make their software compatible with both vCalendar 1.0 and iCalendar."[21]

[edit]Notes

  1. ^ iCalendar is a standard (RFC 5545) for calendar data exchange. The standard is sometimes referred to as "iCal", which was the name of the Apple Inc. calendar program before OS X Mountain Lion (seeiCal) that provides one of the implementations of the standard.
  2. ^ From iCal
  3. ^ From GoDaddy Help Center - Importing, Exporting, and Subscribing to Calendars
  4. ^ From Lotus Notes 8.5 iCalendar support info on ibm.com.
  5. ^ A companion standard, "iCalendar Transport-Independent Interoperability" (iTIP) (RFC 2446), defines a protocol for exchanging iCalendar objects for the purposes of group calendaring and scheduling between "Calendar Users" (CUs); whoever initiates the exchange of data takes on the role of the "Organizer". This standard defines methods such as PUBLISH, REQUEST, REPLY, ADD, CANCEL, REFRESH, COUNTER (to negotiate a change in the entry), and DECLINE-COUNTER (to decline the counter-proposal). Another companion standard, "iCalendar Message-based Interoperability Protocol (iMIP)" (RFC 2447), defines a standard method for implementing iTIP on standard Internet email-based transports. The "Guide to Internet Calendaring" (RFC 3283) explains how iCalendar interacts with other calendar computer language (current and future).
  6. ^ Klemow, Jason (2005), "Why remove iCalendar Recurring Rules?"From the shores of the Muddy Branch, retrieved July 30, 2012
  7. ^ CalConnect, 2004
  8. ^ Although there exist one-to-one mappings between Gregorian and many other calendar scales, the lack of defined CALSCALE values for those calendars and limitations in various date fields can make native support impossible. For example the Hebrew calendar year may contain either 12 or 13 months, and the Japanese Emperor-based calendar scale contains many eras.
  9. ^ IETF-calsify website: Charter
  10. ^ "[ietf-calsify]: the end of calsify working group– not the end of the mailing listhttp://lists.osafoundation.org/pipermail/ietf-calsify/2010-December/002272.html, retrieved 2010-01-26.
  11. ^ http://www.calconnect.org/ -- "Formed in 2004, Calconnect addresses interoperability issues through scheduled interoperability tests and through technical committees and surveys to determine actual use cases. Any organization or individual is eligible to join the consortiumm."
  12. a b From RFC 2445
  13. ^ Note that Apple iCal and Microsoft Outlook use additional descriptors, as follows, to provide further information about the calendar.
    X-WR-CALNAME:Revolution Parties
    X-WR-CALDESC:Celebrations of various revolutionary activities.
    X-WR-RELCALID:3E26604A-50F4-4449-8B3E-E4F4932D05B5
    X-WR-TIMEZONE:US/Pacific

    Where the X-WR-RELCALID is a UUID.
  14. ^ But an event can be set to be "TRANSPARENT" to change this interpretation.
  15. ^ These events would have a DATE value type for the DTSTART property instead of the default DATE-TIME, and need not include a DTEND property.
  16. ^ From RFC 2445.
  17. ^ As described in RFC 2445:

    When used to request free/busy time information, the "ATTENDEE" property specifies the calendar users whose free/busy time is being requested; the "ORGANIZER" property specifies the calendar user who is requesting the free/busy time; the "DTSTART" and "DTEND" properties specify the window of time for which the free/busy time is being requested; the "UID" and "DTSTAMP" properties are specified to assist in proper sequencing of multiple free/busy time requests.

    When used to reply to a request for free/busy time, the "ATTENDEE" property specifies the calendar user responding to the free/busy time request; the "ORGANIZER" property specifies the calendar user that originally requested the free/busy time; the "FREEBUSY" property specifies the free/busy time information (if it exists); and the "UID" and "DTSTAMP" properties are specified to assist in proper sequencing of multiple free/busy time replies.

    When used to publish busy time, the "ORGANIZER" property specifies the calendar user associated with the published busy time; the "DTSTART" and "DTEND" properties specify an inclusive time window that surrounds the busy time information; the "FREEBUSY" property specifies the published busy time information; and the "DTSTAMP" property specifies the date/time that iCalendar object was created.

  18. ^ From RFC 2445 The iCalendar object might be placed at some URL with the extension ".ifb"
  19. ^ Some components are often defined to support other components defined after them (VTIMEZONE is often used this way).[clarification needed]
  20. ^ An example UID might be "Y2007S2C131M5@example.edu", for the 5th meeting of class 131 in semester 2 at a hypothetical college.
  21. ^ From IMC website.

[edit]See also

[edit]External links

  • RFC 5545 Internet Calendaring and Scheduling Core Object Specification (iCalendar) (replaces RFC 2445)
  • RFC 5546 iCalendar Transport-Independent Interoperability Protocol (iTIP) (replaces RFC 2446)
  • RFC 6047 iCalendar Message-Based Interoperability Protocol (iMIP) (replaces RFC 2447)
  • RFC 6321 xCal: The XML format for iCalendar (iCalendar XML Representation)
  • Internet Mail Consortium (IMC). "Personal Data Interchange: vCard and vCalendar". This describes the relationship of vCard, vCalendar, and iCalendar, and includes IMC's request for implementors to support both vCalendar and iCalendar.


출처 - http://en.wikipedia.org/wiki/ICalendar






The following is a list of applications which support iCalendar:

Contents

  [hide

[edit]Free software/Open source

[edit]Proprietary (free to use or paid)







'OpenSource > Collaboration Software' 카테고리의 다른 글

xCal  (0) 2013.03.25
hCalendar  (0) 2013.03.25
vCard  (0) 2013.03.25
GroupDAV  (0) 2013.03.25
CardDAV  (0) 2013.03.25
Posted by linuxism
,


vCard
Filename extension.vcf, .vcard
Internet media typetext/vcard
Type codevCrd
Uniform Type Identifierpublic.vcard
Developed byInternet Mail Consortium
Type of formatelectronic business card
Container forcontact information


vCard is a file format standard for electronic business cards. vCards are often attached to e-mail messages, but can be exchanged in other ways, such as on the World Wide Web or instant messaging. They can contain name and address information, phone numberse-mail addresses, URLs,logosphotographs, and audio clips.

Contents

  [hide

[edit]History

Versitcard was originally proposed in 1995 by the Versit Consortium, which consisted of Apple, AT&T Technologies (later Lucent), IBM and Siemens. In December 1996, ownership of the format was handed over to the Internet Mail Consortium, a trade association for companies with an interest in Internet e-mail.

Version 2.1 of the vCard standard is widely supported by e-mail clients. Version 3.0 of the vCard format is an IETF standards-track proposal contained in RFC 2425 and RFC 2426. Version 4.0 is defined in RFC 6350, with a new XML syntax, xCard, defined in RFC 6351. The commonly-used filename extension for vCards is vcf. In RFC 4770vCard Extensions for Instant Messaging, a new type of entry to hold an IMPP URI is defined, which is "IMPP". This is now part of the base vCard 4.0 specification.

[edit]Media type

The standard Internet media type for a vCard (often referred to as its mime type) is:[1]

text/vcard

As of version 4.0 specification, other media types known to have been used previously are now deprecated, including:[1]

text/x-vcard
text/directory;profile=vCard
text/directory

[edit]Example vCard files

The following is an example of a VCard file containing information for one person:

[edit]vCard 2.1

BEGIN:VCARD
VERSION:2.1
N:Gump;Forrest
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;GIF:http://www.example.com/dir_photos/my_photo.gif
TEL;WORK;VOICE:(111) 555-1212
TEL;HOME;VOICE:(404) 555-1212
ADR;WORK:;;100 Waters Edge;Baytown;LA;30314;United States of America
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:100 Waters Edge=0D=0ABaytown, LA 30314=0D=0AUnited States of America
ADR;HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America
LABEL;HOME;ENCODING=QUOTED-PRINTABLE:42 Plantation St.=0D=0ABaytown, LA 30314=0D=0AUnited States of America
EMAIL;PREF;INTERNET:forrestgump@example.com
REV:20080424T195243Z
END:VCARD

[edit]vCard 3.0

BEGIN:VCARD
VERSION:3.0
N:Gump;Forrest
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;VALUE=URL;TYPE=GIF:http://www.example.com/dir_photos/my_photo.gif
TEL;TYPE=WORK,VOICE:(111) 555-1212
TEL;TYPE=HOME,VOICE:(404) 555-1212
ADR;TYPE=WORK:;;100 Waters Edge;Baytown;LA;30314;United States of America
LABEL;TYPE=WORK:100 Waters Edge\nBaytown, LA 30314\nUnited States of America
ADR;TYPE=HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America
LABEL;TYPE=HOME:42 Plantation St.\nBaytown, LA 30314\nUnited States of America
EMAIL;TYPE=PREF,INTERNET:forrestgump@example.com
REV:2008-04-24T19:52:43Z
END:VCARD

[edit]vCard 4.0

BEGIN:VCARD
VERSION:4.0
N:Gump;Forrest;;;
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;MEDIATYPE=image/gif:http://www.example.com/dir_photos/my_photo.gif
TEL;TYPE=work,voice;VALUE=uri:tel:+1-111-555-1212
TEL;TYPE=home,voice;VALUE=uri:tel:+1-404-555-1212
ADR;TYPE=work;LABEL="100 Waters Edge\nBaytown, LA 30314\nUnited States of America"
  :;;100 Waters Edge;Baytown;LA;30314;United States of America
ADR;TYPE=home;LABEL="42 Plantation St.\nBaytown, LA 30314\nUnited States of America"
 :;;42 Plantation St.;Baytown;LA;30314;United States of America
EMAIL:forrestgump@example.com
REV:20080424T195243Z
END:VCARD

[edit]xCard

<?xml version="1.0" encoding="UTF-8"?>
<vcards xmlns="urn:ietf:params:xml:ns:vcard-4.0">
  <vcard>
    <n>
      <family>Gump</family>
      <given>Forrest</given>
      <prefix>Mr.</prefix>
    </n>
    <title><text>runner</text></title>
    <photo>
        <parameters>
            <mediatype>image/gif</mediatype>
        </parameters>
        <uri>images/x.jpg</uri>
    </photo>
    <tel>
      <parameters>
        <type>work</type>
        <type>voice</type>
      </parameters>
      <uri>tel:+1 650 000 000</uri>
    </tel>
    <adr>
      <parameters>
        <type>work</type>
        <label>113 Grant avenue
          SAN FRANCISCO, CA 94300
          USA
        </label>
      </parameters>
      <pobox/>
      <ext/>
      <street>113 Grant avenue</street>
      <locality>SAN FRANCISCO</locality>
      <code>94300</code>
      <country>USA</country>
    </adr>
    <email><text>forrest@gmail.com</text></email>
  </vcard>
</vcards>

[edit]hCard 1.0

hCard is a microformat that allows a vCard to be embedded inside an HTML page. It makes use of CSS class names to identify each vCard property. Normal HTML markup and CSS styling can be used alongside the hCard class names without affecting the webpage's ability to be parsed by a hCard parser.

<html>
  <head>
    <link rel="profile" href="http://microformats.org/profile/hcard" />
  </head>
  <body>
    <div class="vcard">
      <img class="photo" src="http://www.example.com/dir_photos/my_photo.gif" align="left" />
      <h1 class="fn">Forrest Gump</h1>
      <div class="email">
        <span class="type">Internet</span> Email (<span class="type">pref</span>erred):
        <a class="value" href="mailto:forrestgump@example.com">forrestgump@example.com</a>
      </div>
      <div class="n">
        First Name: <span class="given-name">Forrest</span><br />
        Last Name: <span class="family-name">Gump</span>
      </div>
 
      <div class="label" style="display:none">
        <span class="type">home</span>
        42 Plantation St.<br />Baytown, LA 30314<br />United States of America
      </div>
      <div class="adr">
        <span class="type">Home</span> Address:<br />
        <span class="street-address">42 Plantation St.</span><br />
        <span class="locality">Baytown</span>, <span class="region">LA</span>
        <span class="postal-code">30314</span><br />
        <span class="country-name">United States of America</span>
      </div>
      <div class="tel">
         <abbr class="type" title="voice"></abbr>
         <span class="type">Home</span> Phone: <span class="value">+1-111-555-1212</span>
      </div>
 
      <div>
        Organization: <span class="org">Bubba Gump Shrimp Co.</span><br />
        Title: <span class="title">Shrimp Man</span>
      </div>
 
      <div class="label" style="display:none">
        <span class="type">work</span>
        100 Waters Edge<br />Baytown, LA 30314<br />United States of America
      </div>
      <div class="adr">
        <span class="type">Work</span> Address:<br />
        <span class="street-address">100 Waters Edge</span><br />
        <span class="locality">Baytown</span>, <span class="region">LA</span>
        <span class="postal-code">30314</span><br />
        <span class="country-name">United States of America</span>
      </div>
      <div class="tel">
         <abbr class="type" title="voice"></abbr>
         <span class="type">Work</span> Phone: <span class="value">+1-404-555-1212</span>
      </div>
 
      <em>vCard last updated:</em>
      <time class="rev" datetime="2008-04-24T19:52:43Z">April 24, 2008 at 7:52 PM GMT</time>
    </div>
  </body>
</html>

[edit]Properties

vCard defines the following property types.

All vCards begin with BEGIN:VCARD and end with END:VCARD. All vCards must contain the VERSION property, which specifies the vCard version. VERSION must come right after BEGIN(except in the vCard 2.1 standard, which allows it to be anywhere in the vCard). Otherwise, properties can be defined in any order.

blue tick = required Green tick = supported

NameVersionsDescriptionExample
2.13.04.0
ADRGreen tickGreen tickGreen tickA structured representation of the physical delivery address for the vCard object.ADR;TYPE=home:;;123 Main St.;Springfield;IL;12345;USA
AGENTGreen tickGreen tickInformation about another person who will act on behalf of the vCard object. Typically this would be an area administrator, assistant, or secretary for the individual. Can be either a URL or an embedded vCard.AGENT:http://mi5.gov.uk/007
ANNIVERSARYGreen tickDefines the person's anniversary.ANNIVERSARY:19901021
BDAYGreen tickGreen tickGreen tickDate of birth of the individual associated with the vCard.BDAY:19700310
BEGINblue tickblue tickblue tickAll vCards must start with this property.BEGIN:VCARD
CALADRURIGreen tickA URL to use for sending a scheduling request to the person's calendar.CALADRURI:http://example.com/calendar/jdoe
CALURIGreen tickA URL to the person's calendar.CALURI:http://example.com/calendar/jdoe
CATEGORIESGreen tickGreen tickGreen tickA list of "tags" that can be used to describe the object represented by this vCard.CATEGORIES:swimmer,biker
CLASSGreen tickDescribes the sensitivity of the information in the vCard.CLASS:public
CLIENTPIDMAPGreen tickUsed for synchronizing different revisions of the same vCard.CLIENTPIDMAP:1;urn:uuid:3df403f4-5924-4bb7-b077-3c711d9eb34b
EMAILGreen tickGreen tickGreen tickThe address for electronic mail communication with the vCard object.EMAIL:johndoe@hotmail.com
ENDblue tickblue tickblue tickAll vCards must end with this property.END:VCARD
FBURLGreen tickDefines a URL that shows when the person is "free" or "busy" on their calendar.FBURL:http://example.com/fb/jdoe
FNGreen tickblue tickblue tickThe formatted name string associated with the vCard object.FN:Dr. John Doe
GENDERGreen tickDefines the person's sex.GENDER:F
GEOGreen tickGreen tickGreen tickSpecifies a latitude and longitude.2.13.0GEO:39.95;-75.1667
4.0GEO:geo:39.95,-75.1667
IMPPlight green tick*Green tickDefines an instant messenger handle.

* This property was introduced in a separate RFC when the latest vCard version was 3.0. Therefore, 3.0 vCards may use this property, even though it's not part of the 3.0 specs.
IMPP:aim:johndoe@aol.com
KEYGreen tickGreen tickGreen tickThe public encryption key associated with the vCard object. It may point to an external URL, may be plain text, or may be embedded in the vCard as a Base64 encoded block of text.2.1KEY;PGP:http://example.com/key.pgp
2.1KEY;PGP;ENCODING=BASE64:[base64-data]
3.0KEY;TYPE=PGP:http://example.com/key.pgp
3.0KEY;TYPE=PGP;ENCODING=B:[base64-data]
4.0KEY;MEDIATYPE=application/pgp-keys:http://example.com/key.pgp
4.0KEY:data:application/pgp-keys;base64,[base64-data]
KINDGreen tickDefines the type of entity that this vCard represents, such as an individual or organization.KIND:individual
LABELGreen tickGreen ticklight green tick*Represents the actual text that should be put on the mailing label when delivering a physical package to the person/object associated with the vCard (related to the ADR property).

* Not supported in version 4.0. Instead, this information is stored in the LABEL parameter of the ADR property.
LABEL;TYPE=HOME:123 Main St.\nSpringfield, IL 12345\nUSA
LANGGreen tickDefines a language that the person speaks.LANG:fr-CA
LOGOGreen tickGreen tickGreen tickAn image or graphic of the logo of the organization that is associated with the individual to which the vCard belongs. It may point to an external URL or may be embedded in the vCard as aBase64 encoded block of text.2.1LOGO;PNG:http://example.com/logo.png
2.1LOGO;PNG;ENCODING=BASE64:[base64-data]
3.0LOGO;TYPE=PNG:http://example.com/logo.png
3.0PHOTO;TYPE=PNG;ENCODING=B:[base64-data]
4.0LOGO;MEDIATYPE=image/png:http://example.com/logo.png
4.0PHOTO:https://t1.daumcdn.net/cfile/tistory/2238F14156E779461A"border: 1px solid rgb(170, 170, 170); padding: 0.2em;">MAILER
Green tickGreen tickType of email program used.MAILER:Thunderbird
MEMBERGreen tickDefines a member that is part of the group that this vCard represents. Acceptable values include:
  • a "mailto:" URL containing an email address
  • a UID which references the member's own vCard
The KIND property must be set to "group" in order to use this property.
MEMBER:urn:uuid:03a0e51f-d1aa-4385-8a53-e29025acd8af
Nblue tickblue tickGreen tickA structured representation of the name of the person, place or thing associated with the vCard object.N:Doe;John;;Dr;
NAMEGreen tickProvides a textual representation of the SOURCE property.
NICKNAMEGreen tickGreen tickOne or more descriptive/familiar names for the object represented by this vCard.NICKNAME:Jon,Johnny
NOTEGreen tickGreen tickGreen tickSpecifies supplemental information or a comment that is associated with the vCard.NOTE:I am proficient in Tiger-Crane Style,\nand I am more than proficient in the exquisite art of the Samurai sword.
ORGGreen tickGreen tickGreen tickThe name and optionally the unit(s) of the organization associated with the vCard object. This property is based on the X.520 Organization Name attribute and the X.520 Organization Unit attribute.ORG:Google;GMail Team;Spam Detection Squad
PHOTOGreen tickGreen tickGreen tickAn image or photograph of the individual associated with the vCard. It may point to an external URL or may be embedded in the vCard as a Base64 encoded block of text.2.1PHOTO;JPEG:http://example.com/photo.jpg
2.1PHOTO;JPEG;ENCODING=BASE64:[base64-data]
3.0PHOTO;TYPE=JPEG:http://example.com/photo.jpg
3.0PHOTO;TYPE=JPEG;ENCODING=B:[base64-data]
4.0PHOTO;MEDIATYPE=image/jpeg:http://example.com/photo.jpg
4.0PHOTO:https://t1.daumcdn.net/cfile/tistory/215DFB3E56E7794627"border: 1px solid rgb(170, 170, 170); padding: 0.2em;">PRODID
Green tickGreen tickThe identifier for the product that created the vCard object.PRODID:-//ONLINE DIRECTORY//NONSGML Version 1//EN
PROFILEGreen tickGreen tickStates that the vCard is a vCard.PROFILE:VCARD
RELATEDGreen tickAnother entity that the person is related to. Acceptable values include:
  • a "mailto:" URL containing an email address
  • a UID which references the person's own vCard
RELATED;TYPE=friend:urn:uuid:03a0e51f-d1aa-4385-8a53-e29025acd8af
REVGreen tickGreen tickGreen tickA timestamp for the last time the vCard was updated.REV:20121201T134211Z
ROLEGreen tickGreen tickGreen tickThe role, occupation, or business category of the vCard object within an organization.ROLE:Executive
SORT-STRINGGreen tickGreen ticklight green tick*Defines a string that should be used when an application sorts this vCard in some way.

* Not supported in version 4.0. Instead, this information is stored in the SORT-AS parameter of the N and/or ORG properties.
SORT-STRING:Doe
SOUNDGreen tickGreen tickGreen tickBy default, if this property is not grouped with other properties it specifies the pronunciation of the FN property of the vCard object. It may point to an external URL or may be embedded in the vCard as a Base64 encoded block of text.2.1SOUND;OGG:http://example.com/sound.ogg
2.1SOUND;OGG;ENCODING=BASE64:[base64-data]
3.0SOUND;TYPE=OGG:http://example.com/sound.ogg
3.0SOUND;TYPE=OGG;ENCODING=B:[base64-data]
4.0SOUND;MEDIATYPE=audio/ogg:http://example.com/sound.ogg
4.0SOUND:data:audio/ogg;base64,[base64-data]
SOURCEGreen tickGreen tickGreen tickA URL that can be used to get the latest version of this vCard.SOURCE:http://johndoe.com/vcard.vcf
TELGreen tickGreen tickGreen tickThe canonical number string for a telephone number for telephony communication with the vCard object.TEL;TYPE=cell:(123) 555-5832
TITLEGreen tickGreen tickGreen tickSpecifies the job title, functional position or function of the individual associated with the vCard object within an organization.TITLE:V.P. Research and Development
TZGreen tickGreen tickGreen tickThe time zone of the vCard object.2.13.0TZ:-0500
4.0TZ:America/New_York
UIDGreen tickGreen tickGreen tickSpecifies a value that represents a persistent, globally unique identifier associated with the object.UID:urn:uuid:da418720-3754-4631-a169-db89a02b831b
URLGreen tickGreen tickGreen tickA URL pointing to a website that represents the person in some way.URL:http://www.johndoe.com
VERSIONblue tickblue tickblue tickThe version of the vCard specification. In versions 3.0 and 4.0, this must come right after theBEGIN property.VERSION:3.0
XMLGreen tickAny XML data that is attached to the vCard. This is used if the vCard was encoded in XML (xCard standard) and the XML document contained elements which are not part of the xCard standard.XML:<b>Not an xCard XML element</b>

A handful of separate specifications define additional vCard properties.

NameSpecificationDescriptionExample
BIRTHPLACERFC 6474The location of the individual's birth.BIRTHPLACE;VALUE=text:Maida Vale\, London\, England
DEATHDATERFC 6474The individual's time of death.DEATHDATE:19540607
DEATHPLACERFC 6474The location of the individual death.DEATHPLACE;VALUE=uri:geo:53.328,-2.229409
EXPERTISERFC 6715A professional subject area that the person has knowledge of.EXPERTISE;LEVEL=expert:Computer Science
HOBBYRFC 6715A recreational activity that the person actively engages in.HOBBY;LEVEL=high:knitting
IMPPRFC 4770Defines an instant messenger handle. This was added to the official vCard specification in version 4.0.IMPP:aim:johndoe@aol.com
INTERESTRFC 6715A recreational activity that the person is interested in, but does not necessarily take part in.INTEREST;LEVEL=high:baseball
ORG-DIRECTORYRFC 6715A URI representing the person's work place, which can be used to lookup information on the person's co-workers.ORG-DIRECTORY:http://www.company.com/employees

[edit]vCard extensions

vCard supports private extensions, with an "X-" prefix, a number of which are in common usage[citation needed].

Some of these include:

ExtensionUsed AsDataSemantic
Extensions supported by several different programs.
X-ABUIDpropertystringApple Address Book UUID for that entry
X-ANNIVERSARYpropertyYYYY-MM-DDarbitrary anniversary (in addition to BDAY, birthday)
X-ASSISTANTpropertystringassistant name (instead of AGENT)
X-MANAGERpropertystringmanager name
X-SPOUSEpropertystringspouse name
X-GENDERpropertystringvalue Male or Female
X-AIMpropertystringInstant Messaging (IM) contact information; TYPE parameter as for TEL
X-ICQpropertystring
X-GOOGLE-TALKpropertystring
X-JABBERpropertystring
X-MSNpropertystring
X-YAHOOpropertystring
X-TWITTERpropertystring
X-SKYPEX-SKYPE-USERNAMEpropertystring
X-GADUGADUpropertystring
X-GROUPWISEpropertystring
X-MS-IMADDRESSpropertystring" (IM address in VCF attachment from Outlook (right click Contact, Send Full Contact, Internet Format.)
X-MS-CARDPICTUREpropertystringWorks as PHOTO or LOGO. Contains an image of the Card in Outlook.
X-PHONETIC-FIRST-NAMEX-PHONETIC-LAST-NAMEpropertystringalternative spelling of name, used for Japanese names
Introduced and used by Mozilla; used by Evolution (software)
X-MOZILLA-HTMLpropertyTRUE/FALSEmail recipient prefers HTML-formatted email
X-MOZILLA-PROPERTYpropertystringThunderbird specific settings
Introduced and used by Evolution (software)
X-EVOLUTION-ANNIVERSARYpropertyYYYY-MM-DDarbitrary anniversary (in addition to BDAY, birthday)
X-EVOLUTION-ASSISTANTpropertystringassistant name (instead of Agent<.code>)
X-EVOLUTION-BLOG-URLpropertystring/URLblog URL
X-EVOLUTION-FILE-ASpropertystringfile under different name (in addition to N, name components; and FN, full name)
X-EVOLUTION-MANAGERpropertystringmanager name
X-EVOLUTION-SPOUSEpropertystringspouse name
X-EVOLUTION-VIDEO-URLpropertystring/URLvideo chat address
X-EVOLUTION-CALLBACKTEL TYPEparameter value-callback phone number
X-EVOLUTION-RADIOTEL TYPEparameter value-radio contact information
X-EVOLUTION-TELEXTEL TYPEparameter value-Telex contact information
X-EVOLUTION-TTYTDDTEL TYPEparameter value-TTY TDD contact information
Introduced and used by Kontact and KAddressBook
X-KADDRESSBOOK-BlogFeedpropertystring/URLblog URL
X-KADDRESSBOOK-X-AnniversarypropertyISO datearbitrary anniversary, in addition to BDAY = birthday
X-KADDRESSBOOK-X-AssistantsNamepropertystringassistant name (instead of Agent)
X-KADDRESSBOOK-X-IMAddresspropertystringim address
X-KADDRESSBOOK-X-ManagersNamepropertystringmanager name
X-KADDRESSBOOK-X-Officepropertystringoffice description
X-KADDRESSBOOK-X-Professionpropertystringprofession
X-KADDRESSBOOK-X-SpouseNamepropertystringspouse name

Note: The Internet media type text/vcard was used (incorrectly) in some SyncML Documentation to refer to vCard 3.0, and the example was followed in various implementations.

[edit]See also

[edit]References

  1. a b RFC 6350, section 10.1 "Media Type Registration"

[edit]External links


출처 - http://en.wikipedia.org/wiki/VCard



'OpenSource > Collaboration Software' 카테고리의 다른 글

hCalendar  (0) 2013.03.25
iCalendar  (0) 2013.03.25
GroupDAV  (0) 2013.03.25
CardDAV  (0) 2013.03.25
SOGo (formerly named Scalable OpenGroupware.org)  (0) 2013.03.25
Posted by linuxism
,