Subject: GET-CAPABILITY - reply

From: Doug Royer <[email-masked]>
Date: Tue, 22 Oct 2002 14:03:05 -0600

I updated the text in the GET-CAPABILITY reply:

	Removed the 'CS'  only wording - when it could also be CUA.

	To support the CUA MAY send not-implemented idea

PLEASE CHECK THE DEFAULT VALUES!

TO BE:
   ---------------------------------------------------------------------------

     When sending a reply to a "GET-CAPABILITY" command, all
     of these MUST BE supplied. If the CUA does not support
     sending a full reply and sends not-implemented error, then
     the CS MUST assume the CUA supports the default values as
     defined below. A CS MUST always send the full reply when
     queried.

     The default values apply only to a CUA when it does not support
     sending a "GET-CAPABILITY" command reply. The following CS
     properties are returned in response to a "GET-CAPABILITY" command:

    Name            Occurs  Description

    ------------------------------------------------------------------
    CAP-VERSION       1     Version of CAP. MUST include at least "1.0" for
                            this version of CAP. Like the "VERSION" property,
                            it may have a range. Uses the exact same
                            syntax as the "VERSION" property value. The
                            default is "1.0".

    CAR-LEVEL         1     Indicates level of CAR support. CAR-NONE,
                            CAR-MIN or CAR-FULL-1. If CAR-FULL-1 is
                            supplied then CAR-MIN MUST BE assumed.
                            CAR = NONE MUST BE used when query-level
                            of NONE is supplied. A CAR-MIN implementation
                            only supports the DEFAULT-VCARS listed in
                            the VCALSTORE and does not support the
                            creation or modification of VCARS. The
                            default is CAR-NONE.

    COMPONENTS       1      A comma separated list of the names of
                            components that are supported. This
                            includes any components inside of
                            other components (VALARM for example).
                            MUST include at least VCALSTORE, VCALENDAR,
                            VREPLY, and VAGENDA and at least one of VEVENT,
                            VTODO, VTIMEZONE, or VJOURNAL. The defalt
                            is "VCALSTORE,VCALENDAR,VREPLY,VAGENDA,
                            VEVENT,VALARM,VTIMEZONE"

    STORES-EXPANDED
                     1      If TRUE then it expands and stores
                            multiple instances separately when they are
                            booked. If FALSE then it expands
                            instances dynamically during query.
                            Default is FALSE.

    DATE-MAX          1     The datetime value in UTC beyond which the
                            server cannot accept. The default and
                            maximum value allowed is 99991231T235959Z.

    DATE-MIN          1     The datetime value in UTC prior to which
                            the server cannot accept. The default and
                            minimum value allowed is 00000101T000000Z.

    ITIP-VERSION     1      Version(s) of ITIP, MUST include at least
                            the default value of "2446" to specify
                            RFC-2446 support. Comma separated list.

    MAX-COMPONENT-SIZE
                      1     A positive integer value that specifies
                            the size of the largest iCalendar object
                            that can be accepted in octets.  Objects
                            larger than this will be rejected. A
                            default value of zero (0) means no limit.
                            This is also the maximum value of any BEEP
                            payload that will be accepted or sent.

    MULTILART         1     A comma separated list of MIME multipart
                            the sender supports in lower case. The
                            default is no multipart support (empty
                            list). Example: MULTIPART:related,alternate

    PRODID            1     The product id. If supplied in the "VCALENDAR"
                            components, the values MUST BE identical to
                            what is sent in the "GET-CAPABILITY" reply
                            from the CUA or CS. The CUA and CS PRODID
                            values may differ from each other.

    QUERY-LEVEL       1     Indicates level of SQL support. The default
                            is CAL-QL-1 and NONE can be supplied. (NONE
                            is for CS's that allow ITIP methods only to
                            be deposited and nothing else). If set to NONE,
                            then the 'car' capability MUST BE set to NONE.
                            The default value

    RECUR-ACCEPTED   1      Whether recurrence rules are acceptable.
                            TRUE (default) or FALSE.

    RECUR-EXPAND     1      Whether or not it supports the expansion
                            of recurrence rules. TRUE (default) or FALSE.

    RECUR-LIMIT      1     The maximum number of occurrences of a
                           recurrence rule that are expanded.
                           The default of Zero (0) means unlimited.

    VERSION          1     Versions of iCalendar support. MUST BE at
                           least "2.0" (the default). This is the same
                           property as defined in [iCAL].

    RECUR-ACCEPTED   1     Whether recurrence rules are acceptable.
                           The default is TRUE.

    X-...            0+    May include zero or more experimental
                           properties. These have no default and
                           if need to be sent by an implementation,
                           then all of the above MUST BE sent.

    -------------------------------------------------------

-- 
-
Doug Royer                       Work: (208)612-INET
[email-masked]                   Fax:  (866)594-8574
http://INET-Consulting.com       Cell: (208)520-4044
http://Royer.com/People/Doug

---

From: Andrea Campi <[email-masked]>
Date: Tue, 22 Oct 2002 23:11:15 +0200

> . A CS MUST always send the full reply when
>     queried.
[...]
>     properties are returned in response to a "GET-CAPABILITY" command:

Just to double check I got this right (I have no preference either 
way): this is a change in that with the previous wording, a CS could 
leave out one or more property, and that property would then take the 
default value. With the new wording, the CS MUST send a complete reply 
which MUST include all defined properties.

Is that ok for everybody?

>                            instances dynamically during query.

I'm not sure how this applies to the CUA...

>    MULTILART         1     A comma separated list of MIME multipart

Typo.

>                            then the 'car' capability MUST BE set to 

The default value is missing ;-)

Otherwise, everything is ok with me?

Bye,
	Andrea

---

From: Doug Royer <[email-masked]>
Date: Tue, 22 Oct 2002 15:21:23 -0600

Andrea Campi wrote:
> Just to double check I got this right (I have no preference either way): 
> this is a change in that with the previous wording, a CS could leave out 
> one or more property, and that property would then take the default 
> value. With the new wording, the CS MUST send a complete reply which 
> MUST include all defined properties.

No change from the previous draft, the chart clearly shows and
showed that they must be supplied (1). The only optional
ones (0+) are the X- experimental ones.

> I'm not sure how this applies to the CUA...

A CUA from a large vendor stores each instance separately then
when it sends them back out they are a series of RDATE's and
no longer an RRULE. If the CS does not care - then no big
deal.

>>    MULTILART         1     A comma separated list of MIME multipart

Fixed - thanks.

>>                            ...

> The default value is missing ;-)

Fixed - The default is 'CAL-QL-1'

---

From: Andrea Campi <[email-masked]>
Date: Wed, 23 Oct 2002 08:56:25 +0200

> ones (0+) are the X- experimental ones.

I see, sorry for my bad memory (and not actually checking facts).

> no longer an RRULE. If the CS does not care - then no big

OK, it's just that it sounds a little bit strange to me, exp the part 
"If FALSE then it expands ...  during query". Maybe changing it to 
something like "If FALSE then it expands... when sending out" would be 
more generic.
Anyway, no big deal.

Bye,
	Andrea

---

From: Doug Royer <[email-masked]>
Date: Wed, 23 Oct 2002 11:39:38 -0600

> something like "If FALSE then it expands... when sending out" would be 

Yes - now I see your point, how about:

       If TRUE then it expands multiple instances separately when they are
       stored (RRULEs converted to RDATEs) and when sent. If FALSE then it
       expands instances dynamically during sending. Default is FALSE.

---

From: Andrea Campi <[email-masked]>
Date: Wed, 23 Oct 2002 20:00:46 +0200

>       expands instances dynamically during sending. Default is FALSE.

That's fine with me.

Bye,
	Andrea