Re: [calsify] New Draft - Maintenance Notifications Using iCalendar

Doug Royer <douglasroyer@gmail.com> Tue, 23 July 2019 19:55 UTC

Return-Path: <douglasroyer@gmail.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 28477120970 for <calsify@ietfa.amsl.com>; Tue, 23 Jul 2019 12:55:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.998
X-Spam-Level:
X-Spam-Status: No, score=-0.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 tUxdFVcFCowt for <calsify@ietfa.amsl.com>; Tue, 23 Jul 2019 12:54:59 -0700 (PDT)
Received: from mail-io1-xd32.google.com (mail-io1-xd32.google.com [IPv6:2607:f8b0:4864:20::d32]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2CF5D12099C for <calsify@ietf.org>; Tue, 23 Jul 2019 12:54:59 -0700 (PDT)
Received: by mail-io1-xd32.google.com with SMTP id i10so84408123iol.13 for <calsify@ietf.org>; Tue, 23 Jul 2019 12:54:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:cc:references:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=J1BaO6JuNHqRkfKIkbtR21rPMN8qy3QHH38A+y1C95k=; b=rie5hhTd/u6+ZRguWpjQnfte8f+IwzmGLX4p1QHChFsGtERxIJsc4PEb8hEZLJ9+BV 5BpRNiAep3td3dx3Yf2vpNVU8QCYQbqwCHIBVaj3Ud6jVHCbwU61DivmieY4n/bSoWDJ rw+lacMiXZsixZe3tDx/GGGVgx5rXOSb6yUvAWkKGe7wraXp0XMOO7VT2nsxLavHezoU ifpODw0d+3nm24LCXJsLws6XQqEJ61cXizX7RVVx3SI3ylyAoWC0FSFCB3pweRHgbu9g KJj09IpJ9nT+vGCEcxBHBf7bN44w3ZZBg7mROdDSb2ZMKg2m0YknrwQocy0KW3Tspbwy 6Niw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:cc:references:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=J1BaO6JuNHqRkfKIkbtR21rPMN8qy3QHH38A+y1C95k=; b=OmbHRrzJEKdeOECeUo/2XrO6qEBcIvTYvgCmWQF4P/D+tnlX6J8VGWj60/uyPn70WY gtksZvrKIadU44Mr2jgI//EoiaGhF7pzyJerUzbf2uagEEJkOprluhemqi+C58ARo/V5 LoFdUUR1I8nSe8oQTD7KxeGmULtu9JQnyzT5M6i2AHdJtJWNWRN0L0aq+o7vB9X5DQFw 3l7go7zMio7VjsVdyvGef2JXLR8SQlYwAX6zB1ukvsvdbNnnI6pj7/0skk4+Wro5OQEU Eqfp55AAEyzPuv3UIPXLDvt5GLIHJEfgH+IDby3bkAeCIrUWZw1DkOM9pQFQRVolkFd8 ZNpg==
X-Gm-Message-State: APjAAAUoDI2htC3k3yifijhiROMuUDx1BM3+9Gc1uTsDK0cNQKDSjHE0 EmWblUgZJpQRdLsIEkAaroT1elFObsDt
X-Google-Smtp-Source: APXvYqw+gGBzOLO0C6qkvSAimSxmNlKK4mUpHlej0tI5Q+jEvM+xEeb0WdS2wrpXiXZuWukgDL5+jw==
X-Received: by 2002:a5d:9d58:: with SMTP id k24mr71134240iok.116.1563911698218; Tue, 23 Jul 2019 12:54:58 -0700 (PDT)
Received: from [192.168.1.7] ([174.27.92.215]) by smtp.googlemail.com with ESMTPSA id m4sm39326186iok.68.2019.07.23.12.54.57 (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Tue, 23 Jul 2019 12:54:57 -0700 (PDT)
From: Doug Royer <douglasroyer@gmail.com>
X-Google-Original-From: Doug Royer <DouglasRoyer@gmail.com>
To: Ryan Gunter <rgunter@twitch.tv>
Cc: calsify@ietf.org
References: <CAOxZLy0VntDQYCrdvnpDcef3rPqXibqso36OwEjbFn4kdUSPWQ@mail.gmail.com> <f2eaac56-8604-ac3e-9749-cfa92a888416@fastmail.com> <f845a34d-7eb4-99fe-252a-49b15fedae49@gmail.com> <CAOxZLy2e9mv5QsDBpKv=us+jJ0R_i9Yp5q0aHz-0oFq7X+jeEg@mail.gmail.com> <a9a77a94-6eff-b6f8-7d37-56735f7331bf@fastmail.com> <CAOxZLy2UVWd8cv4pPTnyKFgPbWshh7CT82i5kLn4qUL=dBegLQ@mail.gmail.com> <12d2d82e-121f-3583-592b-fcbd17f2b0d1@gmail.com> <17ad7de3-5957-eb65-a052-d6f9f93f2b23@gmail.com> <acb24b57-62ce-3267-4828-c3e5b3057a0c@gmail.com> <CAOxZLy1dURTrXkbGNy+TQOF7x2fTF8dZ-yepU9EUd_AtygQ+3w@mail.gmail.com>
Organization: http://SoftwareAndServices.NET
Message-ID: <4a9a9e83-08b0-6d70-10d4-3c82a58ad398@gmail.com>
Date: Tue, 23 Jul 2019 13:54:56 -0600
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <CAOxZLy1dURTrXkbGNy+TQOF7x2fTF8dZ-yepU9EUd_AtygQ+3w@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/PeM_fsvh_0G2W0BENVeyS1C63ew>
Subject: Re: [calsify] New Draft - Maintenance Notifications Using iCalendar
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: Tue, 23 Jul 2019 19:55:09 -0000

On 7/23/19 9:02 AM, Ryan Gunter wrote:

> 
> Is this suggesting to use the ATTACH property with a defined data set from schema.org <http://schema.org>, or otherwise?  If that's the case, we could work with schema.org <http://schema.org> to define these data sets?  The original hope of the draft was to agree upon a way to provide network maintenance information within the file.  If we went with the ATTACH or STRUCTURED-DATA route, would there be a way to define this data set or method within the IETF?  I just want to make sure I understand the boundaries and drive this effort correctly.

One option is to create a new iCalendar component 'MAINTNOTE'  and include it inline, as in:

	...
	BEGIN:MAINTNOTE
	MAINTNOTE-PROVIDER:example.com
	MAINTNOTE-ACCOUNT: Twitch
	MAINTNOTE-MAINTENANCE-ID: WorkOrder-31415
	MAINTNOTE-OBJECT-ID: ABC123
	MAINTNOTE-IMPACT: OUTAGE
	MAINTNOTE-STATUS: CONFIRMED
	END:MAINTNOTE
	...

Which would be the 'iCalendar' way of doing it.

Another option is if the data structure does not easily translate to iCalendar format, you could attach it with something like this for an included attachment (where text/maintnode would be replaced with whatever mime-type is assigned to identify your data):

	...
	ATTACH;fmttype=text/maintnode;...:CID=maintnote-attach-id
	...

Or for an external object:

	...
	ATTACH;fmttype=text/maintnode;...:https://example.com/maintnote-attach
	...

The advantage to ATTACH is that email and calendar tools like outlook, Thunderbird, and others will see the data as an attachment and allow the user to drag/drop it, without new code needing to be written just to pull it out, or to copy/paste it.  Outlook, Thunderbird, and many other calendar clients already know how to handle ATTACH, even when they do not know what the mime-type does.  Minimal changes to make a maintnode aware calendar client. Zero changes needed when the iCalendar application can already handle ATTACH, and copy/paste is what you need.

And for custom iCalendar maintnode programs, MIME libraries already know how to handle mime multipart objects (CID or external). How an attachment is include in a mime object is already a standard. Custom maintnote processing code would just open the text/calendar MIME object and pull out the ATTACH;text/maintnote properties. Then call already implemented MIME libraries to extract the included maintnode attachments (a CID) and/or for fetching the URL provided for external maintnode attachments. Then your custom code does whatever it wants with the attachment and iCalendar data.

The structured-data proposal has no advantages, and it would complicate recognizing the data as an attachment or extra data and require outlook, Thunderbird, and all other calendar clients be re-written to extract out the maintnote data from the iCalendar object, or someone would have to write a plug-in for all email clients and calendar clients to extract the data. (vs just using an copy/paste or using existing MIME libraries).

As to schema.org. Any MIME object defined by them, can already be the content of an ATTACH iCalendar object. Just name the MIME-TYPE and provide the URL as the property value.

It is not a schema.org vs IETF decision. You can (or not) define it with schema.org. You can ATTACH it as a defined schema.org object, or attach it as a non-schema.org object. Both with ATTACH. (Or go the MAINTNOTE component way).

If it maps easily into iCalendar, use MAINTNOTE. If your data is part of a larger data set that is complicated, define it with schema.org, and iCalendar ATTACH it.

Hope this helps.

-- 

Doug Royer - (http://DougRoyer.US)
Douglas.Royer@gmail.com
714-989-6135