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

Daniel Migault <daniel.migault@ericsson.com> Mon, 17 June 2019 16:18 UTC

Return-Path: <daniel.migault@ericsson.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 48BCC12031D for <calsify@ietfa.amsl.com>; Mon, 17 Jun 2019 09:18:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.01
X-Spam-Level:
X-Spam-Status: No, score=-2.01 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_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.com
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 RQoo_0AkAUya for <calsify@ietfa.amsl.com>; Mon, 17 Jun 2019 09:18:18 -0700 (PDT)
Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-eopbgr780048.outbound.protection.outlook.com [40.107.78.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DB166120269 for <calsify@ietf.org>; Mon, 17 Jun 2019 09:18:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tN1zln8Kj+cLoH3rtJWGq14tRsOhpcEy20DQXO64rcc=; b=eO/gVLZczWRq2yWPQo5PFiQTBfjs5sRvgCPE3+gwEg5oO3ewGd52O+W6qeKl7/fPVkcnumo2WKvvxECYjJqFOg5GjOXkpFYoYMDYHZ11S9wQyUkJaPByk5isSNw8lDQyFe803SEcfn/Wjp/9/Dn5e5rlgzVNlHvzajDkQWifphM=
Received: from DM6PR15MB3531.namprd15.prod.outlook.com (10.141.164.29) by DM6PR15MB2985.namprd15.prod.outlook.com (20.178.231.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.11; Mon, 17 Jun 2019 16:17:59 +0000
Received: from DM6PR15MB3531.namprd15.prod.outlook.com ([fe80::15f0:ad13:112d:529d]) by DM6PR15MB3531.namprd15.prod.outlook.com ([fe80::15f0:ad13:112d:529d%7]) with mapi id 15.20.1987.014; Mon, 17 Jun 2019 16:17:58 +0000
From: Daniel Migault <daniel.migault@ericsson.com>
To: Robert Stepanek <rsto@fastmailteam.com>, "calsify@ietf.org" <calsify@ietf.org>
Thread-Topic: [calsify] JSCalendar: alternative to current all-day events
Thread-Index: AQHVHIBx+fLBwFvQJUyJaCxTZRiMbKagFpcAgAAAXuA=
Date: Mon, 17 Jun 2019 16:17:58 +0000
Message-ID: <DM6PR15MB3531538370731F00D0363A6CE3EB0@DM6PR15MB3531.namprd15.prod.outlook.com>
References: <7ec4462f-9e69-409e-9925-6f0beae7424c@www.fastmail.com> <8591f785-e075-4e71-b1ef-b30afe11aa5a@www.fastmail.com>
In-Reply-To: <8591f785-e075-4e71-b1ef-b30afe11aa5a@www.fastmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=daniel.migault@ericsson.com;
x-originating-ip: [192.75.88.130]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 41c8e1a4-9666-4fb7-e5d0-08d6f33f5d18
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:DM6PR15MB2985;
x-ms-traffictypediagnostic: DM6PR15MB2985:
x-ms-exchange-purlcount: 4
x-microsoft-antispam-prvs: <DM6PR15MB298581BB92CBDC0B35FDBE35E3EB0@DM6PR15MB2985.namprd15.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0071BFA85B
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(39860400002)(136003)(346002)(376002)(366004)(199004)(189003)(25786009)(3846002)(5660300002)(6246003)(14454004)(8936002)(52536014)(2906002)(229853002)(6436002)(110136005)(71200400001)(71190400001)(256004)(486006)(966005)(6306002)(81156014)(81166006)(14444005)(6116002)(790700001)(446003)(476003)(9686003)(33656002)(11346002)(44832011)(236005)(53936002)(64756008)(66556008)(7736002)(66446008)(86362001)(76176011)(66066001)(478600001)(26005)(316002)(2501003)(55016002)(8676002)(54896002)(186003)(99286004)(68736007)(102836004)(73956011)(76116006)(66946007)(6506007)(66476007)(74316002)(606006)(53546011)(7696005); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR15MB2985; H:DM6PR15MB3531.namprd15.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: PSimi5smoffVffpXczcS7GRWv/vxwo2JNMr49YqNWYiOYqc0LXZJjQGFJHaMd/PIihVlQKBpyhuptgc4WY2XBLgBl2AhVb97ekvL7i6ZC252+2q/c3WsROx+59tnrmrOdTpVGGDlJ+38JXUaKBuUcrwMbvNwbGs2WfvALhkQ4PVqYGgjUWxeywkSa1OEjw91v1Dz2O/6K+MswgAlEGUtNFbJbKMEAlecEoKRRadC9A8IInxz/JFj9usH4k3Ct/YM3LryaGtJIF+CYw0T82AvLn7Z8U9tYVbkGTEiQ/7AacO65NwgK9knQXaH0mRyuOeQ6n/57MhuS20PYLMxPNWrmOH9C156005ufnKTihzH6CJ1YrubLGODa2xPfe2KaZgLJUnRLjV6NJfzmFbQYaUoYqbyApx0d3/fU+6QF5P2fSE=
Content-Type: multipart/alternative; boundary="_000_DM6PR15MB3531538370731F00D0363A6CE3EB0DM6PR15MB3531namp_"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 41c8e1a4-9666-4fb7-e5d0-08d6f33f5d18
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2019 16:17:58.8436 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: daniel.migault@ericsson.com
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR15MB2985
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/9bs0fgqxknnLYhCJYfmXey9hB8Q>
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:18:21 -0000

Thanks Robert for the clarification. If there are any other point to discuss or that are raising concerns, please let us know as we are close to move the document forward.
Yours,
Daniel

From: calsify <calsify-bounces@ietf.org> On Behalf Of Robert Stepanek
Sent: Monday, June 17, 2019 12:15 PM
To: calsify@ietf.org
Subject: Re: [calsify] JSCalendar: alternative to current all-day events

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<mailto:calsify@ietf.org>
https://www.ietf.org/mailman/listinfo/calsify