[calsify] The two ways of cancelling an event by an organizer

Дилян Палаузов <dilyan.palauzov@aegee.org> Tue, 06 August 2019 10:36 UTC

Return-Path: <dilyan.palauzov@aegee.org>
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 50AB812022E for <calsify@ietfa.amsl.com>; Tue, 6 Aug 2019 03:36:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (4096-bit key) header.d=aegee.org
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 hEyNYdyET6ST for <calsify@ietfa.amsl.com>; Tue, 6 Aug 2019 03:36:08 -0700 (PDT)
Received: from mail.aegee.org (mail.aegee.org [144.76.142.78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 837DD120147 for <calsify@ietf.org>; Tue, 6 Aug 2019 03:36:08 -0700 (PDT)
Authentication-Results: mail.aegee.org/x76AZwL1001608; auth=pass (LOGIN) smtp.auth=didopalauzov
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aegee.org; s=k4096; t=1565087763; i=dkim+MSA-tls@aegee.org; r=y; bh=s5yD26nMrCth1qeWDGfOsV6l4+69vVuI/4OAxby/Ghg=; h=Subject:From:To:Date; b=XOaL98IMC6TPGzDcFz8UlhSJFiMLP6ZbYfVypdwOb9e3PfsMONV1jyZlELW/L7Qe6 bWLgQJSyIZPe8lxyskHE+YW/sV2jTD3OCF5qThx5FOlYURonABByLh5k6xSCa0DKTl IKNmQfl+lnrz9WLM7yyvMdq/3mcBoBAm4Z5UVKe2KPYZHzHj+4oyBtyEs/6bsD/dY2 9ddeQHC9nQpMcsAXfZ5WyTJO3TGQ+7gu1xoCzwmMMUGnWegUAMzU8UpOKhrpP+0JWe 3m/QYR2Fbe5qkpjEizNSE/GdEvouqDWuzYWUNoA2jjw71ZLLTyQNLOhFMBQ505F5Ip yQ1d/o7bX0U+YwbcwPfujkIFIxML1zpTcxLs2gMAcQuw1vV+/W1V0wPDF725UdVnov +ieTiundxp4sS5wW7xQMhxzvWPxib1Bw8mGJo3E77Oi+UeCPzWUULPJbcYomBqachg R41rWdl1nM6CNBHvNAie5qdND0n8hz4o7qIWXoqmC1QIxLRL21++MB6rOmnXDW4rDp 90UWKgtWFsPTg/S4/BIlWldih9jMHMK43m107SYuRptzc+4Xx9M0OOkT6TjxD2N03j 8z/arcksXAnyB87wx7sUCbZKwG01zsEeiT9zbPMT48SjbkoJEcdK0fNrxMadZcmi2P g96q+lT9LoIbK5JdBnA8PpZA=
Authentication-Results: mail.aegee.org/x76AZwL1001608; dkim=none
Received: from Tylan (87-118-146-153.ip.btc-net.bg [87.118.146.153]) (authenticated bits=0) by mail.aegee.org (8.15.2/8.15.2) with ESMTPSA id x76AZwL1001608 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO) for <calsify@ietf.org>; Tue, 6 Aug 2019 10:35:58 GMT
Message-ID: <521fb368aebb4294888468efaf1dceace864fa97.camel@aegee.org>
From: Дилян Палаузов <dilyan.palauzov@aegee.org>
To: calsify@ietf.org
Date: Tue, 06 Aug 2019 10:35:58 +0000
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.33.90
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: clamav-milter 0.101.2 at mail.aegee.org
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/calsify/WN_AIaTWBvmZzlxhMeT5cTCgewA>
Subject: [calsify] The two ways of cancelling an event by an organizer
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, 06 Aug 2019 10:36:11 -0000

Hello,

when an organzer cancels an event, the organizer shall be able to change the description of the event, explainging why
the event was cancelled and then send METHOD=CANCEL iMIP message to the attendees.  The attendees shall get a single
iMIP message, containing both the updated description and METHOD=CANCEL.

How can the genaration of a single iMIP message be achieved in terms of HTTP Scheduling?

There are two ways to cancel an event by an orginizer: delete it from the calendar or set STATUS:CANCELLED.

With CalDAV Scheduling Extensions, Attendees, and iMIP message generation by the server, when the organizer cancels an
event, the attendees shall get a 

Content-Type: text/calendar; charset=utf-8; method=CANCEL; component=VEVENT

message.

Moreover, RFC 5546 “iTIP” says that for VEVENT the Content-Type can contain method=REQUEST only when the status of the
message is TENTATIVE or CONFIRMED.  When the STATUS of the message is CANCELLED the method must be CANCEL.

Changing the STATUS of an event to CANCELLED and PUTting the new event over HTTP is modifying the VEVENT.  Doing HTTP
DELETE is removing the event.  RFC 6638 (Scheduling Extensions to CalDAV) says in sections 3.2.1.2 and 3.2.1.3 that when
the iCalender object is modified, then the METHOD is REQUEST and when the iCalendar object is removed, the method is
CANCELLED.

That sayd, when the organizer HTTP DELETEs an event, the generated iMIP is wih method=CANCEL and STATUS: CANCELLED.

HTTP PUTting an event with STATUS:CANCELLED is valid operation.

What shall happen, when the organizer sets the event STATUS to CANCELLED?  Shall it generate method=CANCEL iMIP
messages, or generate no iMIP messages?

When an event is CANCELLED, I want to change the description of the message, stating why the event was cancelled and
sent a METHOD=CANCEL message to the attendees.  The attendees shall get a single message.

If I change the description and HTTP PUT the event, then for the server is feasible to distribute an iMIP update
messages to the attendees.  If I HTTP DELETE on the next step the event, attendees will get a second message.

So, what shall happen here?

A. WebDAV-Lock the iCalendar object, modify the icalendar desription, PUT the modified object, DELETE the object und
UNLOCK the object, so that the server can generate a single message.  (Not so efficient.  With DELETE there is likely
implicit UNLOCK).

B. Submit the content of the modified object with the DELETE verb.  The content is submitted, as if the verb was PUT,
but returning ETAG and Scheduling-Tag on DELETE does not make sense.

I cannot find examples in RFCs for DELETE with content/payload, but neither can I find text preventing the
content/payload.  In particular https://tools.ietf.org/html/rfc7231#section-4.3.5 (HTTP/1.1 definition) says for DELETE:

   A payload within a DELETE request message has no defined semantics;
   sending a payload body on a DELETE request might cause some existing
   implementations to reject the request.

Can this be clarified by erratum to RFC6638 “Scheduling Extensions to CalDAV”?

Regards
  Дилян