Re: [Jmap] JMAP for Migration and Data Portability
Joris Baum <joris@audriga.com> Tue, 21 March 2023 14:43 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 A2C1AC14CE5F for <jmap@ietfa.amsl.com>; Tue, 21 Mar 2023 07:43:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.895
X-Spam-Level:
X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 z-IiJ-R0J-uR for <jmap@ietfa.amsl.com>; Tue, 21 Mar 2023 07:43:50 -0700 (PDT)
Received: from mail.audriga.com (mail.audriga.com [176.221.42.35]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0414DC14CF0C for <jmap@ietf.org>; Tue, 21 Mar 2023 07:43:49 -0700 (PDT)
Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.audriga.com (Postfix) with ESMTP id BD1DAA28C for <jmap@ietf.org>; Tue, 21 Mar 2023 15:43:47 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at mail.audriga.com
Received: from mail.audriga.com ([127.0.0.1]) by localhost (mail.audriga.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NQR8YYWqb4ZF for <jmap@ietf.org>; Tue, 21 Mar 2023 15:43:45 +0100 (CET)
Received: from [192.168.2.106] (dslb-094-223-169-210.094.223.pools.vodafone-ip.de [94.223.169.210]) (Authenticated sender: joris@audriga.com) by mail.audriga.com (Postfix) with ESMTPSA id 37A68A1F7 for <jmap@ietf.org>; Tue, 21 Mar 2023 15:43:45 +0100 (CET)
Content-Type: multipart/alternative; boundary="------------agP1odeL48WEZQ8XmCOr3XQC"
Message-ID: <3b9e5db5-8bb7-e52e-6c34-084f8008d434@audriga.com>
Date: Tue, 21 Mar 2023 15:43:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0
Content-Language: en-US
From: Joris Baum <joris@audriga.com>
To: jmap@ietf.org
References: <79005001-f72d-26b2-53b7-7832d1758af0@audriga.com> <d3e58e51-0055-4fa3-930e-ae3f079257dc@dogfoodapp.fastmail.com> <1741b4e1-9226-dccf-6f28-602127bc7e65@audriga.com>
In-Reply-To: <1741b4e1-9226-dccf-6f28-602127bc7e65@audriga.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/t3y10eufWhAQVCV6_5hM_l5esns>
Subject: Re: [Jmap] JMAP for Migration and Data Portability
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: JSON Message Access Protocol <jmap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jmap>, <mailto:jmap-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jmap/>
List-Post: <mailto:jmap@ietf.org>
List-Help: <mailto:jmap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jmap>, <mailto:jmap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Mar 2023 14:43:54 -0000
Oops. There I clicked the wrong button. Everything I wrote after "TODO" was thought as an internal note for myself. Let me try to explain: /query and /set are quite powerful methods each with a few features that not every vendor would like to implement. The list below is a first try at how to signal support for parts of their features via the errors / capability flags defined in JMAP Core. /set * "maxObjectsInSet" - no support for /set * stateMismatch - no support for ifInState (dirty, because it signals an issue on the client side) * SetError - no support for create, update, destory (via description. Not machine readable) /query * anchorNotFound - no support for anchor (dirty, because it signals an issue on the client side) * unsupportedSort - no support for sort * unsupportedFilter - no support for filter This could work, but I am not sure if JMAP Core defines enough ways to signal lack of support for certain features. Let me think a bit more. Regards, Joris On 21.03.23 15:38, Joris Baum wrote: > > Hi Neil, > > > > On 14.03.23 05:37, Neil Jenkins wrote: >> >> Looking at this, I think you could probably make this an >> informational document with how to implement Minimum JMAP, such that >> it's actually still compliant with RFC8620, rather than being >> incompatible — just quite inefficient. > > yes. Thanks for your input! > > That is exactly what we want to achieve with the document. Our main > use case of this document is to give vendors that already have an > existing application clear guidance on how to implement a minimal JMAP > implementation for data portability. Vendors might be interested in > that, because they need to comply with new EU regulation such as the > Digital Markets Act. Article 6 of the DMA states that some vendors are > required to provide "/continuous and real-time access to"/ user data. > > Once vendors have decided to implement such a minimal version of JMAP > they could then choose to support more features that are defined in > JMAP Core standard. > >> For example, if you set your |maxCallsInRequest| capability to |1| >> (and implement the correct error response if the client tries to send >> more), you have trivially turned off batching, but are still >> technically compliant with the original RFC. I think you can do >> something like this for just about all of the features (e.g. >> |/changes| always just returns a |cannotCalculateChanges| error; it's >> compliant with the spec, and now you don't have to implement it). >> >> I think this would be simpler and cleaner than essentially forking >> JMAP to create something almost-but-not-quite the same, which is >> likely to cause confusion and incompatibility issues. > > That sounds like a good idea. The important thing here is that the > document will show that it is relatively straight forward to implement > such a minimal version of JMAP. I will need to look in further detail > how this could be achieved. My gut feeling is that we might need more > than what is already defined in JMAP Core to reduce implementation > effort. > > TODO > > /set > > * "maxObjectsInSet" - no support for /set > > * stateMismatch - no support for ifInState (dirty, because it signals > an issue on the client side) > > * SetError - no support for create, update, destory (via description. > Not machine readable) > > /query > > * anchorNotFound - no support for anchor (dirty, because it signals an > issue on the client side) > > * unsupportedSort - no support for sort > > * unsupportedFilter - no support for filter > > >> >> Cheers, >> Neil. >> >> _______________________________________________ >> Jmap mailing list >> Jmap@ietf.org >> https://www.ietf.org/mailman/listinfo/jmap > -- > 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.-Ing. Hans-Jörg Happel > -------------------------------------------------------------------------- -- 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.-Ing. Hans-Jörg Happel --------------------------------------------------------------------------
- [Jmap] JMAP for Migration and Data Portability Joris Baum
- Re: [Jmap] JMAP for Migration and Data Portability Neil Jenkins
- Re: [Jmap] JMAP for Migration and Data Portability Joris Baum
- Re: [Jmap] JMAP for Migration and Data Portability Joris Baum
- Re: [Jmap] JMAP for Migration and Data Portability nelkins alan
- Re: [Jmap] JMAP for Migration and Data Portability Arnt Gulbrandsen
- Re: [Jmap] JMAP for Migration and Data Portability Neil Jenkins
- Re: [Jmap] JMAP for Migration and Data Portability Joris Baum
- Re: [Jmap] JMAP for Migration and Data Portability Joris Baum
- Re: [Jmap] JMAP for Migration and Data Portability Arnt Gulbrandsen