Subject: Re: queries for unbounded recurring components

From: [email-masked]
Date: Wed, 20 Oct 1999 14:08:42 -0400

A bit late but...

Steve asked:
>Suppose we have a component that recurs like this: 
>... 
>UID:12345 
>RRULE:FREQ=DAILY 
>...
>Now a query is made to the CAP server to return all instances of the 
event. That is, 
>WHERE (UID EQ 12345)
>What should be returned?

Well, I would say that you could only return the 'parent' or main entry. 
Since the request does not ask for RECUR-ID, the CS should not send it 
back!  Since the request also neglects to ask for the RRULEs, EXRULEs, 
RDATEs and EXDATEs that may be there, the requestor obviously does not 
want to know about the recurrence set or info.

>Should the server attempt to unravel it and clip it after some number of 
instances?

Nope, that is not what the requestor asked for.

>Should we return one event with the RRULE and let the requester unravel 
it (that's *really* bad)?

Nope again.  They did not specify they wanted the RRULE back.  It was 
_THEIR_ choice; I didnt make 'em not request it (at least not directly :^o 
)

>Something else?

Nope.  You simply return what they asked for.  If they want the recurrence 
info, they have to ask for it.  We are building C&S here, not doing mind 
reading tricks.

Bruce
===========================================================================
Bruce Kahn                                INet: [email-masked]
Iris Associates                          Phone: 978.392.5335
Westford, MA, USA 01886                    FAX: and nothing but the FAX...
Standard disclaimers apply, even where prohibited by law...

---

From: [email-masked]
Date: Wed, 20 Oct 1999 14:16:18 -0400

Steve wrote:
>A light-weight client app may want all the instances of a recurring 
event. Must it expand the RRULEs / EXRULEs ? 

Back to basics time.  If the client does not ask for the RECUR-ID or 
RRULE, RDATE, EXDATE or EXRULE properties then the CS MUST NOT send them 
back!!  The CS MUST only send back what the CUA requests.

Now think back to the creation of RFC 2445 and you may recall that we 
discussed what a CUA should do if it gets stuff it does not grok like 
RRULEs, etc.  The answer was that it could (should?) send back a 
REQUEST-STATUS property that indicated "I do not grok recurrence grammars 
so my response may not be 100% what you want" (in addition to the CUs 
"REQUEST-STATUS: 2.0; Ill be there"!)

However, if the CUA does not grok EX/RRULEs then it wont ask for them.  So 
this may be somewhat moot.  It does however raise the question about the 
search mechanism/language.  Could a CUA use the currently proposed 
mechanism/language to request "Give me the next 3 entries for UID:12345 
after 19991019T142100"?

Bruce

---

From: [email-masked]
Date: Fri, 22 Oct 1999 11:02:04 -0400

I wrote:
>Since the request also neglects to ask for the RRULEs, EXRULEs, RDATEs 
>and EXDATEs that may be there, the requestor obviously does not want to 
know
>about the recurrence set or info. 

<CLARIFICATION>
Actually I was a bit ahead of myself.  I assumed (perhaps incorrectly) the 
client did not request the RRULE, RDATE, EXRULE, EXDATE info to be 
returned.  This may or may not have been the case but since Steve was 
asking about unwinding I assumed that the client had not.  Just wanted to 
clarify this before I got a firestorm of emails back...
</CLARIFICATION>

Bruce