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

Дилян Палаузов <dilyan.palauzov@aegee.org> Wed, 07 August 2019 09:03 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 71898120315 for <calsify@ietfa.amsl.com>; Wed, 7 Aug 2019 02:03:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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, URIBL_BLOCKED=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 zS7LjbE_clBT for <calsify@ietfa.amsl.com>; Wed, 7 Aug 2019 02:03:32 -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 3A3FE120303 for <calsify@ietf.org>; Wed, 7 Aug 2019 02:03:31 -0700 (PDT)
Authentication-Results: mail.aegee.org/x7793RDU009917; auth=pass (LOGIN) smtp.auth=didopalauzov
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aegee.org; s=k4096; t=1565168608; i=dkim+MSA-tls@aegee.org; r=y; bh=d8kd01sdsrPLZW4h0j1MFHyFdC0OMjoXFn7GsPcODjA=; h=Subject:From:To:Date:In-Reply-To:References; b=BL4Dz9XuDsxBdIQVeRtOjkENahr/6L7vyRXj5oLD0yoKeH/6DKfL/N285fUwatTkc Ri2+1RsgUNs+oxqW5fRvp6gdDIZN0jYpq3Ct3zASHzaXxxK4FZZCSrDuspLjtS9Wuw MseidFmXIyX2xSrsFcRxrccEqbJohC3/M2pyM9qp4MkMCAyb/3zZLNFcgTbu6uc+W+ 6ZUSUETjPEQJN7EJcwOKPipxGI4k+Ih4IdvEcF62SfxZFkWEwQAqv4werL/260a3hn 1MehxRHK8w0hVjZdNHcKh3PVIbJASDSJ7Xuw1LeUe1AC/+acOFUZFxa56WkegYccA7 2CFiFW0iYwAzJdWmpwSp80x/WDaIUQ3JBWpo4g3LnKxHDm1JVQ/ajVqS3pqTij8B1w O8em5I0+hhuajzlzE7bSIDaExwYuO7R0i3Aypg9t0NORyWv0HdrxEpcc1EhZA71t+5 SkpzZHtQ0o45pBbap/yLQVkl2z9IOOfyCLX44I/YGK6DtpKk7hGrjxp1U9cKguVwO6 I2DM2NGRErxTZOlxJa0lX8x+azvhR2jh0MkrRTY+8gv3roCDUIDgltDgF3pBnFXlQr Da90bgtMzdRyn5GWbEEIg9VQbjK/KTm5pIrrsxdg9mVjo9Jr5QRBCSe+q6InoYRC4y 85iBRJWqYhYIUrdRIpsVZd9A=
Authentication-Results: mail.aegee.org/x7793RDU009917; 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 x7793RDU009917 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Wed, 7 Aug 2019 09:03:28 GMT
Message-ID: <c454aed9e4be88d42b04816b0aa2c849608967a9.camel@aegee.org>
From: Дилян Палаузов <dilyan.palauzov@aegee.org>
To: Doug Royer <douglasroyer@gmail.com>, calsify@ietf.org
Date: Wed, 07 Aug 2019 09:03:27 +0000
In-Reply-To: <bafbec6a-2c65-349f-92fc-d6706a79f1a3@gmail.com>
References: <521fb368aebb4294888468efaf1dceace864fa97.camel@aegee.org> <bafbec6a-2c65-349f-92fc-d6706a79f1a3@gmail.com>
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/NVuRaQQcPh260UzUDaxvQMXt1xc>
Subject: Re: [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: Wed, 07 Aug 2019 09:03:34 -0000

Hello Doug,

to force the server to use METHOD=CANCEL, the CUA has to use the HTTP DELETE verb.  It is not possible to add anything
to the deleted object, as DELETE currently does not have payload.

To modify the iCalendar object, like changing the description or adding comment, one has to use the HTTP PUT verb.

When HTTP PUT is used, one iMIP message is generated and when HTTP DELETE is used, another iMIP message is generated.

Regards
  Дилян

On Tue, 2019-08-06 at 15:29 -0600, Doug Royer wrote:
> I have not done HTTP based calendar code, but this seems valid:
> 
> Could you just add a COMMENT to the METHOD CANCEL object when you iMIP the cancel?
> In the COMMENT, explain why. No need to update the DESCRIPTION or SUMMARY.
> 
> 3.8.1.4.  Comment
> 
>     Property Name:  COMMENT
> 
>     Purpose:  This property specifies non-processing information intended
>        to provide a comment to the calendar user.
> 
> 
> On 8/6/19 4:35 AM, Дилян Палаузов wrote:
> > 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
> >    Дилян
> > 
> 
>