Subject: Re: [VCARDDAV] a possible customer for the JSON encoding

From: Cyrus Daboo <[email-masked]>
Date: Tue, 04 Sep 2012 14:27:29 -0400

Hi Peter,

--On August 29, 2012 10:17:20 AM -0600 Peter Saint-Andre 
<[email-masked]> wrote:

> Folks, there's been some discussion in the SCIM WG recently about data
> models and representation formats for information about users (SCIM is
> a technology for exchanging such information for provisioning purposes
> and the like). It seems possible that the SCIM WG might seriously
> consider vCard4, but they appear to have a strong preference for a
> JSON representation. If they do, the work on draft-bhat-vcarddav-json
> might gain new urgency. In any case, this is just a heads-up for
> people here in case you'd like to engage in the discussion in the SCIM WG:
>
> http://tools.ietf.org/wg/scim/
>
> I'll report further on this list if additional developments of
> interest emerge. :-)

The CalConnect folks have been continuing to discuss iCalendar in JSON. We 
have modified our original approach to end up with a more compact 
representation, that meets our needs for streaming etc. It uses arrays 
rather than objects for the various Component/Property/Value "objects" from 
the underlying iCalendar syntax - i.e., positional parsing of items. Here 
is as example:

["vcalendar",
    [
      ["version", {}, ["text", "2.0"]],
      ["calscale", {}, ["text", "gregorian"]],
      ["prodid", {}, ["text", "-//Example Inc.//Example Calendar//EN"]],
    ],
    [
        ["vevent", [
            ["uid", {}, ["text", "4088E990AD89CB3DBB484909"]],
            ["dtstart", {"tzid":"America/New_York"}, ["date", 
"2008-10-06"]],
            ["dtstamp", {}, ["date-time", "2008-02-05T19:12:24Z"]],
            ["summary", {}, ["text", "Planning meeting"]]
          ],
          [],
       ]
    ]
]

The "object" model is:

Component = array(name, array(Property), array(Component))
Property  = array(name, Parameter, Value)
Parameter = object(name:value, name:value, ...)
Value     = array(type, value1, value2, ....)

-- 
Cyrus Daboo