VCard and ICal support

From Open-Xchange
Revision as of 10:04, 30 April 2013 by Tierlieb (talk | contribs) (→‎TEL)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

VCard and ICal are definitions of text-based PIM information in files. In OX terms, VCard defines contact data, while ICal defines both Tasks and Appointments. ICal internally identifies itself as VCalendar 2.0, which illustrates who closely related both protocols are. That is why questions on both formats are answered in one article.

This article deals with features that are in VCard and ICal but are problematic within the OX.

RRULE: "The second last sunday in a month"

ICal allows you to define an appointment which occurs "the second last sunday every month". OX simply does not. We only support counting from the beginning of a month, but not from the end. Since a month might have either four or five occurrences of a certain day, it is not possible for us to simply convert this.

Behavior: An ICal appointment containing this property is not imported.

See RFC 2445, 4.8.5.4 Recurrence Rule

ALARM: "Remind me four times"

ICal allows you to set an alarm which should be repeated four times before ending. This might be interesting for an alarm clock, but for a web-based tool with will be used asynchronous in most cases, we handle this differently. Therefore, OX does not support an ALARM with a REPEAT property.

Behavior: This property is ignored.

Reference: RFC 2445, 4.8.6.2 Repeat count

TEL

The basic problem: Open-Xchange only supports a fixed set of phone number fields, all of which have a semantic meaning (so they are not used to store other phone numbers even if space is needed). VCards, on the other hand, allow for a theoretically unlimited amount of phone numbers via different type combinations (and repeating the same one, too).

In practice this is usually not much of a problem, for people do not have that many, but for all who are interested in the details:

  • The basic idea is that the first candidate for a field is stored there, the second one is
    • either moved into the available fallback field
    • or dropped in case the is no fallback field
  • The marker "pref" in VCards, denoting a preferred number, is ignored
  • If no type is given, the number is stored as 542, work1
  • If type is voice and fax (confusing), we consider it voice


For all other cases

VCard type OX column number OX field name Fallback OX field Fallback OX field name
work 542 telephone_business1 543 telephone_business2
work;fax 544 fax_business
home 548 telephone_home1 589 telephone_home2
home;fax 550 fax_home
dom 553 telephone_other
dom;fax 554 fax_other
car 546 telephone_car
isdn 559 telephone_isdn
pager 560 telephone_pager
cell 551 cellular_telephone1 552 cellular_telephone2

Other fields not supported

Appointments

ATTACH, COMMENT, CONTACT, CREATED, DTSTAMP, EXRULE, GEO, ORGANIZER, PRIORITY, RDATE, REQUEST-STATUS, STATUS

Contacts

GEO, KEY, LABEL, LOGO, MAILER, NAME, PRODID, PROFILE, REV, SORT-STRING, SOUND, SOURCE, TZ

Tasks

ATTACH, COMMENT, CONTACT, EXDATE, EXRULE, GEO, LOCATION, ORGANIZER, REQUEST-STATUS, RESOURCES, RDATE, URL