[Ietf-caldav] polling
Helge Hess
helge.hess at opengroupware.org
Tue Aug 17 14:32:21 PDT 2004
On Aug 17, 2004, at 18:33, Dan Winship wrote:
> (The exact problem that the following protocol is trying to solve is
> "make it possible for a client to find out about all modifications to,
> additions to, and deletions from a collection since an arbitrary time
> in
> the past, without requiring the server to keep an unbounded amount of
> historical data or per-client state".)
OK, read the approach, clever idea! :-)
I have some issues with that though (well, actually I notice that this
is indeed some kind of server author vs client author thing as well
;-):
modtime
=======
This simply can't work?! You cannot base a synchronisation decision on
a modification time which is kept in a 1s or less granularity. If only
two people do a Palm sync to a shared folder in some overlapping time
(9:00 AM at the office) this is bound to break (given that we can
handle at least something between 10-100 changes per second).
In addition modtimes are broken because they require the client and
server to be in sync.
Servers
=======
You expect servers to change the data model for CalDAV. This won't make
people happy ;-) If this really needs to be done at the server, I
prefer to have a different service for that. Actually I think this is
what SyncML might already cover (with per client state though).
So back to server vs client, to solve (changes marked with _):
"make it possible for a client to find out about all modifications to,
additions to, and deletions from a collection since _the last sync_,
without requiring the _client_ to keep an unbounded amount of
historical data or per-client state, _and without requiring any changes
on servers_".
IMHO this is well covered by both, iCalendar and WebDAV. The client
needs to manage a snapshot of the last sync with its cache to ensure
its validity. Doing this is pretty trivial, either:
a) select the uid + iCal sequence
or
b) select the resource + etag
I think tracking server changes this way is really reasonable for
client authors (just keep the hrefs/etags the cache is based on with
the cache).
Compatibility with servers which cannot track an object version is also
easy to solve. They can simply use the moddate timestamp (utime or
seconds since 2000 or whatever) as the version, this will give them the
maximum possible granularity in this setup.
Hm, did I miss something? ;-)
Greets,
Helge
--
http://docs.opengroupware.org/Members/helge/
OpenGroupware.org
More information about the Ietf-caldav
mailing list