Re: (RECUR-LIMIT) The intent/meaning of EXPAND and its usefullness

Doug Royer <[email protected]>
Newsgroups gmane.ietf.calendar
Organization http://INET-Consulting.com
Message-ID <[email protected]>
Preston Stephenson wrote:

>Just my too bits worth.
>
>In our implementation, we expand out recurrence items on creation (so
>STORES:EXPANDED:TRUE).
>We set RECUR-LIMIT to specify the max we will fan out on creation
>For access of the items after that the other recur
>properties/parameters don't make much sense.
>
I do not follow that last sentence. Are you saying that RECUR-LIMIT does 
not apply
to fetch because you have already expanded them? Or are you saying you
strip out RRULE and EXRULE and perhaps RDATE and EXDATE?
Or are you saying there are no more objects after RECUR-LIMIT?

(FYI 'fan out' has another unrelated meaning.).

>For query, EXPAND doesn't make sense and we ignore it (whether or not
>RECUR-EXPAND is set).
>
Then the CUA will know this and also understand because you have
set STORES-EXPANED to TRUE.

>For query, RECUR-LIMIT doesn't make sense, since we only want it to
>apply to storage.
>Can we abstract the limit to just be a limit (say QUERY-LIMIT) of any
>items returned?
>
If a CUA gets RECUR-LIMIT:L and STORES-EXPANDED:TRUE, then it that
is exactly you situation. The CUA will know that it will get up to 'L' 
instances
of a UID and that any over 'L' are not on that CS.

No need for a separate limit property or parameter  for STORES-EXPANED:TRUE
CS's, the limit can only apply to storage as such a CS does not expand 
the instances
at query time.

>For query, RECUR-EXPAND doesn't make sense, since the items are already
>expanded.
>
Yes, when it does apply is when STORES-EXPANDED:FALSE CS's
set RECUR-LIMIT:L, then you will know that you can just re-query 
starting from
the last date/time fetched and that you will get up to 'L' more.

>There is a little problem on RECUR-LIMIT applying to storage and
>query.
>In the case of 2) below, the absence of  RECUR-LIMIT would mean no
>limit.
>The problem arises if you have to have it be two limits (storage and
>query).
>
For a STORES-EXPANDED:TRUE CS, they will never be able to return more
than RECUR-LIMIT objects for a single UID. So they do not need a separate
fetch limit because you can not put in more objects in a EXPAND:TRUE
CS than what the CS itself stored when the CS expanded the instances.
They will always be the same for such a CS.

For a STORES-EXPANDED:FALSE CS, then they store the raw unexpended
object so no need for a separate store RECUR-LIMIT as it is meaningless.
For such a CS RECUR-LIMIT only applies to expanding of objects at fetch 
time.

One RECUR-LIMIT and STORES-EXPANDED covers it.

>On creation we just expand out the item to the limit we can.
>We have no way of passing back a status saying, we would have created
>more.
>
No need as the CUA which sent the object already knows it is a recurring 
object (it
sent it) and it already had seen your RECUR-LIMIT capability.

>(We've just documented it in the past and our customers know to work
>around the limitations.)
>We have no way of adding to an existing recurrence set.
>
METHOD:ADD ?

Or did you mean once RECUR-LMIIT instances have been stored by your
implementation that your implementation can not ADD more?

Or did you men once RECUR-LMIIT instances have been stored by your
implementation that your implementation can not inform the CUA that
there should have been more? I might suggest that you store a private
object with the original recurrence rules in it, when the end is hit 
silently
expand SOME-PRIVATE-RECUR-LIMIT more, and then return or also include
the results to that? Then you can set RECUR-LIMIT large and
STORES-EXPANDED to TRUE and the CUA will never know that you
are somewhat expanding at run time.

>How would you reflect that functionality in CAP,
>"IF-YOU-CREATE-A-RECURRENCE-ITEM-AND-IT-EXCEEDS-THE-LIMIT" what happens
>flag?
>
The CUA knows it is a recurring object and it has seen your RECUR-LIMT.

-- 

Doug Royer                     |   http://INET-Consulting.com
-------------------------------|-----------------------------
[email protected]                 | Office: (208)520-4044
http://Royer.com/People/Doug   |    Fax: (866)594-8574
                               |   Cell: (208)520-4044

               We Do Standards - You Need Standards
smime.p7s (application/x-pkcs7-signature, 4.6 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.