[calsify] URI properties in iCalendar

Ben Fortuna <fortuna@nodelogic.au> Sat, 06 April 2024 03:33 UTC

Return-Path: <fortuna@nodelogic.au>
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 3082DC14F6F7 for <calsify@ietfa.amsl.com>; Fri, 5 Apr 2024 20:33:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.229
X-Spam-Level:
X-Spam-Status: No, score=-1.229 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_SOFTFAIL=0.665, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IAsECJZ0SZ-Y for <calsify@ietfa.amsl.com>; Fri, 5 Apr 2024 20:33:02 -0700 (PDT)
Received: from mail-4022.proton.ch (mail-4022.proton.ch [185.70.40.22]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1FA31C14F721 for <calsify@ietf.org>; Fri, 5 Apr 2024 20:33:01 -0700 (PDT)
Date: Sat, 06 Apr 2024 03:32:55 +0000
To: "calsify@ietf.org" <calsify@ietf.org>
From: Ben Fortuna <fortuna@nodelogic.au>
Message-ID: <BjCf_WltrZGfaMfBxd1p5Qa8lloP8MIbH-u8SwvfMhfhgGUPJlDUQ304fcbcD43FVj8UFV2QLAsiVta8S9kxEbLWCe0FjMhIpLOYGHjcZqE=@nodelogic.au>
Feedback-ID: 103021374:user:proton
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="b1_D7YAyr64HAEL5IyJ7Ld3XwsfM9sjCZmq4wGNXfLtcU"
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/1NPSZJz_4Kg_ZWlxWoVeC3vMJfc>
Subject: [calsify] URI properties in iCalendar
X-BeenThere: calsify@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Calendaring and Scheduling Standards Simplification <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: Sun, 07 Apr 2024 00:22:28 -0000

Hi calext WG,

I have a query about the use of URI as a property type in iCalendar. I have reviewed the last couple of IETF calls and I think this may be a good place to ask.

STATUS/CLASS

I feel there is a limitation in the current iCalendar spec for some properties with a finite set of values.

For example, CLASS supports {PUBLIC|PRIVATE|CONFIDENTIAL}, and may be extended formally (iana-token) or informally with x-name values. [1] Whilst x-name is the intended way to support vendor-specific values, it doesn't really lend itself to formally defined extended values (i.e. via a referable schema), in the way a URI value could.

Similarly, STATUS supports a finite value set specific to each component type, but has no allowance for extension either formally or informally. [2] This can be an impediment to how, for example, tasks can be mapped from different systems such as JIRA, which allow a much more expanded and customizable set of values. [3]

I did note that the iCalendar task extensions draft introduces a new SUBSTATE property for improved granularity, but is still restricted to only formal extension via iana-token. [4]

URI Values

I think a possible solution to extension may be via support for URI values, in the same way as the recently introduced CONCEPT property. [5] This would allow for a finite set of extended values to be formally defined, without being limited by the iCalendar specifications.

One challenge I guess is how to handle extended values not supported by a CUA implementation. I see this as less of an issue for STATUS/CLASS as they are both optional properties (in all components?), so could safely be ignored if a value is not recognized.

So I guess I am wondering if you see URI as a possible or desirable approach to extended values in the future?

[1]: https://www.rfc-editor.org/rfc/rfc5545.html#section-3.8.1.3

[2]: https://www.rfc-editor.org/rfc/rfc5545.html#section-3.8.1.11

[3]: https://support.atlassian.com/jira-cloud-administration/docs/what-are-issue-statuses-priorities-and-resolutions/

[4]: https://www.ietf.org/archive/id/draft-ietf-calext-ical-tasks-07.html#name-sub-state

[5]: https://www.rfc-editor.org/rfc/rfc9253.html#name-concept

--
Ben Fortuna

https://www.linkedin.com/in/benfortuna|https://github.com/benfortuna