Re: [dispatch] Proposal for Per Resource Events Protocol
Rahul Gupta <cxres@protonmail.com> Thu, 02 November 2023 18:57 UTC
Return-Path: <cxres@protonmail.com>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 93FF2C15154D for <dispatch@ietfa.amsl.com>; Thu, 2 Nov 2023 11:57:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.103
X-Spam-Level:
X-Spam-Status: No, score=-2.103 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=protonmail.com
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 pXY-QKSHdXiG for <dispatch@ietfa.amsl.com>; Thu, 2 Nov 2023 11:57:49 -0700 (PDT)
Received: from mail-40135.protonmail.ch (mail-40135.protonmail.ch [185.70.40.135]) (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 30C51C15153F for <dispatch@ietf.org>; Thu, 2 Nov 2023 11:57:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1698951466; x=1699210666; bh=VXYXZOf2hk9zfNwmEzULb576Vj4URjjvQTD8eb36870=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=G0U5iaMXLyV9hPfXuDNRFWtzCC99W8SCU4VQGjTrYTvdKlRLzcqE+CPwerJICbS4G 4Qez3vPUln5n2l7s4CCh5zcQjRQRC3K9eKfXfiFH4+vGrgfvL/kSG70H0PsBipBXCS Tg9Ax2hP8w+AKR6vZrvIVtrTikGji+tLcuPFIoGEqrfhzOXmhwl8O6OxfdHwzZJffB 5jVInYtE7liBt1hVM7gVVmgCdgtZ2Wx89y48UeVWYsgII8nyd2DCvfJIu3PwBsB4dV kSRibFcQwDM4OJSKJYvPbZFsKYmQ+fsON3ATW0dTDQwBL2HOVabwqyNuXmtdSsRqMd v5IvWX66BHciA==
Date: Thu, 02 Nov 2023 18:57:25 +0000
To: Kévin Dunglas <kevin@dunglas.fr>
From: Rahul Gupta <cxres@protonmail.com>
Cc: Rahul Gupta <cxres=40protonmail.com@dmarc.ietf.org>, dispatch@ietf.org
Message-ID: <X15qH_spieYH_PEJhV1M79fkUyEu30Uxt3HwcYl0VNNpV5A-TZ-CLy3pRVPoXLDBUpnTGkYeQq-qTxRG8GRSIOfQkV_mkHp1I8-zGbsza4I=@protonmail.com>
In-Reply-To: <CADU7aotY+EL8vJYZAXAUrubfOCUJbWYUzYUGB+HmeyJyupYUyw@mail.gmail.com>
References: <87lebuz6nh.fsf@hobgoblin.ariadne.com> <o_LYdaByeDM_mxWhT6OO5PR8fya6PrYRVXreGZ8Ks6ncDUVOlZa-q7JnIHISCwrJucrxxQm0fgJBS9Fbg0HNfwZXQwBXhhSf3lsbXwcTuPQ=@protonmail.com> <CADU7aotY+EL8vJYZAXAUrubfOCUJbWYUzYUGB+HmeyJyupYUyw@mail.gmail.com>
Feedback-ID: 919445:user:proton
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg="pgp-sha256"; boundary="------de93634fa9244887890b0b92aa1f0a9411e3dc30870ae0e3420dd837c23d3c86"; charset="utf-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/zk_C4rGBHge_E2igYKIJxQXUruU>
Subject: Re: [dispatch] Proposal for Per Resource Events Protocol
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 02 Nov 2023 18:57:54 -0000
Hi Kevin, I recall looking at Mercure sometime during (or maybe a bit after) the design of PREP. We indeed share the same goals in that we want to extend SSE to be much more general, such as to support content negotiation for pub/sub. But, as I understand, we approach the problem architecturally from slightly different perspectives, perhaps due to the different use cases in which we first encountered the notifications problem. You might want to also have a look at Solid Notifications Protocol (and its HTTP Streaming variant) which in other ways (discovery mechanism, specifying topic resources etc.) is also quite similar to Mercure (but uses RDF for notifications). Happy to discuss how we can work together. Will you be there at IETF 118? BR/Rahul On Thursday, November 2nd, 2023 at 10:43 PM, Kévin Dunglas <kevin@dunglas.fr> wrote: > Hi Rahul, > > Our team has been working for several years on a very similar protocol called Mercure: > > * Up-to-date spec: https://mercure.rocks/spec > * Older I-D: https://www.ietf.org/archive/id/draft-dunglas-mercure-06.html > > The main difference is that we basically "ported" and extended the WebSub protocol (https://www.w3.org/TR/websub/) ro work over SSE. > This approach has the benefits of working everywhere (even in HTTP/1.1 contexts), to be easy to make compatible with environments not able to maintain persistent connections (PHP, serverless, CGI etc) and to be very easy to implement (no code nor SDK required client-side). > > Also, Mercure is already implemented and used in the wild by a lot of existing apps, and free software tools (including the popular Symfony web framework): https://mercure.rocks/spec#implementation-status > It also a very dynamic community on GitHub: https://github.com/dunglas/mercure > > Our previous attempt to "promote" the spec as a RFC didn't get much feedback (https://lists.w3.org/Archives/Public/ietf-http-wg/2020JulSep/0020.html) so we are in the process of submitting the spec as independent submission. > > I'm glad to see that there seems to be a desire to standardize something on this subject (PREP, Braid...). > > Would you and Michael be available to discuss how both specs can work together? > > Best regards, > > > On Mon, Oct 23, 2023 at 7:30 AM Rahul Gupta <cxres=40protonmail.com@dmarc.ietf.org> wrote: > > > Dale, > > > > Thank you (again!) for your interest and feedback. See responses interleaved! > > > > BR/Rahul > > > > ------- Original Message ------- > > On Monday, October 23rd, 2023 at 3:00 AM, worley@ariadne.com <worley@ariadne.com> wrote: > > > > > > > Rahul Gupta cxres=40protonmail.com@dmarc.ietf.org writes: > > > > > > > I have submitted my proposal for the Per Resource Events > > > > https://github.com/CxRes/prep Protocol as an > > > > Internet-Draft > > > > https://datatracker.ietf.org/doc/draft-gupta-httpbis-per-resource-events/ > > > > > > > > > A few bits: > > > > > > - Section 5.1 seems to introduce "event fields" but it doesn't provide > > > any description of what they are. This is particularly treacherous > > > because the use of "fields" in "event fields" evidently does not mean > > > exactly the same thing as "header fields" (as event fields aren't > > > header fields), but are likely to have the same names as header > > > fields, and event fields have values in some (different) way, which > > > values have similar semantics to the corresponding header field > > > values. > > > > I do explicitly define "event fields" in 3.5 Terminology. > > > > Would you like me to expand on it or put it in a different manner? Or would you like a more explicit link back on first use in each major section? > > > > > > > > - A few fairly complete examples would help. In particular, I think > > > that the concept is that PREP is started by the client sending a GET > > > containing the appropriate headers, then the server sends the header > > > of a response containing the appropriate headers, then the first part > > > of a multipart body and the first body part (containing the current > > > state of the resource), then a multipart divider ... then possibly a > > > delay ... then a second body part (containing the first update), then > > > a multipart divider ... then possibly a delay ... But I don't think > > > this is stated clearly near the beginning, nor is a complete example > > > given. > > > > Given that you seem to describe PREP so well, it feels like the situation is pretty good ;). There is also a cultural aspect here, I am still relatively unfamiliar with the expectations of IETF/RFC readers. So, let me ask you how you might approach this… > > > > 1. Would you like a complete example, say as an unnumbered section at the end (linked from the introduction)? > > 2. Do you want me to expand "1.2 How it works" a bit? > > > > > > > > - Do you have an initial application? It always helps to get traction > > > if you have an existing need that can be satisfied, or better, two or > > > three. > > > > There is interest in Solid community to implement this (This work as I stated in my original post came about because of my work on Solid Notifications Protocol. The community has a real desire in Solid for a simpler notifications system). There is a (public) expression of interest from a private server developer and discussions with open source server implementers. This was held back in part because I only last night released the companion specification that links Solid and PREP, conveniently called Solid-PREP <https://cxres.github.io/solid-prep/protocol/>. So implementations are likely to come online more in time for IETF 119, unfortunately. > > > > > > > > - There's some sort of index at the end, but it's difficult to read, and > > > it appears to only be a list of places where specified terms appear. > > > This doesn't add much value, since every tool a person might use to > > > look at draft-gupta-httpbis-per-resource-events has a string-search > > > capability. > > > > > > > This index is auto generated by RFC tooling (I only mark words that I want indexed, because I want them recorded as significant terms in the XML). I find the generated index unintuitive too. Please complain loudly :P to the RFC tooling folks as this affects every I-D! > > > > > Dale > > > > > > _______________________________________________ > > > dispatch mailing list > > > dispatch@ietf.org > > > https://www.ietf.org/mailman/listinfo/dispatch_______________________________________________ > > dispatch mailing list > > dispatch@ietf.org > > https://www.ietf.org/mailman/listinfo/dispatch
- [dispatch] Proposal for Per Resource Events Proto… Rahul Gupta
- Re: [dispatch] Proposal for Per Resource Events P… worley
- Re: [dispatch] Proposal for Per Resource Events P… Michael Toomim
- [dispatch] Fw: Re: Proposal for Per Resource Even… Rahul Gupta
- Re: [dispatch] Proposal for Per Resource Events P… Rahul Gupta
- Re: [dispatch] Proposal for Per Resource Events P… worley
- Re: [dispatch] Fw: Re: Proposal for Per Resource … Michael Toomim
- Re: [dispatch] Proposal for Per Resource Events P… Michael Toomim
- Re: [dispatch] Proposal for Per Resource Events P… Michael Toomim
- Re: [dispatch] Proposal for Per Resource Events P… Tim Bray
- Re: [dispatch] Proposal for Per Resource Events P… Rahul Gupta
- Re: [dispatch] Proposal for Per Resource Events P… Rahul Gupta
- Re: [dispatch] Proposal for Per Resource Events P… Michael Toomim
- Re: [dispatch] Proposal for Per Resource Events P… worley
- Re: [dispatch] Proposal for Per Resource Events P… Michael Toomim
- Re: [dispatch] Proposal for Per Resource Events P… worley
- Re: [dispatch] Proposal for Per Resource Events P… Michael Toomim
- Re: [dispatch] Proposal for Per Resource Events P… worley
- Re: [dispatch] Proposal for Per Resource Events P… Michael Toomim
- Re: [dispatch] Proposal for Per Resource Events P… Rahul Gupta
- Re: [dispatch] Proposal for Per Resource Events P… Rahul Gupta
- Re: [dispatch] Proposal for Per Resource Events P… worley
- Re: [dispatch] Proposal for Per Resource Events P… Rahul Gupta
- Re: [dispatch] Proposal for Per Resource Events P… Kévin Dunglas
- Re: [dispatch] Proposal for Per Resource Events P… Rahul Gupta
- Re: [dispatch] Proposal for Per Resource Events P… Michael Toomim
- Re: [dispatch] Proposal for Per Resource Events P… Kévin Dunglas