扩大CalDAV中的重复事件 [英] Expanding recurring events in CalDAV
问题描述
假设CalDAV客户端确实很笨(深度嵌入),并且无法自行计算重复发生的事件。但是,它能够发出CalDAV请求。假设CalDAV日历已存储生日。这样的生日是2000年12月31日。现在,客户希望收到2005年5月5日至2008年5月5日之间的所有生日。
Suppose a CalDAV client is really dumb (deeply embedded) and unable to calculate recurring events by itself. It is, however capable of putting in CalDAV requests. Suppose a CalDAV calendar has birthdays stored. One such birthday is on 2000-12-31. Now the client wants to receive all birthdays between 2005-05-05 and 2008-05-05.
我可以让Radicale响应此类请求的唯一方法是作为答案,一个条目DTSTART = 2000-12-31和RRULE属性集。
The only way I can get Radicale to respond to such a request gives as an answer one entry, DTSTART = 2000-12-31 and the RRULE property set.
但是,我希望收到三个单独的实例,其日期为2005-12- 31、2006-12-31和2007-12-31。我尝试使用 limit-recurrence-set和 expand,但是我所描述的都没有。
However, I would wish to receive three separate instances with dates 2005-12-31, 2006-12-31 and 2007-12-31. I tried to use "limit-recurrence-set" and "expand", but neither do what I describe. Is there a way in CalDAV to achieve what I explained?
推荐答案
这可能是Radicale的一个局限,CalDAV本身确实支持复发。扩展: RFC 4791第7.8.3节。 RFC中显示的示例:
This may be a limitation in Radicale, CalDAV itself does support recurrence expansion: RFC 4791 Section 7.8.3. The sample shown in the RFC:
REPORT /bernard/work/ HTTP/1.1
Host: cal.example.com
Depth: 1
Content-Type: application/xml; charset="utf-8"
Content-Length: xxxx
<?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>
<C:expand start="20060103T000000Z"
end="20060105T000000Z"/>
</C:calendar-data>
</D:prop>
<C:filter>
<C:comp-filter name="VCALENDAR">
<C:comp-filter name="VEVENT">
<C:time-range start="20060103T000000Z"
end="20060105T000000Z"/>
</C:comp-filter>
</C:comp-filter>
</C:filter>
</C:calendar-query>
这篇关于扩大CalDAV中的重复事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!