Re: [calsify] JSCalendar: alternative to current all-day events

"Robert Stepanek" <rsto@fastmailteam.com> Mon, 17 June 2019 16:15 UTC

Return-Path: <rsto@fastmailteam.com>
X-Original-To: calsify@ietfa.amsl.com
Delivered-To: calsify@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5ADC21202CA for <calsify@ietfa.amsl.com>; Mon, 17 Jun 2019 09:15:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b=Rc2A3S26; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=0BPt/0XO
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 rCINAKlvTE4z for <calsify@ietfa.amsl.com>; Mon, 17 Jun 2019 09:15:13 -0700 (PDT)
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com [64.147.123.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2D1701202BF for <calsify@ietf.org>; Mon, 17 Jun 2019 09:15:10 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id A4A1F8FF for <calsify@ietf.org>; Mon, 17 Jun 2019 12:15:09 -0400 (EDT)
Received: from imap7 ([10.202.2.57]) by compute1.internal (MEProxy); Mon, 17 Jun 2019 12:15:09 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=mime-version:message-id:in-reply-to :references:date:from:to:subject:content-type; s=fm2; bh=G1INDh1 dtFw8PJ78/NG7N/1iWfUIP7e6MzHpVg3tmsY=; b=Rc2A3S26ySWpoJhBybupo1N ZTnoVZJI3ufW7bcPyjF9XqNwylEjQMDHfA/oDYU3rNNRQi591eyf6jnRu1P89xOg jTfK+ssQBF3Qqq1dRyHFYYw36YvJbpuWdeBj5XFeZPbFUaudRTpBU3hH4tJVqHHp 3bn/z7qYfPqPMUfGVs7iJa+1TG+3/H/L1Ab1ryklKCJ2ZBaYC4T9t/LnFTUkAzN+ i6H8OIQ/OIdOQbboxnWsli9dhH9cIm1h5jnKdjaUiXXKnJqGHG+rBAJ/o5R1C3WQ 9mEw89xWqFcef7OnUwCRYxzMADN+V7osLyChPr/+Ba/7d6nyNzW9XLbF64bMh2A= =
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=G1INDh 1dtFw8PJ78/NG7N/1iWfUIP7e6MzHpVg3tmsY=; b=0BPt/0XOd3lZSL1D14ohCn 6//MdzLc3JcWR6z8ajCqK+Idmg9MgF6CtUfSUpZi0d+g4vhe7h1EifraB7ru986t S8arr3dE8IOEVmSAasgLYdd0FTkIEtz35+KEQS2u/pkt4qZOzSqBzmwKdLiaBgzT MkKWar2qT92FNPrMKo8sXZkf06C+0RMtdSZbuAs9lUWz8fcebHFAzo3jv69Si3Au mhzTQzFI7psO+D3MQ3AKUczHbHhjhySkemi6yJ8+zF/zv7msoT3MFM1bkMom6vo0 FeQK27420nX0KguX3TR/iHGc3c1rHQqk4BLQ76H63cH/LN/N5iZVip0k7+ZUeq6A ==
X-ME-Sender: <xms:jLwHXRtDTQiPkW08LokPpSnbCpbCs-I3HV5Hiy_GJZQaWmK_NKFOUA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrudeijedgleelucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtsegrtd erreerredtnecuhfhrohhmpedftfhosggvrhhtucfuthgvphgrnhgvkhdfuceorhhsthho sehfrghsthhmrghilhhtvggrmhdrtghomheqnecuffhomhgrihhnpehivghtfhdrohhrgh enucfrrghrrghmpehmrghilhhfrhhomheprhhsthhosehfrghsthhmrghilhhtvggrmhdr tghomhenucevlhhushhtvghrufhiiigvpedt
X-ME-Proxy: <xmx:jLwHXbwtXNZjlBIDCkshUoCQ-d7WzxojJCDq89xmPYwgPruiaXZCyw> <xmx:jLwHXXOo0BU0LJpfCs4kHnpBYNbHgoLm81sHGJABSXiC22UjnPRg7w> <xmx:jLwHXd1K8A1PCDGk9r6CazehnhMx7b8EEJIwZ-gFvSeorYg_b1DPDQ> <xmx:jbwHXaz22jJQ2gItIGQVaMZ7Rv69KykIJnjH-H69QI8_fVvIo4ehxg>
Received: by mailuser.nyi.internal (Postfix, from userid 501) id AED101806DD; Mon, 17 Jun 2019 12:15:08 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.1.6-666-gb2312fa-fmstable-20190614v4
Mime-Version: 1.0
Message-Id: <8591f785-e075-4e71-b1ef-b30afe11aa5a@www.fastmail.com>
In-Reply-To: <7ec4462f-9e69-409e-9925-6f0beae7424c@www.fastmail.com>
References: <7ec4462f-9e69-409e-9925-6f0beae7424c@www.fastmail.com>
Date: Mon, 17 Jun 2019 18:14:54 +0200
From: Robert Stepanek <rsto@fastmailteam.com>
To: calsify@ietf.org
Content-Type: multipart/alternative; boundary="2fd0060f27a94ed1aa1f39734d173e37"
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/JSTdy8VcE98k-mudmOvfc9gcRlM>
Subject: Re: [calsify] JSCalendar: alternative to current all-day events
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.29
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: <https://mailarchive.ietf.org/arch/browse/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: Mon, 17 Jun 2019 16:15:17 -0000

I have uploaded RFC draft version 15 which now includes the proposed changes. I chose to keep the name "isAllDay" for the property, rather than renaming it to "showAsAllDay". I also removed the "isAllDay" property entirely from the JSTask object.

See https://tools.ietf.org/html/draft-ietf-calext-jscalendar-15#section-5.1.4

>From my initial analysis, the mapping to iCalendar is rather simple:
 * If the JSEvent timeZone is null, the start time has zero time, and the duration is a multiple of days or weeks, then DTSTART is of type DATE. In this case, clip off any non-zero time from the recurrence rule "until" property.
 * Otherwise map "start" to a DTSTART of type DATE-TIME.
 * I also consider using a new iCalendar boolean property IS-ALL-DAY to cleanly map "isAllDay".

I will update the informational iCalendar mapping guideline accordingly.

Cheers,
Robert

On Thu, Jun 6, 2019, at 5:56 PM, Robert Stepanek wrote:
> One of the repeatedly discussed topics in JSCalendar is how to model all-day events.
> 
> Specifically, variants of the following uses repeatedly come up, where the current JSCalendar model seems not to be adequate:
> 
>  * Calendar users create an event starting e.g. 8am and ending 7pm, but want to view this an all-day event in their UI. The current model misses a flag to express this, as the isAllDay property is not appropriate to indicate the user intention.
>  * Calendar users want to set their calendar on their birthday, when they only would like to set it for the complete day in their usual time zone. They still want it to show up as an all-day event in their UI.
> 
> In both cases, developers thought to use the isAllDay property to express a user intention, but came they learn they couldn't.
> 
> This is reason enough to revisit that part of the specification and discuss alternatives.
> 
> *Currently*:
>  * Any event MUST define a start property value in the form "YYYY-MM-DDTHH:MM:SS[.DIGITS]"
>  * An all-day event:
>    * MUST have the isAllDay property set to "true"
>    * MUST NOT have a non-zero time in the start and duration property values
>    * MUST NOT define a time zone
>  * Any other event:
>    * MUST have the isAllDay property set to "false"
>    * MAY define non-zero time in start, duration
>    * MAY set a timeZone.
>  * This allows to model iCalendar DATE, local DATE-TIME, floating DATE-TIME, UTC DATE-TIME.
> 
> *Alternative*:
>  * The isAllDay boolean property gets removed.
>  * A new showAsAllDay boolean defines how the user intends to view this event. Setting this property does not have any implications on the allowed values in the event time properties.
>  * The start, duration, timeZone properties and their recurrence overrides can all can be defined independently. The recurrenceRule{until} property also can be defined independently.
>  * It is up to implementations to convert this time model to iCalendar. Most probably:
>    * an event with zero time in start, duration, until and no time zone will be converted DATE value types
>    * an event with no time zone will be converted to a local DATE-TIME without TZID
>    * otherwise it will be a DATE-TIME with TZID or UTC DATE-TIME
> 
> What do you think? Did we miss something?
> 
> Cheers,
> Robert
> 
> 
> 
> 
> 
> _______________________________________________
> calsify mailing list
> calsify@ietf.org
> https://www.ietf.org/mailman/listinfo/calsify
>