[Jmap] Re: Review of draft-ietf-jmap-essential-01

Joris Baum <joris@audriga.com> Wed, 13 November 2024 18:28 UTC

Return-Path: <joris@audriga.com>
X-Original-To: jmap@ietfa.amsl.com
Delivered-To: jmap@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 00B31C169421 for <jmap@ietfa.amsl.com>; Wed, 13 Nov 2024 10:28:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.904
X-Spam-Level:
X-Spam-Status: No, score=-1.904 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=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
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 OgRBfUKyUhOo for <jmap@ietfa.amsl.com>; Wed, 13 Nov 2024 10:28:42 -0800 (PST)
Received: from mail.audriga.com (mail.audriga.com [IPv6:2a01:4f8:c013:1f9e::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C86F4C169415 for <jmap@ietf.org>; Wed, 13 Nov 2024 10:28:41 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by mail.audriga.com (Postfix) with ESMTP id 9B3DB4086B; Wed, 13 Nov 2024 18:28:38 +0000 (UTC)
X-Virus-Scanned: Debian amavis at mail.audriga.com
Received: from mail.audriga.com ([127.0.0.1]) by localhost (mail.audriga.com [127.0.0.1]) (amavis, port 10024) with ESMTP id br-da_nVwIcf; Wed, 13 Nov 2024 18:28:38 +0000 (UTC)
Received: from [192.168.10.127] (ip-109-090-161-242.um36.pools.vodafone-ip.de [109.90.161.242]) by mail.audriga.com (Postfix) with ESMTPSA id 00FFF5A2A5B; Wed, 13 Nov 2024 18:28:37 +0000 (UTC)
Content-Type: multipart/alternative; boundary="------------g0mmgy1zJq5bUH03zzENitMl"
Message-ID: <199305f1-c877-444e-a33a-ebb1acb9f0b6@audriga.com>
Date: Wed, 13 Nov 2024 19:28:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: jmap@ietf.org
References: <CAEi+uC5WnX68H+sktK+d=KwaTiiaA1ojynAzCysD2mD+2QXOkA@mail.gmail.com> <ae5d2399-f5c8-412a-9f87-8c82868466fa@audriga.com> <CAEi+uC5PgrwzvFSOQ2ObULrq_b6tiRv+4g7gsnOxtbyhyJ69PQ@mail.gmail.com>
Content-Language: en-US
From: Joris Baum <joris@audriga.com>
Autocrypt: addr=joris@audriga.com; keydata= xjMEXmiiVxYJKwYBBAHaRw8BAQdAdZHr1ErnL1M6znXii/tmQdbrX2WYv7z2IOX24nQI/ILN HkpvcmlzIEJhdW0gPGpvcmlzQGF1ZHJpZ2EuY29tPsKWBBMWCAA+FiEEcn/m2ZrBrKtT4eWN /E+o0tJIXvAFAl5oolcCGwMFCQlmAYAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQ/E+o 0tJIXvBxNwD9FTxAqK3hInm0FO8PkbKnoMs39U8uIsyWzZ6OQxNKAqoBAILUwL4+zZ27pJwr cpLaLrbGJ7jFH4gvaXD9pSsVrN4OzjgEXmiiVxIKKwYBBAGXVQEFAQEHQOwg+TuTO26r4K5V BzYwVGK9EXrx6UpBxiubgDlHdY0KAwEIB8J+BBgWCAAmFiEEcn/m2ZrBrKtT4eWN/E+o0tJI XvAFAl5oolcCGwwFCQlmAYAACgkQ/E+o0tJIXvC2HwD/VjK0qWcInLxsNA+4IpgsZeR6U3bO K0NUuXoxZLGiOG8BAJNp3V+nFFgguUohvpSzw7sI4h4QXKVuVMhpG43PHVsD
In-Reply-To: <CAEi+uC5PgrwzvFSOQ2ObULrq_b6tiRv+4g7gsnOxtbyhyJ69PQ@mail.gmail.com>
Message-ID-Hash: 24FFQW3QUD2FO5LC5PO42LM2V7CKHYWX
X-Message-ID-Hash: 24FFQW3QUD2FO5LC5PO42LM2V7CKHYWX
X-MailFrom: joris@audriga.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-jmap.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: lisa.dusseault@gmail.com
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Jmap] Re: Review of draft-ietf-jmap-essential-01
List-Id: JSON Message Access Protocol <jmap.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/Ax8snpErpR36dFHmTz-qYhQYEU8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jmap>
List-Help: <mailto:jmap-request@ietf.org?subject=help>
List-Owner: <mailto:jmap-owner@ietf.org>
List-Post: <mailto:jmap@ietf.org>
List-Subscribe: <mailto:jmap-join@ietf.org>
List-Unsubscribe: <mailto:jmap-leave@ietf.org>

Hi,

That is definitely valuable feedback. I am not sure how exactly I think 
about it yet. Here are my thoughts on this.

I think you already touched on the important goals of the document. But 
just to make it clearer: The problem we are trying to solve is that JMAP 
is quite complex and difficult to navigate through. Especially for data 
portability scenarios. Therefore, the goal of the draft is to outline 
which parts of the JMAP Spec are actually required for a) the most 
minimalistic version of JMAP possible ("JMAP Minimal" — which does not 
provide any meaningful functionality) and b) two very basic main use 
cases for importing ("JMAP Import") and exporting ("JMAP Export") data 
that should already cover very basic data portability requirements. On 
top of that, it tries to cover also advanced use cases which need paging 
/ listing / separate binary endpoints. For syncing (which might also be 
interesting for data portability use cases) the full spec will be 
referred instead. And yes, guiding users to bootstrap a partial-JMAP 
implementation is also one goal.

If I understand you correctly, you are proposing that the JMAP Minimal 
as currently in the draft would stay as defined. Instead, you are 
proposing to replace the list of required JMAP Features as in the tables 
for JMAP Import and JMAP Export use cases by dedicated JMAP methods that 
would combine parts of /query and /get. I am open to this idea, but it 
feels weird to introduce new API methods that are already covered by 
implementing full /get and /query from the core spec. Also, the draft is 
supposed to be informational, because we do not want implementation to 
diverge from the current JMAP standard. All "shortcuts" documented in 
the draft should still be valid JMAP according to rfc8620.

However, I think you have a point. Maybe the document is trying to 
accommodate too many use cases at the same time, and it should be 
narrowed down somehow..

Regards,

Joris


On 13.11.24 02:09, Lisa Dusseault wrote:
> Thanks for your responses.
>
> I've been thinking over the architecture for the past few days, and 
> wanted to question whether profiling JMAP existing methods is 
> actually the easiest/best approach to import/export. Focusing purely 
> on export, and keeping the conversation very high level, I note that 
> with this proposal, each client has to figure out what combination of 
> queries to make and data to ask for, and each server needs to figure 
> out how to support any query the client might make within the profile 
> limits.  ISTM that queries that miss some resources or cover some 
> resources more than once are all too easy to build.  I wonder if we 
> can't build something more robust - more direct guidance to the 
> purpose, less possibilities to do unexpected creative things.
>
> For example, how about a method for /export directly? Although this 
> would be a new method, it can be much more limited than /get and 
> /query combined are, and it lets the server know what the intent is.  
> It can have some flexibility to operate on subsets of a full mailbox, 
> but also doesn't have to have the full flexibility of /query. Thinking 
> as an implementor, a single mechanism that's new is a lot easier to 
> figure out how to implement from the spec, than correlating a profile 
> spec and a core spec and also trying to predict or learn what clients 
> are likely to ask.
>
> I don't know that this would necessarily be better - that depends on 
> the goals of profiling JMAP for import/export. Not just the main 
> stated goal, but I think there are some unstated goals like having a 
> path for going from partial-JMAP to full-JMAP (which I think a 
> separate method does anyway as it still builds on the basic connection 
> and basic data model work).
>
> WDYT?
> Lisa
>
> On Tue, Nov 12, 2024 at 3:19 AM Joris Baum <joris@audriga.com> wrote:
>
>     Hi Lisa,
>
>     Replied inline
>
>     On 07.11.24 23:34, Lisa Dusseault wrote:
>     >
>     > I did a partial review of draft-ietf-jmap-essential-01.
>
>
> _______________________________________________
> Jmap mailing list --jmap@ietf.org
> To unsubscribe send an email tojmap-leave@ietf.org

-- 
Joris Baum
Tel: +49 721 170293 16
Fax: +49 721 170293 179

http://www.audriga.com |http://www.twitter.com/audriga

--------------------------------------------------------------------------
audriga GmbH |  Alter Schlachthof 57  | 76137 Karlsruhe
Sitz der Gesellschaft: Karlsruhe - Amtsgericht Mannheim - HRB 713034
Geschäftsführer: Dr. Frank Dengler, Dr. Hans-Jörg Happel
--------------------------------------------------------------------------