Daniel Gomez Brito | 17 Jul 2008 11:03

Question about time range filtering.

Hello,

I have some doubts about the expected behaviour of calendar-query report with a time range filter when dealing with overridden instances of a recurrent event.

 

According to the RFC (http://tools.ietf.org/html/rfc4791#section-7.6):

{{{

   A CalDAV client that is only interested in the recurrence instances

   that overlap a specified time range can request to receive only the

   "master component", along with the "overridden components" that

   impact the specified time range, and thus, limit the data returned by

   the server (see CALDAV:limit-recurrence-set in Section 9.6.6).  An

   overridden component impacts a time range if its current start and

   end times overlap the time range, or if the original start and end

   times -- the ones that would have been used if the instance were not

   overridden -- overlap the time range, or if it affects other

   instances that overlap the time range.

}}}

 

If I have not misunderstood the above paragraph, it means that if the time interval overlaps the original start and end times of an overridden instance, that instance should be returned in the response. Am I right? If so, what’s the rationale behind this? If that instance has been rescheduled, its old time slot should be now empty and therefore I should receive an empty response. Why not?

 

Can anybody shed some light on this?

 

Thanks in advance.

 

Este mensaje, y en su caso, cualquier fichero anexo al mismo, puede contener informaci clasificada por su emisor como confidencial en el marco de su Sistema de Gestión de Seguridad de la Información siendo para uso exclusivo del destinatario, quedando prohibida su divulgación copia o distribución a terceros sin la autorización expresa del remitente. Si Vd. ha recibido este mensaje erróneamente, se ruega lo notifique al remitente y proceda a su borrado. Gracias por su colaboración.

This message including any attachments may contain confidential information, according to our Information Security Management System, and intended solely for a specific individual to whom they are addressed. Any unauthorised copy, disclosure or distribution of this message is strictly forbidden. If you have received this transmission in error, please notify the sender immediately and delete it.

_______________________________________________
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 | 17 Jul 2008 15:29
Favicon

Re: Question about time range filtering.

Hi Daniel,

--On July 17, 2008 11:03:17 AM +0200 Daniel Gomez Brito <dagomez <at> gmv.com> 
wrote:

> If I have not misunderstood the above paragraph, it means that if the
> time interval overlaps the original start and end times of an overridden
> instance, that instance should be returned in the response. Am I right?
> If so, what’s the rationale behind this? If that instance has been
> rescheduled, its old time slot should be now empty and therefore I should
> receive an empty response. Why not?

The description in the spec is correct. Here is an example that shows why:

Let's say you have a weekly recurring meeting every Monday.

One instance is shifted to a Tuesday

Now you do a time-range query for 8 days starting on a Monday and extending 
to the week of the overridden instance.

The server is required to return the master component (the one with the 
RRULE) to cover the first Monday in the time-range.

However, if that is all it did, then the client would see the weekly RRULE 
and assume that there is an instance on the second Monday, which would be 
wrong.

Instead the server has to return the overridden instance as well and that 
correctly shows the client that there is no second Monday instance.

--

-- 
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

PATRICE.SCATTOLIN | 17 Jul 2008 16:04
Picon
Favicon

New task: Question about time range filtering..

Title: [Ietf-caldav] Question about time range filtering.
Organizer: PATRICE.SCATTOLIN <at> ORACLE.COM
Start: Thu, Jul 17, 2008 11:00 AM EDT
Due:
Priority: Medium
Participants:
ietf-caldav <at> osafoundation.org; PATRICE.SCATTOLIN <at> ORACLE.COM; Daniel Gomez Brito
Description:

Hi Daniel,

--On July 17, 2008 11:03:17 AM +0200 Daniel Gomez Brito
wrote:

If I have not misunderstood the above paragraph, it means that if the
time interval overlaps the original start and end times of an overridden
instance, that instance should be returned in the response. Am I right?
If so, what’s the rationale behind this? If that instance has been
rescheduled, its old time slot should be now empty and therefore I should
receive an empty response. Why not?

The description in the spec is correct. Here is an example that shows why:

Let's say you have a weekly recurring meeting every Monday.

One instance is shifted to a Tuesday

Now you do a time-range query for 8 days starting on a Monday and extending
to the week of the overridden instance.

The server is required to return the master component (the one with the
RRULE) to cover the first Monday in the time-range.

However, if that is all it did, then the client would see the weekly RRULE
and assume that there is an instance on the second Monday, which would be
wrong.

Instead the server has to return the overridden instance as well and that
correctly shows the client that there is no second Monday instance.

-- 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
Attachment (event.ics): text/calendar, 2306 bytes
_______________________________________________
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
Daniel Gomez Brito | 17 Jul 2008 16:52

RE: Question about time range filtering.

Hello Cyrus, 
Thank you for the quick response, it's nice to see the list is alive.

Suppose I do a time-range query that spawns the second Monday. If I'm
not wrong, the response should be empty because the instance has been
rescheduled to a Tuesday. 
I'm guessing the process is like this:
 The server checks the master component, realizes there's an overlapping
instance and then examines the overridden components to test if the
overlapping instance has been overridden. If that's the case, then the
server tests whether the overridden instance impacts the time range and
acts upon so. 
 In this example, the matching instance has been overridden and it
doesn't overlap the time interval so the server drops the master
component because its match is not valid and therefore returns an empty
response.
Is this right?

> -----Mensaje original-----
> De: Cyrus Daboo [mailto:cyrus <at> daboo.name]
> Enviado el: jueves, 17 de julio de 2008 15:29
> Para: Daniel Gomez Brito; ietf-caldav <at> osafoundation.org
> Asunto: Re: [Ietf-caldav] Question about time range filtering.
> 
> Hi Daniel,
> 
> --On July 17, 2008 11:03:17 AM +0200 Daniel Gomez Brito
<dagomez <at> gmv.com>
> wrote:
> 
> > If I have not misunderstood the above paragraph, it means that if
the
> > time interval overlaps the original start and end times of an
overridden
> > instance, that instance should be returned in the response. Am I
right?
> > If so, what's the rationale behind this? If that instance has been
> > rescheduled, its old time slot should be now empty and therefore I
> should
> > receive an empty response. Why not?
> 
> The description in the spec is correct. Here is an example that shows
why:
> 
> Let's say you have a weekly recurring meeting every Monday.
> 
> One instance is shifted to a Tuesday
> 
> Now you do a time-range query for 8 days starting on a Monday and
> extending
> to the week of the overridden instance.
> 
> The server is required to return the master component (the one with
the
> RRULE) to cover the first Monday in the time-range.
> 
> However, if that is all it did, then the client would see the weekly
RRULE
> and assume that there is an instance on the second Monday, which would
be
> wrong.
> 
> Instead the server has to return the overridden instance as well and
that
> correctly shows the client that there is no second Monday instance.
> 
> --
> Cyrus Daboo

______________________
Este mensaje, y en su caso, cualquier fichero anexo al mismo,
 puede contener informacion clasificada por su emisor como confidencial
 en el marco de su Sistema de Gestion de Seguridad de la 
Informacion siendo para uso exclusivo del destinatario, quedando 
prohibida su divulgacion copia o distribucion a terceros sin la 
autorizacion expresa del remitente. Si Vd. ha recibido este mensaje 
 erroneamente, se ruega lo notifique al remitente y proceda a su borrado. 
Gracias por su colaboracion.
______________________
This message including any attachments may contain confidential 
information, according to our Information Security Management System,
 and intended solely for a specific individual to whom they are addressed.
 Any unauthorised copy, disclosure or distribution of this message
 is strictly forbidden. If you have received this transmission in error,
 please notify the sender immediately and delete it.
______________________
_______________________________________________
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 | 17 Jul 2008 17:18
Favicon

RE: Question about time range filtering.

Hi Daniel,

--On July 17, 2008 4:52:49 PM +0200 Daniel Gomez Brito <dagomez <at> gmv.com> 
wrote:

> Suppose I do a time-range query that spawns the second Monday. If I'm
> not wrong, the response should be empty because the instance has been
> rescheduled to a Tuesday.
> I'm guessing the process is like this:
>  The server checks the master component, realizes there's an overlapping
> instance and then examines the overridden components to test if the
> overlapping instance has been overridden. If that's the case, then the
> server tests whether the overridden instance impacts the time range and
> acts upon so.
>  In this example, the matching instance has been overridden and it
> doesn't overlap the time interval so the server drops the master
> component because its match is not valid and therefore returns an empty
> response.
> Is this right?

In the case where there are no overlapping instances at all, and thus no 
need to return the master, then yes the result can legitimately be empty 
even if an overridden instance's original time period was within the 
time-range.

I guess the spec could be more explicit on that one case. The algorithm is:

if (any instance overlaps the time-range) then
    return (the master instance,
            any overridden instances occurring in the time-range,
            any overridden instances that originally occurred in the 
time-range)
else
    return (empty result)

--

-- 
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

Filip Navara | 20 Jul 2008 22:19
Favicon

calendar-query REPORT depth handling?

Hello!

I would to know how the Depth header on calendar-query REPORTs should be handled. CalDAVTester sends no
Depth header and expects the REPORT to apply on the resources inside the collection. My reading of RFC 4791
and RFC 3253 (section 3.6) says that if no Depth header is specified then Depth: 0 is assumed. According to
my understanding I would expect Depth: 0 requests to return empty responses and not match any calendar
resources. This assumption is aided by the fact that all RFC 4791 examples explicitely specify Depth: 1
header. So, should Depth: 0 match the resources inside the collection or not?

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

Cyrus Daboo | 20 Jul 2008 23:29
Favicon

Re: calendar-query REPORT depth handling?

Hi Filip,

--On July 20, 2008 10:19:15 PM +0200 Filip Navara <navara <at> emclient.com> 
wrote:

> I would to know how the Depth header on calendar-query REPORTs should be
> handled. CalDAVTester sends no Depth header and expects the REPORT to
> apply on the resources inside the collection. My reading of RFC 4791 and
> RFC 3253 (section 3.6) says that if no Depth header is specified then
> Depth: 0 is assumed. According to my understanding I would expect Depth:
> 0 requests to return empty responses and not match any calendar
> resources. This assumption is aided by the fact that all RFC 4791
> examples explicitely specify Depth: 1 header. So, should Depth: 0 match
> the resources inside the collection or not?

As you noted, in RFC 4791 no Depth header means Depth:0, so CalDAVTester's 
behavior is wrong. Please file a bug on calendarserver.org for CalDAVTester 
and I will get that fixed. In fact I will change the current tests to use 
Depth:1 and then add a test that explicitly uses Depth:0 on a calendar 
collection and test that nothing comes back.

--

-- 
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

Filip Navara | 21 Jul 2008 00:16
Favicon

Re[2]: calendar-query REPORT depth handling?

> -----Original Message-----
> From: Cyrus Daboo <cyrus <at> daboo.name>
> To: Filip Navara <navara <at> emclient.com>, ietf-caldav <at> osafoundation.org
> Cc: Arnaud Quillaud <Arnaud.Quillaud <at> Sun.COM>
> Date: 07/20/08 23:29
> Subject: Re: [Ietf-caldav] calendar-query REPORT depth handling?
> 
> Hi Filip,
> 
> --On July 20, 2008 10:19:15 PM +0200 Filip Navara <navara <at> emclient.com> 
> wrote:
> 
> > I would to know how the Depth header on calendar-query REPORTs should be
> > handled. CalDAVTester sends no Depth header and expects the REPORT to
> > apply on the resources inside the collection. My reading of RFC 4791 and
> > RFC 3253 (section 3.6) says that if no Depth header is specified then
> > Depth: 0 is assumed. According to my understanding I would expect Depth:
> > 0 requests to return empty responses and not match any calendar
> > resources. This assumption is aided by the fact that all RFC 4791
> > examples explicitely specify Depth: 1 header. So, should Depth: 0 match
> > the resources inside the collection or not?
> 
> As you noted, in RFC 4791 no Depth header means Depth:0, so CalDAVTester's 
> behavior is wrong. Please file a bug on calendarserver.org for CalDAVTester 
> and I will get that fixed. In fact I will change the current tests to use 
> Depth:1 and then add a test that explicitly uses Depth:0 on a calendar 
> collection and test that nothing comes back.
> 
> -- 
> Cyrus Daboo

https://trac.calendarserver.org/ticket/297

Thanks for quick answer,
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

Dave Thewlis | 29 Jul 2008 17:52
Favicon

Registration Open for CalConnect XIII: Roundtable XIII and CalConnect Interoperability Test Event, October 6-10, 2008, Sunnyvale, California


Registration is now open for CalConnect XIII comprised of Roundtable XIII and a CalConnect Interoperability Test Event*, hosted by Yahoo/Zimbra in Sunnyvale, California on October 6-10, 2008.

Please see http://www.calconnect.org/calconnect13.shtml for logistics information and links to registration for the Roundtable and for the CalConnect Interoperability Test Event*.

If you are considering participating in the CalConnect Interoperability Test Event*, note that it begins with breakfast on Monday morning the 6th at 08:00 and runs to noon on Wednesday the 8th.  As usual the Roundtable will begin with lunch at 12:30 on Wednesday the 8th  and run until early Friday afternoon the 10th. 

A general schedule of events is provided on the logistics page; the final schedule of TC sessions, together with topical agendas, will be available by mid-September.

We will have a Technology Preview on Wednesday afternoon at 1600, demonstrating multiple clients and servers participating in Freebusy URL, CalDAV Scheduling, and iSCHEDULE server-server scheduling.  (iSCHEDULE is the HTTP-based instance of iTIP being worked on by the iSCHEDULE Technical Committee.)

Hope to see you in Sunnyvale in October!

Cheers,

Dave Thewlis


*This CalConnect Interoperability Test Event will be a "regular" IOP test event.  The next MOBILE Calendaring Interoperability Test Event will be held in November - see http://www.calconnect.org/miop0811.shtml.  (The formal announcement of the Mobile IOP Test Event will be made soon.)

--
Dave Thewlis, Executive Director
Calconnect - The Calendaring and Scheduling Consortium
+1 707 840 9391 (voice) · +1 707 498 2238 (mobile)
http://www.calconnect.org · Dave.Thewlis <at> calconnect.org
_______________________________________________
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
Dave Thewlis | 30 Jul 2008 19:06
Favicon

CalConnect announces second Mobile Interoperability Test Event

CalConnect has announced that its second Mobile Calendaring Interoperability Test Event will be a standalone event November 4-6, 2008, hosted by Kerio Technologies in Plzen, Czech Republic, and registration is now open for the event. Several CalConnect members have indicated a distinct interest in or plan to participate. Logistics and registration information are available at http://www.calconnect.org/miop0811.shtml.  The press release announcing this event can be found at http://www.calconnect.org/publicity/080728 CalConnect Mobile IOP Test Event.doc

As always, this event is open to members and non-members alike; however space will be somewhat limited and early registration is advisable.  If you have questions about the event, feel free to post to the calmobileiop-l list (you may join the list at http://www.calconnect.org/calmobileioplist.shtml if you are not already a member), or contact me at the e-mail below.

Hope to see you in Plzen!

Best Regards,

Dave Thewlis

--
Dave Thewlis, Executive Director
Calconnect - The Calendaring and Scheduling Consortium
+1 707 840 9391 (voice) · +1 707 498 2238 (mobile)
http://www.calconnect.org · Dave.Thewlis <at> calconnect.org
_______________________________________________
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