I'm a bit puzzled. I'm not quite sure wether it's Zarafa's fault, the client's or mine.
Here's what I'm worrying about: I got my calendar holding 1900+ elements. Now I want to use a client library to fetch some of them into my php script. So I'm using the time-range filter to get only the events within my desired time span. Here's what the client sends as a request to the server:
But what's returned? All of the 1900+ events in my calendar. Not just those matching the given time span.Code:REPORT /caldav/ HTTP/1.1 Authorization: Basic WW91IHJlYWxseSB3YW5uYSBrbm93LCBodW0/IDsp Host: zarafa.example.com:443 Content-type: text/xml Content-Length: 411 User-Agent: DAViCalClient Connection: close <?xml version="1.0" encoding="utf-8" ?> <C:calendar-query xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav"> <D:prop> <C:calendar-data/> <D:getetag/> </D:prop> <C:filter> <C:comp-filter name="VCALENDAR"> <C:comp-filter name="VEVENT"> <C:time-range start="20120501T000000Z" end="20120507T000000Z"/> </C:comp-filter> </C:comp-filter> </C:filter> </C:calendar-query>
As I'm new to the CalDAV protocol, my question is now: who's doing what wrong? Am I mistaken with this filter, is the client doing something wrong or is it Zarafa not correctly responding to this request?
Looking forward to reading your thoughts!