Summary | vCard Parsing Errors with Property Groups |
Queue | Horde Framework Packages |
Queue Version | Git master |
Type | Bug |
State | Duplicate |
Priority | 2. Medium |
Owners | Horde Developers (at) |
Requester | bklang (at) horde (dot) org |
Created | 06/22/2009 (5870 days ago) |
Due | |
Updated | 01/27/2014 (4190 days ago) |
Assigned | 07/10/2009 (5852 days ago) |
Resolved | 01/27/2014 (4190 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
State ⇒ Duplicate
Bug: 12329Version ⇒ HEAD
State ⇒ Assigned
Assigned to
New Attachment: SFMA.vcf
I'm now attaching the entire vCard to provide for a test case.
State ⇒ Unconfirmed
(stripping off property group names) but that is hardly an acceptable
solution. Unfortunately I'm not familiar enough with the vCard code
to be able to construct a good solution.
State ⇒ Feedback
Priority ⇒ 2. Medium
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Queue ⇒ Horde Framework Packages
Summary ⇒ vCard Parsing Errors with Property Groups
Type ⇒ Bug
I found a limitation of the vCard processing code. vCard allows for
single attributes to have multiple values: for example several email
addresses or multiple street addresses. This mechanism may be
accomplished using vCard Property Groups. The way to signify this is
to use a prefix on the field name such as "item1.", followed by
"item2.", etc. Horde Framework and Turba both expect all fields to be
only named for their field (such as "ADR" for address) and so miss
these fields with a prefix. The symptom is that fields with a prefix
get ignored.
Here is an example vCard snippet:
item1.ADR;type=HOME;type=pref:;;Attn\: Sharon Braunstein\nP.O. Box
5396;Atlanta;GA;31107;
I found at least two places where this needs to be modified:
framework/iCalendar/iCalendar.php
turba/lib/Driver.php
From what I can tell Turba will not be able to store multiple
attribute values, but we should be able to at least parse one of them
to store. In this case the item1 address had a type of "HOME" and the
item2 had a type of "WORK" which can map safely into Turba.