Re: [VCARDDAV] New Date Range Proposal

Cyrus Daboo <cyrus@daboo.name> Wed, 13 October 2010 13:52 UTC

Return-Path: <cyrus@daboo.name>
X-Original-To: vcarddav@core3.amsl.com
Delivered-To: vcarddav@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8DDB33A67FD for <vcarddav@core3.amsl.com>; Wed, 13 Oct 2010 06:52:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.546
X-Spam-Level:
X-Spam-Status: No, score=-102.546 tagged_above=-999 required=5 tests=[AWL=0.053, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GlFUYy5ILN2S for <vcarddav@core3.amsl.com>; Wed, 13 Oct 2010 06:52:51 -0700 (PDT)
Received: from daboo.name (daboo.name [151.201.22.177]) by core3.amsl.com (Postfix) with ESMTP id 779C93A693D for <vcarddav@ietf.org>; Wed, 13 Oct 2010 06:52:29 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by daboo.name (Postfix) with ESMTP id D9C761A4B4433; Wed, 13 Oct 2010 09:53:43 -0400 (EDT)
X-Virus-Scanned: amavisd-new at daboo.name
Received: from daboo.name ([127.0.0.1]) by localhost (chewy.mulberrymail.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jb0midY-t7Gi; Wed, 13 Oct 2010 09:53:43 -0400 (EDT)
Received: from caldav.corp.apple.com (unknown [17.101.32.44]) by daboo.name (Postfix) with ESMTPSA id C4A4E1A4B4428; Wed, 13 Oct 2010 09:53:42 -0400 (EDT)
Date: Wed, 13 Oct 2010 09:53:39 -0400
From: Cyrus Daboo <cyrus@daboo.name>
To: Renato Iannella <renato@iannella.it>, CardDAV <vcarddav@ietf.org>
Message-ID: <CA559815ABA7C60989E28CA2@caldav.corp.apple.com>
In-Reply-To: <C3F94B45-CC5F-4137-8D56-53F96F4AC17B@iannella.it>
References: <443A4296-7568-4731-BC29-732951F36859@iannella.it> <4CAB1286.8010201@atlantika-arts.net> <74967108-1179-477B-8E7C-8119F0DEC26F@iannella.it> <4CAF14B6.5030903@viagenie.ca> <C3F94B45-CC5F-4137-8D56-53F96F4AC17B@iannella.it>
X-Mailer: Mulberry/4.1.0a1 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; size="2324"
Subject: Re: [VCARDDAV] New Date Range Proposal
X-BeenThere: vcarddav@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: IETF vcarddav wg mailing list <vcarddav.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/vcarddav>, <mailto:vcarddav-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/vcarddav>
List-Post: <mailto:vcarddav@ietf.org>
List-Help: <mailto:vcarddav-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/vcarddav>, <mailto:vcarddav-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Oct 2010 13:52:56 -0000

Hi Renato,

--On October 13, 2010 2:03:13 PM +1000 Renato Iannella <renato@iannella.it> 
wrote:

> STEP 1 - Add new DATE-RANGE Property Value Data Type
> ===========================
>
> 4.3.6.  DATE-RANGE
>
>  A complete representations of time intervals identified by start and end
> as specified in [ISO.8601.2004] section 4.4.4.
>
>  Representations (for Date and Time) with reduced accuracy are allowed.
>
>  Examples for "date-range":
>
>     2000-01-25T12:30:00/2005-02-25T12:30:00
>     2000-01-25/2005-02-25
>     2000-01/2005-02
>     2000/2005

We need to allow for open-ended ranges, i.e., ones where the start or end 
are not specified. I am not sure that ISO8601 provides for that, so we may 
need to adjust the syntax for our needs (e.g. use a single "*" to indicate 
open ended - so 2001/* means from 2001 onwards).

We need to be clear about whether the start and end represent "inclusive" 
or "exclusive" values. In iCalendar the DTSTART value is inclusive, but 
DTEND is exclusive (i.e. the end time is actually the first instant of time 
after the event, not the last instant of time in the event). For example, 
if I have two telephone numbers active over different but adjacent time 
periods, with the second one starting in 2003, do I specify:

TEL;EFFECTIVE-DATES=*/2003:xyz
TEL;EFFECTIVE-DATES=2003/*:abc

or

TEL;EFFECTIVE-DATES=*/2002:xyz
TEL;EFFECTIVE-DATES=2003/*:abc

The former assumes an exclusive end, the later an inclusive end.

I would prefer the value type name to be "PERIOD" to align it with 
iCalendar.

> STEP 2 - Add new EFFECTIVE-DATES Property Parameters
> ===========================
>
> 5.14.  EFFECTIVE-DATES
>
>    The EFFECTIVE-DATES parameter is optional, and is used to indicate
> that the    corresponding instance of a property was effective (or valid)
> over the specified    time period.
>
>    When the parameter is absent, the default MUST be to interpret the
>    property instance as being current.
>
>    This parameter MAY be applied to any property that allows multiple
>    instances.
>
>    ABNF:
>
>            effective-dates-param = "EFFECTIVE-DATES=" date-range

The value should be a list of date-ranges to allow for specifying multiple 
non-contiguous ranges on a single property.

We could probably shorten the name to just "EFFECTIVE".

-- 
Cyrus Daboo