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

Lisa Dusseault <lisa.dusseault@gmail.com> Wed, 13 November 2024 01:09 UTC

Return-Path: <lisa.dusseault@gmail.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 BFFF4C1CAF36 for <jmap@ietfa.amsl.com>; Tue, 12 Nov 2024 17:09:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 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_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] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 w0QsWVvf1nyS for <jmap@ietfa.amsl.com>; Tue, 12 Nov 2024 17:09:13 -0800 (PST)
Received: from mail-vk1-xa29.google.com (mail-vk1-xa29.google.com [IPv6:2607:f8b0:4864:20::a29]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4C6A9C1CAF2D for <jmap@ietf.org>; Tue, 12 Nov 2024 17:09:13 -0800 (PST)
Received: by mail-vk1-xa29.google.com with SMTP id 71dfb90a1353d-50d431b0ae2so203069e0c.1 for <jmap@ietf.org>; Tue, 12 Nov 2024 17:09:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731460152; x=1732064952; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=93IUE1yJQcro0y5QNqe4Gnr3iVN/7lmUROwvDNLgzMA=; b=kQCSERSVfUrxZxMZrEA77jIOPUTqmkGJqEuHOIpRsaH0Db2k5KKC5jzSYprgq7MRZl aKGEwbP/U9/PPxl1fseKKcRmN81UKOZZIhxITJcFIbuAudwfbuOi36g9yRRzLSp8yuMD /zIjI8Ty4GeZbfw5xNZ4wy2hSZuLNu/gaQ0KJ+eieQ9yN+7k/QieVA2GWpJOgznFnbcg 73wFm+ZIATLOyA+/V07iJxaGI3q9KBGoA51/Z/ZK8vwS7tb8EB6bB2HZ+WSmmF1lywYD pyzTXJH8Vsz3EBvnvMuINZhMQXFArIogVcjcbwuJKhi5FRHWpKNOMUxCLOern/0Odfgi l9/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731460152; x=1732064952; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=93IUE1yJQcro0y5QNqe4Gnr3iVN/7lmUROwvDNLgzMA=; b=dOhrP7nvIaCt3WGdXS7HSGKeWQp/gDjKVh/AqhOdn2/U0TrL8BIsGG2xoVUiu2nbMb U4c1wmazDK3Dv0YcA9u0otKITlpSnU1wbKgBs4tbkoBOv8T37qorGaHGJ0fCi5m+apeh IqJ+Jig6vjOmoeXwUTJAD69+n4wbF0NR41IMRVIkBlJQRtkUPV9tCOIq2AR4amDJMymn z2NQCJIgseNtnU0VBF/hMlbQpWWMEhLdK7Ccqt1m26maoOgxWEwYTlU9fVqtOCmseyFS 76NFovi/RczCZooCkcPHw8trvkJiARkA1kor2NGaxEyASUuRMCl+gVXbGiyNWswq49ds x+gw==
X-Gm-Message-State: AOJu0YxeAgrlEvrMFYWavrAweMQO8LhFBXIrAJRGBCbstaC/0N/WMMWQ sSxzMTN/kTupvee5E8iVFO93xIO4800Uh0HMQ2OShsY0o498/gvkey7CQRV3t/GfYXs3oFIHE7a xoj1TpshGzYINpEp0xJ2f4+2v6hxL7w==
X-Google-Smtp-Source: AGHT+IFJOjErMtTwJb4JJzapGeaIWqbSVxsRUuRQFaPSxIpXkaXxOleZhsq0ySdQNZE4JTUU6rskWOiWKcU2jZM4ziE=
X-Received: by 2002:a67:e290:0:b0:4a4:87a7:88ed with SMTP id ada2fe7eead31-4aadfd8a381mr15950966137.2.1731460152300; Tue, 12 Nov 2024 17:09:12 -0800 (PST)
MIME-Version: 1.0
References: <CAEi+uC5WnX68H+sktK+d=KwaTiiaA1ojynAzCysD2mD+2QXOkA@mail.gmail.com> <ae5d2399-f5c8-412a-9f87-8c82868466fa@audriga.com>
In-Reply-To: <ae5d2399-f5c8-412a-9f87-8c82868466fa@audriga.com>
From: Lisa Dusseault <lisa.dusseault@gmail.com>
Date: Tue, 12 Nov 2024 17:09:01 -0800
Message-ID: <CAEi+uC5PgrwzvFSOQ2ObULrq_b6tiRv+4g7gsnOxtbyhyJ69PQ@mail.gmail.com>
To: Joris Baum <joris@audriga.com>
Content-Type: multipart/alternative; boundary="000000000000521e300626c0fbcd"
Message-ID-Hash: QLM7CZDHAP7FBRDQVON2XIQ4KPORW6KI
X-Message-ID-Hash: QLM7CZDHAP7FBRDQVON2XIQ4KPORW6KI
X-MailFrom: lisa.dusseault@gmail.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: jmap@ietf.org
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/8dGhfD1EHYOLPIEqWx4SEc4xx6Y>
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>

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.
>