This content has been marked as final. Show 8 replies
For 1), see the Session.fetchEventsByRange() in the Java API and it equivalent in the C API. This fetches events for a specified list of calendars in a specified date range.
"A list of calendars in a specified range" does not sound like what I'm looking for. I'm not looking for events that are scheduled for a specific range. I'm looking for event records that were created, modified, or deleted in the last X seconds (or minutes or days).
Sorry I misread your original request, you are right fetchEventsByRange() will not do what you require.
Does anyone know how to accomplish this? This should be an obvious business requirement for the SDK.
The non-answer suggests a negative. How, then, can synchronization be accomplished without the ability to fetch only the records that have been changed?
Are we expected to collect all records and then perform a comparison routine?
Yep, more or less. We are using hashing to accomplish this. Basically we take a subset of the iCalendar properties returned by the CSDK, md5sum them, and store that. Next time we sync, we compute the hash and compare against the stored one.
You can't do any better than this with the CSDK currently, although you can do this kind of thing with SyncML. I too think that this would be a good feature to have in the CSDK.
That functionality will be available as part of the generic replication framework component of the calendar server, which will be available with 10gR2, mid-2006.
This will allow for notification of the latest changes to be propagated from the calendar server.
for now, you would have to implement this with logic similar to 1.
Is 'generic replication framework component of the calendar server' available now?
I fail to find the information in otn documents for ocs 10g R2.
And if we consider the solution using md5sum utilty, how can i catch cases of deletion?
Should I compare whole the hash list including md5sum values?
Thanks & Regards,