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

Cyrus Daboo <cyrus@daboo.name> Tue, 03 February 2015 18:12 UTC

Return-Path: <cyrus@daboo.name>
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 10E7B1A87A1 for <calsify@ietfa.amsl.com>; Tue, 3 Feb 2015 10:12:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.912
X-Spam-Level:
X-Spam-Status: No, score=-1.912 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 mviNGCi8_MQ0 for <calsify@ietfa.amsl.com>; Tue, 3 Feb 2015 10:12:41 -0800 (PST)
Received: from daboo.name (daboo.name [173.13.55.49]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CD8481A8760 for <calsify@ietf.org>; Tue, 3 Feb 2015 10:12:40 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id 3180BAC6367; Tue, 3 Feb 2015 13:12:40 -0500 (EST)
X-Virus-Scanned: amavisd-new at example.com
Received: from daboo.name ([127.0.0.1]) by localhost (daboo.name [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N4fAaUEZIMKu; Tue, 3 Feb 2015 13:12:40 -0500 (EST)
Received: from caldav.corp.apple.com (unknown [17.45.162.46]) by daboo.name (Postfix) with ESMTPSA id A2E95AC635C; Tue, 3 Feb 2015 13:12:38 -0500 (EST)
Date: Tue, 03 Feb 2015 13:12:34 -0500
From: Cyrus Daboo <cyrus@daboo.name>
To: Ken Murchison <murch@andrew.cmu.edu>, Barry Leiba <barryleiba@computer.org>
Message-ID: <4D0DD03C35332EE0F64A9DD5@caldav.corp.apple.com>
In-Reply-To: <2D953326EFEE238B1CCF867E@caldav.corp.apple.com>
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>
X-Mailer: Mulberry/4.1.0b1 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; size="1532"
Archived-At: <http://mailarchive.ietf.org/arch/msg/calsify/zm6Cmt6E4cqfYphfuEVpYeeOByc>
Cc: Calsify <calsify@ietf.org>
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 18:12:42 -0000

Hi Ken, Barry,

--On February 3, 2015 at 12:51:43 PM -0500 Cyrus Daboo <cyrus@daboo.name> 
wrote:

>> 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.

I think the following would work:

RRULE:FREQ=YEARLY;RSCALE=HEBREW;SKIP=FORWARD;BYMONTH=5L,6;BYMONTHDAY=-1;BYSETPOS=1

In a leap year that would generate the last day of 5L and 6 and BYSETPOS 
would select 5L.

In a non-leap year that would generate the first day of 7 (the skip forward 
by month and by day) and the last day of 6, so BYSETPOS would select the 
last day of 6.

These complex rules would all be great things to include in an RSCALE test 
suite.

Of course all this just goes to prove Barry's point about trying to come up 
with a simple behavior that can be easily codified without having to write 
such complex RRULEs. But I would still prefer something that can be clearly 
represented in the rule and has a fixed default per calendar (with perhaps 
a BCP - or appendix in the current draft - that describes how common 
situations are handled: Hebrew calendar birthdays, Chinese calendar 
birthdays, other...).

-- 
Cyrus Daboo