Re: [calsify] SKIP was Re: AD review of draft-ietf-calext-rscale-03

Marten Gajda <marten@dmfs.org> Tue, 03 February 2015 20:08 UTC

Return-Path: <marten.gajda@googlemail.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 029501A88D5 for <calsify@ietfa.amsl.com>; Tue, 3 Feb 2015 12:08:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.299
X-Spam-Level:
X-Spam-Status: No, score=-1.299 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, J_CHICKENPOX_44=0.6, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ugwqFtmG6mZ5 for <calsify@ietfa.amsl.com>; Tue, 3 Feb 2015 12:08:34 -0800 (PST)
Received: from mail-we0-x234.google.com (mail-we0-x234.google.com [IPv6:2a00:1450:400c:c03::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BA93D1A88C3 for <calsify@ietf.org>; Tue, 3 Feb 2015 12:08:20 -0800 (PST)
Received: by mail-we0-f180.google.com with SMTP id m14so47086325wev.11 for <calsify@ietf.org>; Tue, 03 Feb 2015 12:08:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type; bh=3XhdBX1gVwOvJ92mFBbqWV2sB4dh2v2y7cB7PXhhCHg=; b=SphY5AmF5olhUKZznF41RteilMGdH4IfgkN1nmD1KdTYQDcV+hyoTY3b8L5w0nbrBN B0fcucedwNkHEQjswqkrayBLb1dy0Fr6fS13Mu7qOYZn6nHkXFLw4AhikDx2uxRmvpRN o0a0NT4SSC19YyQvkUzHYG3E3LUlwwC95OTB0iuRuRhAUzf7lvS6HhJSda8hwDiZsygl yOb19UQlStC22BNwWX9EANUT+EI4Jfx1X+pOkCi+eNS6FLXbSmLez/zsfsQxSmwzIRQb 3FmuGqzbWsTI8kNZpKMycX/ndQicco8pWgTTVN4V6M7EI2ThoqB0msm2UNJUBX06rxkc wU9A==
X-Received: by 10.194.61.51 with SMTP id m19mr8435379wjr.39.1422994097290; Tue, 03 Feb 2015 12:08:17 -0800 (PST)
Received: from smtp.dmfs.org (p4FF0E66A.dip0.t-ipconnect.de. [79.240.230.106]) by mx.google.com with ESMTPSA id mx4sm26001604wic.24.2015.02.03.12.08.15 for <calsify@ietf.org> (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 03 Feb 2015 12:08:16 -0800 (PST)
Sender: Marten Gajda <marten.gajda@googlemail.com>
Received: from localhost.localdomain (unknown [89.204.138.240]) by smtp.dmfs.org (Postfix) with ESMTPSA id AE894615 for <calsify@ietf.org>; Tue, 3 Feb 2015 21:08:13 +0100 (CET)
Message-ID: <54D12AAC.7000202@dmfs.org>
Date: Tue, 03 Feb 2015 21:08:12 +0100
From: Marten Gajda <marten@dmfs.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: calsify@ietf.org
References: <68FCD7D11F934509267D5915@cyrus.local> <CALaySJKQP9WjRQV2qrgfLiGwj-SQAUCF6RVcQuRrUYNpfqp17A@mail.gmail.com> <7FF77F2FE3390FFD1149E953@cyrus.local> <CALaySJK3RiXXHTq9MC4nwA4c_gZzEVDoWa96MDc7Ue4yDRgbWA@mail.gmail.com> <C80A141CD062EFF630B6D2BB@caldav.corp.apple.com> <54D0E2E9.2030505@andrew.cmu.edu> <99B9DDB4AEFC12755724C5DD@caldav.corp.apple.com> <54D107AC.3050706@andrew.cmu.edu> <2D953326EFEE238B1CCF867E@caldav.corp.apple.com> <54D10C50.20909@andrew.cmu.edu> <54D10FDB.6070001@andrew.cmu.edu>
In-Reply-To: <54D10FDB.6070001@andrew.cmu.edu>
Content-Type: multipart/alternative; boundary="------------060700080104020105050103"
Archived-At: <http://mailarchive.ietf.org/arch/msg/calsify/ujP4PDTzqWp5xcOrhqvTRXcb-gg>
Subject: Re: [calsify] SKIP was Re: AD review of draft-ietf-calext-rscale-03
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <calsify.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/calsify>, <mailto:calsify-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/calsify/>
List-Post: <mailto:calsify@ietf.org>
List-Help: <mailto:calsify-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/calsify>, <mailto:calsify-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 03 Feb 2015 20:08:41 -0000

@Ken: Sorry for the double post, I hit the wrong reply button

Am 03.02.2015 um 19:13 schrieb Ken Murchison:
> On 02/03/2015 12:58 PM, Ken Murchison wrote:
>> On 02/03/2015 12:51 PM, Cyrus Daboo wrote:
>>> Hi Ken,
>>>
>>> --On February 3, 2015 at 12:38:52 PM -0500 Ken Murchison 
>>> <murch@andrew.cmu.edu> wrote:
>>>
>>>> I believe we can get by with just a single SKIP and your previous 
>>>> rules
>>>> to handle both cases above (using Hebrew leap month):
>>>>
>>>> RRULE:FREQ=YEARLY;RSCALE=HEBREW;SKIP=FORWARD;BYMONTH=5L;BYMONTHDAY=30
>>>>
>>>> Would yield 1 Nisan (skipping forward both a month and day)
>>>>
>>>>
>>>> RRULE:FREQ=YEARLY;RSCALE=HEBREW;SKIP=FORWARD;BYMONTH=5L;BYMONTHDAY=-1
>>>>
>>>> Would yield 29 Adar (skipping forward just a month)
>>>>
>>>
>>> Actually I am not convinced about that since the spec says that SKIP 
>>> is applied AFTER all other rule parts are processed (except for 
>>> BYSETPOS, COUNT and UNTIL). So the BYMONTHDAY=-1 refers to the last 
>>> day of the invalid month, 30 Adar I, which then becomes the invalid 
>>> date 30 Adar after the month skip and then 1 Nisan after the day skip.
>>
>> Hmm, I think you're right based on the current wording.  I don't 
>> recall exactly how we decided on that wording, but perhaps it might 
>> needs to be adjusted.
>
> Looking at RFC 5545:
>
>       If multiple BYxxx rule parts are specified, then after evaluating
>       the specified FREQ and INTERVAL rule parts, the BYxxx rule parts
>       are applied to the current set of evaluated occurrences in the
>       following order: BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY,
>       BYHOUR, BYMINUTE, BYSECOND and BYSETPOS; then COUNT and UNTIL are
>       evaluated.
>
>
> I'm wondering if we shouldn't have SKIP applied both immediately 
> following BYMONTH and BYMONTHDAY evaluation.  I don't think we want 
> the other BYxxx rule parts to be operating on invalid dates at any 
> point.  Thoughts?
>
The only reason I can come up with right now, is that a rule with RSCALE 
& SKIP=OMIT could have different results than the same rule without 
RSCALE and SKIP.

example:

DTSTART;VALUE=DATE:20120229
RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=SU

-> all Sundays in February, every year

DTSTART;VALUE=DATE:20120229
RRULE:FREQ=YEARLY;RSCALE=GREGORIAN;BYMONTH=2;BYDAY=SU;SKIP=OMIT

-> all Sundays in February, but only in leap years, since SKIP would 
filter Feb. 29th in non-leap years before BYDAY is evaluated



Marten

-- 

*Marten Gajda*
Schandauer Straße 34
01309 Dresden
Germany

tel: +49 177 4427167
email: marten@dmfs.org
twitter: twitter.com/dmfs_org

VAT Reg. No.: DE269072391