Arnaud Quillaud | 17 Sep 2008 13:54
Picon

calendar-inbox and calendar-access support.

Hello,

The calendar scheduling draft at 
http://tools.ietf.org/html/draft-desruisseaux-caldav-sched-04 mentions that:

<<

   A CalDAV scheduling server MAY also support the CalDAV calendar-
   access feature [RFC4791 <http://tools.ietf.org/html/rfc4791>], and that adds the following requirements:

      MUST support the CALDAV:calendar-query and CALDAV:multiget REPORTs
      on CALDAV:schedule-inbox and CALDAV:schedule-outbox collection
      resource types.

 >>

While this seems relatively straightforward for the multiget report, 
timerange based filtering brings up a few questions:
1) Some itip objects may not contain any time related property (e.g. 
VEVENT REPLY 
http://tools.ietf.org/html/draft-ietf-calsify-2446bis-07#section-3.2.3). 
Should those be considered as always matching, never matching,... ?
2) May a calendar inbox/outbox be associated with a particular timezone, 
just like a regular calendar collection ?

Extending question 2),  can a client expect a calendar-access enabled 
inbox/outbox to expose the properties listed at 
http://tools.ietf.org/html/rfc4791#section-5.2 ? It seems like it is the 
case (e.g. CALDAV:max-resource-size is mentioned) but this is not 
totally clear (e.g. CALDAV:supported-calendar-component-set is still 
(Continue reading)

Bernard Desruisseaux | 18 Sep 2008 22:14
Picon
Favicon

Re: calendar-inbox and calendar-access support.

Arnaud Quillaud wrote:
> Hello,
>
> The calendar scheduling draft at 
> http://tools.ietf.org/html/draft-desruisseaux-caldav-sched-04 mentions 
> that:
>
> <<
>
>   A CalDAV scheduling server MAY also support the CalDAV calendar-
>   access feature [RFC4791 <http://tools.ietf.org/html/rfc4791>], and 
> that adds the following requirements:
>
>      MUST support the CALDAV:calendar-query and CALDAV:multiget REPORTs
>      on CALDAV:schedule-inbox and CALDAV:schedule-outbox collection
>      resource types.
>
>
> >>
>
> While this seems relatively straightforward for the multiget report, 
> timerange based filtering brings up a few questions:
> 1) Some itip objects may not contain any time related property (e.g. 
> VEVENT REPLY 
> http://tools.ietf.org/html/draft-ietf-calsify-2446bis-07#section-3.2.3). 
> Should those be considered as always matching, never matching,... ?

Always matching.  That's the approach we've used for VTODO in RFC4791.

> 2) May a calendar inbox/outbox be associated with a particular 
(Continue reading)

Arnaud Quillaud | 19 Sep 2008 16:49
Picon

iTIP codes for CalDAV Schedule

Hello,

When using CalDAV Schedule or iSchedule, for each recipient an iTIP 
status is returned in the response.

Which iTIP status to use is not totally obvious from just reading the 
table at 
http://tools.ietf.org/html/draft-ietf-calsify-2446bis-07#section-3.6

For example, what would be the code for:
* a recipient in a domain not handled by this server ? 3.8 no authority ?
* a recipient in a domain handled by this server but the recipient is 
unknown ? 3.7 invalid calendar user, 3.8 no authority ?....
* a recipient in a domain handled by this server but the originator 
lacks privileges to send iTIP messages to this recipient ?
* a recipient in a domain handled by this server but the recipient has 
reached his quota ?

Then, assuming that the CalDAV Server is iSchedule enabled what would be 
the code for a recipient in a remote iSchedule domain but the remote 
iSchedule server is currently (temporarily) down ( CalDAV client ----> 
CalDAV Server --x--> remote iSchedule Server ) ?

About that last case, and assuming a scheduling REQUEST, the CalDAV 
Server may elect to return SUCCESS to the client even if the remote 
server is down and try to redeliver asynchronously.
Now how does the server notify the client that it eventually gave up 
trying ? iTIP seems to sugest that it should put a REPLY in the 
originator's inbox with a REQUEST-STATUS property set to 5.1 service 
unavailable. Should this type of behavior be mentioned in the spec ?
(Continue reading)

Cyrus Daboo | 19 Sep 2008 18:32
Favicon

Re: iTIP codes for CalDAV Schedule

Hi Arnaud,

--On September 19, 2008 4:49:43 PM +0200 Arnaud Quillaud 
<Arnaud.Quillaud <at> Sun.COM> wrote:

> When using CalDAV Schedule or iSchedule, for each recipient an iTIP
> status is returned in the response.
>
> Which iTIP status to use is not totally obvious from just reading the
> table at
> http://tools.ietf.org/html/draft-ietf-calsify-2446bis-07#section-3.6
>
> For example, what would be the code for:
> * a recipient in a domain not handled by this server ? 3.8 no authority ?
> * a recipient in a domain handled by this server but the recipient is
> unknown ? 3.7 invalid calendar user, 3.8 no authority ?....
> * a recipient in a domain handled by this server but the originator lacks
> privileges to send iTIP messages to this recipient ?
> * a recipient in a domain handled by this server but the recipient has
> reached his quota ?
>
> Then, assuming that the CalDAV Server is iSchedule enabled what would be
> the code for a recipient in a remote iSchedule domain but the remote
> iSchedule server is currently (temporarily) down ( CalDAV client ---->
> CalDAV Server --x--> remote iSchedule Server ) ?
>
> About that last case, and assuming a scheduling REQUEST, the CalDAV
> Server may elect to return SUCCESS to the client even if the remote
> server is down and try to redeliver asynchronously.
> Now how does the server notify the client that it eventually gave up
(Continue reading)

Bernard Desruisseaux | 20 Sep 2008 02:00
Picon
Favicon

[Fwd: I-D Action:draft-desruisseaux-caldav-sched-05.txt]

FYI

-------- Original Message -------- Subject: Date: From: Reply-To: To:
I-D Action:draft-desruisseaux-caldav-sched-05.txt
Fri, 19 Sep 2008 15:15:01 -0700 (PDT)
Internet-Drafts <at> ietf.org
internet-drafts <at> ietf.org
i-d-announce <at> ietf.org


A New Internet-Draft is available from the on-line Internet-Drafts directories. Title : CalDAV Scheduling Extensions to WebDAV Author(s) : C. Daboo, B. Desruisseaux Filename : draft-desruisseaux-caldav-sched-05.txt Pages : 55 Date : 2008-09-19 This document defines extensions to the CalDAV "calendar-access" feature to specify a standard way of performing scheduling transactions with iCalendar-based calendar components. This document defines the "calendar-auto-schedule" feature of CalDAV. A URL for this Internet-Draft is: http://www.ietf.org/internet-drafts/draft-desruisseaux-caldav-sched-05.txt Internet-Drafts are also available by anonymous FTP at: ftp://ftp.ietf.org/internet-drafts/ Below is the data which will enable a MIME compliant mail reader implementation to automatically retrieve the ASCII version of the Internet-Draft.
_______________________________________________
I-D-Announce mailing list
I-D-Announce <at> ietf.org
https://www.ietf.org/mailman/listinfo/i-d-announce
Internet-Draft directories: http://www.ietf.org/shadow.html
or ftp://ftp.ietf.org/ietf/1shadow-sites.txt

_______________________________________________
Ietf-caldav mailing list -- Ietf-caldav <at> osafoundation.org
See http://ietf.webdav.org/caldav/ for more CalDAV resources
http://lists.osafoundation.org/mailman/listinfo/ietf-caldav
Cyrus Daboo | 20 Sep 2008 02:25
Favicon

Re: [Fwd: I-D Action:draft-desruisseaux-caldav-sched-05.txt]

Hi folks,

> -------- Original Message --------
> Subject: I-D Action:draft-desruisseaux-caldav-sched-05.txt
> Date: Fri, 19 Sep 2008 15:15:01 -0700 (PDT)
> From: Internet-Drafts <at> ietf.org
> Reply-To: internet-drafts <at> ietf.org
> To: i-d-announce <at> ietf.org
>
>
>
> A New Internet-Draft is available from the on-line Internet-Drafts
> directories.
>
> 	Title           : CalDAV Scheduling Extensions to WebDAV
> 	Author(s)       : C. Daboo, B. Desruisseaux
> 	Filename        : draft-desruisseaux-caldav-sched-05.txt
> 	Pages           : 55
> 	Date            : 2008-09-19

This new draft represents a major change to the caldav scheduling spec. The 
new protocol puts much more emphasis on the server to do all the work of 
scheduling rather than the client - so the server takes care of spotting 
changes to events that require scheduling messages to be sent and it does 
that. It also processes incoming scheduling messages automatically updating 
existing copies of the event to the new state.

These changes were prompted by implementation experience of the old drafts 
by several vendors of clients and servers. It was clear from these 
experiences that leaving too much up to the client was asking for trouble. 
Also, relying on the client to do a lot of the work introduces latencies 
into the update process that often prove unacceptable to users.

So here is the new spec. Please review and send comments. There are still a 
few areas that need a more work, but for the most part it should be 
complete, barring any oversights on the authors' part.

--

-- 
Cyrus Daboo

_______________________________________________
Ietf-caldav mailing list -- Ietf-caldav <at> osafoundation.org
See http://ietf.webdav.org/caldav/ for more CalDAV resources
http://lists.osafoundation.org/mailman/listinfo/ietf-caldav

Shug Boabby | 24 Sep 2008 15:00
Picon

CalDAV comments, a bit too late...

Dear all,

I realise that CalDAV is now supported by many big vendors, including
Google and Apple, so I doubt that the protocol could be changed in any
way. Nonetheless, being called RFC-4791 implies that comments are
still welcome (and I have some steam to let off after using this
ghastly protocol which it seems we are all stuck with!)

I recently embarked on creating a J2ME application which would use a
CalDAV server to store everything. The reason is obvious, as it means
that resources are easily synchronised with all good desktop calendar
applications.

However, the first task was to learn how to make simple calls using
CalDAV and I have been astonished at how difficult and inefficient
this protocol is. It makes me wonder if any use cases were considered
during its design, and if mock scenarios were even considered. My
primary complaints are listed here, with more detail below:-

- basing it on WebDAV instead of HTTP means that most standard
libraries may not be used
- not enough can be achieved with a single query, increasing latency
for mobile devices
- using an XML query/response format is serious overkill for many use cases
- many queries and actions are too burdensome to the client, e.g.
creating new resources, timezone handling
- sharing resources with other users (even other users on the same
server) is not even considered

But in short, why is this not a simple protocol? One of the most
beautiful web APIs I have ever used is the one provided by
Freebase.com, which is trying to accomplish something infinitely more
powerful than CalDAV but does it in a protocol that is easy to
understand. It is based on MQL, but it could have easily have been
XML. Even the rich media API is incredibly simple and powerful. CalDAV
is, at the end of the day, just an online store for files that hold
all the real info, with some filters to reduce bandwidth usage and
mechanisms to allow caching... why on Earth is it so bloody verbose
and complicated!?

# WebDAV

CalDAV is based on WebDAV, which is covered with HTTP compatibility
problems. For example, all flavours of Java exclude WebDAV support in
their standard network library and use of methods such as REPORT and
PROPFIND are forbidden. Other languages face similar troubles. Support
is available from third parties on J2SE and J2EE (but no
maintenance!). No support is available for J2ME and raw socket access
is required, which is not even guaranteed on all devices, due to the
security manager.

This strikes a serious blow to mobile development, which is quite
considerable given the nature of the service that is being provided by
CalDAV! Mobile (especially J2ME) access, should have been a primary
consideration when choosing the base transport of the protocol! It
should also be noted that the current protocol excludes AJAX access to
data via the usual JSON cross-server route.

My preferred solution would have been to stick with plain old HTTP!
There is nothing in this protocol that could not have been achieved
with simple GET, POST and (optionally) PUT. I wouldn't even have
considered HTTP headers to contain anything special... something
CalDAV relies on heavily (e.g. Depth and If-None-Match).

# Too much reliance on multiple queries

It is not possible to do any of the following actions in a single
query, even if you know a user's principal URL:-

- obtain the list of all their calendars
- obtain all TODO items that have been modified since a given
timestamp or ETag was created
- create a new resource (this can be attempted in a single query if
the calendar URL is known, but it is not guaranteed to succeed)

These are all very common queries and actions. It is therefore
critical that both bandwidth and number of queries be optimised, with
preference on minimising the number of queries. On a mobile device
with a strong connection, the latency per query can be as much as 5
seconds. Without making several assumptions on the client side (e.g.
collection-home doesn't move, collections don't move), the end user
will be left waiting for 30 seconds every time they want to list their
TODO items! For example, when given a user's principal, the following
must be done in order to obtain their TODO items:-

- obtain the location of collection-home
- obtain the list of calendars
- obtain all the VTODO items, one query per calendar

which is 4 queries for the typical person with a "home" and "work"
calendar, neglecting to check for all the various methods and resource
types which are seemingly optional.

My preferred solution would have been to impose standardised URL
resource locations at the base of a server and require that all
methods and resource types are supported. For example, a user's
principal would always be at `/user/username`, with collections
`/collection/username` and possibly even some common shortcuts such as
`/todo/username`, `/event/username` which would imply that all queries
on collections should be restricted to VTODO/VEVENT items
respectively. I would also assume that queries on the collection-home
be applied to all collections/calendars! This is not the case, and
there does not appear to be a way to do it.

# XML overkill

One of the things I really like about the Freebase API is the fact
that non-standard queries can be formulated in fairly simple JSON
format (but could easily have been XML), but that for most things a
simple GET-based query will also work. It would have been highly
desirable if the most common CalDAV queries could have been achieved
as simply as sending a GET query to
server.com/caldav/todo/username/calendar?state=incomplete&from=20060712T182145Z

It might sound like this is purely aesthetic, but it is not. It takes
a lot of code to be capable of handling and creating the XML queries
that CalDAV requires, leading to the exclusion of some mobile devices.
Obviously this is just a pain to the desktop developer, but it is much
more serious in mobile development.

Also, where is the definition of the "urn:ietf:params:xml:ns:caldav"
and "DAV" namespaces? A schema is needed if correct XML is to be
expected!

My preferred solution would have been to provide some simple GET
access for the most obvious use cases, e.g. obtaining all events or
todo items, with the most common filters. To be honest, I struggle to
think of a case where a complex XML query would be required over
simple access! The XML query language is highly over-engineered as far
as I am concerned. I don't even believe an XML query language is
needed for CalDAV... it would have been enough to define an XML
response format.

# Burdensome queries and actions

I've already hinted that creating XML is often burdensome on mobile
devices, and also that creating new resources is not guaranteed to
succeed. As an example, consider creating a new VTODO item, given that
we know the collection URL. A PUT request is made to a URL that we
must create ourselves, and we must add the HTTP header "If-None-Match:
*". It is then non-obvious how one is expected to check the reason for
failure! Currently I am scanning the text of the Cosmo response for a
non-201 response and the String "If-None-Match disallows conditional
request", but this is clearly implementation specific. Creating new
resources could not have been designed to be more difficult.

Another classic example is timezone support. Prior to using CalDAV, I
had expected it to do all the grunt work of timezones... such that I
could make all my queries in GMT and never be confused. However, it
seems that CalDAV is expecting all clients (even mobile clients) to
have rich timezone support and to therefore have full international
iCal support.

My preferred solution would be to never expect clients to generate
unique URLs! Sending a POST to the base of the collections could add
the resource, and a response could indicate the server-assigned URL
and ETag, possibly even mirroring back the resource so that
server-added attributes would be known (e.g. the UID for VTODOs). I'd
also consider adding a mechanism whereby all resources are treated in
GMT and that the server does the conversions where necessary.

# No support for sharing

I am absolutely shocked at the lack of support for sharing or
delegating resources between users on a server. I can imagine that it
would be a difficult thing to do, but it would be of immense benefit
and increase the value of the CalDAV protocol by orders of magnitude.
It appears that even security issues have been considered
implementation details. Without having thought of this, I wonder why
CalDAV is so laborious. Without support for contacts, sharing and
delegation... I'm sorry to say, but I think CalDAV should really have
been quite a trivial API to design.

I've had a look at GroupDAV and I am not impressed with that effort.
Their reliance on WebDAV is again going to cause them problems, and it
has not received any traction, where CalDAV has... mostly because it
was the only protocol out there.

--

-- 
Shug
_______________________________________________
Ietf-caldav mailing list -- Ietf-caldav <at> osafoundation.org
See http://ietf.webdav.org/caldav/ for more CalDAV resources
http://lists.osafoundation.org/mailman/listinfo/ietf-caldav

Filip Navara | 24 Sep 2008 15:37
Favicon

Re: CalDAV comments, a bit too late...

Hi!

> -----Original Message-----
> From: "Shug Boabby" <shug.boabby <at> gmail.com>
> To: ietf-caldav <at> osafoundation.org
> Date: 09/24/08 15:01
> Subject: [Ietf-caldav] CalDAV comments, a bit too late...
--snip--
> - basing it on WebDAV instead of HTTP means that most standard
> libraries may not be used

Probably the only case of standard libraries not working with WebDAV
is the one of Java that you mentioned. All the other frameworks that
I worked with supported it without a glitch.

--snip--
> It should also be noted that the current protocol excludes AJAX access to
> data via the usual JSON cross-server route.

Do you realize that the X in AJAX stands for XML? In fact AJAX was used
for the very first time in Outlook Web Access to access WebDAV on the
Exchange server.

--snip--
> My preferred solution would have been to stick with plain old HTTP!
> There is nothing in this protocol that could not have been achieved
> with simple GET, POST and (optionally) PUT. I wouldn't even have
> considered HTTP headers to contain anything special... something
> CalDAV relies on heavily (e.g. Depth and If-None-Match).

This has been tried and done - see WCAP and Google Data protocols.

--snip--
> - obtain all TODO items that have been modified since a given
> timestamp or ETag was created

At first, this could be done with a single query, but there are experimental
drafts to address this on WebDAV level (http://tools.ietf.org/id/draft-daboo-webdav-sync-00.txt).

--snip--
> I would also assume that queries on the collection-home
> be applied to all collections/calendars! This is not the case, and
> there does not appear to be a way to do it.

There is a way to do it, use the Depth: infinity header. It may not be
supported on the server due to excessive workload, but quite a few
existing servers support it.

--snip--
> It would have been highly
> desirable if the most common CalDAV queries could have been achieved
> as simply as sending a GET query to
> server.com/caldav/todo/username/calendar?state=incomplete&from=20060712T182145Z

This is what WCAP does, but it's not easily extensible, while XML w/ namespaces is.

--snip--
> It might sound like this is purely aesthetic, but it is not. It takes
> a lot of code to be capable of handling and creating the XML queries
> that CalDAV requires, leading to the exclusion of some mobile devices.

What the heck? You can hard code the XML for your common queries as standard text string. Not any harder than
passing the parameters in URL.

--snip--
> Also, where is the definition of the "urn:ietf:params:xml:ns:caldav"
> and "DAV" namespaces? A schema is needed if correct XML is to be
> expected!

The "DAV:" namespace is covered in RFC 4918 (and RFC 3744 and others).
"urn:ietf:params:xml:ns:caldav" is covered in RFC 4791. As far as I know
there are no authoritative complete schemas, but indiviual DTD definitions
of elements are present in the RFCs.

--snip--
> A PUT request is made to a URL that we
> must create ourselves, and we must add the HTTP header "If-None-Match:
> *". It is then non-obvious how one is expected to check the reason for
> failure! Currently I am scanning the text of the Cosmo response for a
> non-201 response and the String "If-None-Match disallows conditional
> request", but this is clearly implementation specific.

This is not implementation specific and the error codes are well defined.
Successful PUT can basically result only in 201 or 204 responses where
204 can't happen if "If-None-Match: *" is specified. Anyway, any 2xx
error code should be treated as successful creation of the resource.

--snip--
> Another classic example is timezone support. Prior to using CalDAV, I
> had expected it to do all the grunt work of timezones... such that I
> could make all my queries in GMT and never be confused. However, it
> seems that CalDAV is expecting all clients (even mobile clients) to
> have rich timezone support and to therefore have full international
> iCal support.

Wrong, wrong, wrong. Look again at the "expand" element in RFC
4791.

--snip--
> # No support for sharing

Actually you are confusing two things - sharing and delegating. Both of
which are supported. Sharing is supported through the mandatory
requirement to support WebDAV ACLs. For delegating see
http://www.ietf.org/internet-drafts/draft-desruisseaux-caldav-sched-05.txt

Best regards,
Filip Navara

_______________________________________________
Ietf-caldav mailing list -- Ietf-caldav <at> osafoundation.org
See http://ietf.webdav.org/caldav/ for more CalDAV resources
http://lists.osafoundation.org/mailman/listinfo/ietf-caldav

Julian Reschke | 24 Sep 2008 15:59
Picon
Picon

Re: CalDAV comments, a bit too late...

Shug Boabby wrote:
> ...
> - basing it on WebDAV instead of HTTP means that most standard
> libraries may not be used
> ...

"most"?

> ...
> - sharing resources with other users (even other users on the same
> server) is not even considered
> ...

I though it was by explicitly requiring WebDAV ACL support.

> ...
> CalDAV is based on WebDAV, which is covered with HTTP compatibility
> problems. For example, all flavours of Java exclude WebDAV support in
> their standard network library and use of methods such as REPORT and
> PROPFIND are forbidden. Other languages face similar troubles. Support
> is available from third parties on J2SE and J2EE (but no
> maintenance!). No support is available for J2ME and raw socket access
 > ...

What exactly do you mean by "no maintenance"?

> ...
> My preferred solution would have been to stick with plain old HTTP!
> There is nothing in this protocol that could not have been achieved
> with simple GET, POST and (optionally) PUT. I wouldn't even have
> considered HTTP headers to contain anything special... something
> CalDAV relies on heavily (e.g. Depth and If-None-Match).
 > ...

How is if-none-match "special"?

> One of the things I really like about the Freebase API is the fact
> that non-standard queries can be formulated in fairly simple JSON
> format (but could easily have been XML), but that for most things a
> simple GET-based query will also work. It would have been highly
> desirable if the most common CalDAV queries could have been achieved
> as simply as sending a GET query to
> server.com/caldav/todo/username/calendar?state=incomplete&from=20060712T182145Z
 > ...

I agree with this one. See for instance 
<http://greenbytes.de/tech/webdav/draft-reschke-http-get-location-latest.html#rfc.section.C>.

> ...
> Also, where is the definition of the "urn:ietf:params:xml:ns:caldav"
> and "DAV" namespaces? A schema is needed if correct XML is to be
> expected!
> ...

No, a schema is not needed :-) A spec is needed, though. See the WebDAV 
and the CalDAV specs.

> ...
> I've already hinted that creating XML is often burdensome on mobile
> devices, and also that creating new resources is not guaranteed to
> succeed. As an example, consider creating a new VTODO item, given that
> we know the collection URL. A PUT request is made to a URL that we
> must create ourselves, and we must add the HTTP header "If-None-Match:
> *". It is then non-obvious how one is expected to check the reason for
> failure! Currently I am scanning the text of the Cosmo response for a
> non-201 response and the String "If-None-Match disallows conditional
> request", but this is clearly implementation specific. Creating new
> resources could not have been designed to be more difficult.
> ...

You should check for the right HTTP status (it should be 412).

That being said: 
<http://greenbytes.de/tech/webdav/draft-reschke-webdav-post-latest.html>.

 > ...

BR, Julian
_______________________________________________
Ietf-caldav mailing list -- Ietf-caldav <at> osafoundation.org
See http://ietf.webdav.org/caldav/ for more CalDAV resources
http://lists.osafoundation.org/mailman/listinfo/ietf-caldav

Cyrus Daboo | 24 Sep 2008 16:04
Favicon

Re: CalDAV comments, a bit too late...

Hi Shug,

--On September 24, 2008 4:00:54 PM +0300 Shug Boabby 
<shug.boabby <at> gmail.com> wrote:

> I realise that CalDAV is now supported by many big vendors, including
> Google and Apple, so I doubt that the protocol could be changed in any
> way. Nonetheless, being called RFC-4791 implies that comments are
> still welcome (and I have some steam to let off after using this
> ghastly protocol which it seems we are all stuck with!)

The reality is CalDAV came along because previous attempts to create a 
"clean and simple" calendaring and scheduling protocol in the IETF came to 
naught because they invariably ended up getting too complex - and the 
reason for that is that calendaring and scheduling itself is complex. 
CalDAV worked because it was based on existing, well understood protocols 
that had a much lower barrier to entry because there were already lots of 
tools and libraries for HTTP, WebDAV and iCalendar. Within about four 
months of the inaugural Calendaring & Scheduling meeting in September 2004 
there were several servers and clients showing basic interoperability for 
calendar access.

That said CalDAV is a basis for a calendaring solution and not the final 
solution. There is plenty of scope for extensions to do things like 
aggregation of queries, or synchronization reports for more efficient 
bandwidth usage. Indeed many of these have been discussed by those people 
actually implementing and deploying CalDAV since those are the folks who 
really get to see the limitations in practice. Other extensions such as 
Atom/RSS feeds on calendar collections and the like have also been 
discussed.

It is also pretty easy to write a caching proxy gateway that would allow 
you to use a "clean and simple" protocol on the J2ME side to talk to one or 
more CalDAV servers.

> I recently embarked on creating a J2ME application which would use a
> CalDAV server to store everything. The reason is obvious, as it means
> that resources are easily synchronised with all good desktop calendar
> applications.

Well I wrote a prototype CalDAV J2ME client almost four years ago. Yes it 
used raw sockets and I adapted my own WebDAV and iCalendar libraries from a 
desktop product (i.e. did not have to start from scratch), and it had 
virtually no UI - just a simple list of events for today or over the next 
week. But that was sufficient for what I needed and it performed adequately.

It is worth noting that calendaring vendors are concerned about mobile 
devices. In fact the Calendaring and Scheduling Consortium is hosting its 
second mobile calendaring interoperability test event in the Czech Republic 
in November (<http://www.calconnect.org/miop0811.shtml>). I believe one of 
the areas that the mobile technical committee in the Consortium wants to 
turn its attention to is how CalDAV can better work with mobile devices, so 
I am sure they will be proposing extensions etc to help with that. I would 
certainly urge anyone who is interested in this area to find a way to get 
involved in that effort, or to continue discussion of this topic on this 
list.

--

-- 
Cyrus Daboo

_______________________________________________
Ietf-caldav mailing list -- Ietf-caldav <at> osafoundation.org
See http://ietf.webdav.org/caldav/ for more CalDAV resources
http://lists.osafoundation.org/mailman/listinfo/ietf-caldav


Gmane