Re: [Jmap] I-D Action: draft-ietf-jmap-quotas-02.txt

Rene Cordier <rcordier@linagora.com> Tue, 08 February 2022 03:17 UTC

Return-Path: <rcordier@linagora.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 17D953A11C2 for <jmap@ietfa.amsl.com>; Mon, 7 Feb 2022 19:17:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.613
X-Spam-Level:
X-Spam-Status: No, score=-7.613 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.714, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 txPhkW3nZVRP for <jmap@ietfa.amsl.com>; Mon, 7 Feb 2022 19:16:59 -0800 (PST)
Received: from smtp.linagora.com (smtp.linagora.com [54.36.8.78]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3C06A3A11C0 for <jmap@ietf.org>; Mon, 7 Feb 2022 19:16:57 -0800 (PST)
Received: from [192.168.10.109] (unknown [123.16.38.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.linagora.com (Postfix) with ESMTPSA id 67AE3416AA for <jmap@ietf.org>; Tue, 8 Feb 2022 04:16:54 +0100 (CET)
Message-ID: <a4be65f1-62bb-c611-ed12-50316ca1b91d@linagora.com>
Date: Tue, 08 Feb 2022 10:16:52 +0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0
Content-Language: en-US
To: jmap@ietf.org
References: <162979023587.19029.15509717875037771799@ietfa.amsl.com> <Mime4j.530.d78e690a7d9100f9.17b77143f72@linagora.com> <2edd4357-c88e-4041-bc01-3d6b72d446b3@beta.fastmail.com>
X-LINAGORA-Copy-Delivery-Done: 1
From: Rene Cordier <rcordier@linagora.com>
In-Reply-To: <2edd4357-c88e-4041-bc01-3d6b72d446b3@beta.fastmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/Q5OS9wyTiTBC59H3WBezL4oCS88>
Subject: Re: [Jmap] I-D Action: draft-ietf-jmap-quotas-02.txt
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.29
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, 08 Feb 2022 03:17:04 -0000

Hi Neil,

Thanks for the feedback! Even if delayed it's still appreciated and 
valuable! I agree with your comments and will apply them.

Cheers,
Rene.


On 07/02/2022 10:16, Neil Jenkins wrote:
> Hi,
> 
> Sorry this feedback is very delayed! The general shape of this looks 
> good, but I have a few comments:
> 
>     The value of this property in an account's accountCapabilities
>     property is an object that MUST contain the following information on
>     server capabilities and permissions for that account:
> 
>     *  *quotaIds:* "Id[]" (default: "[]") A list of quota ids bound to
>        that account, or "[]" if that account has no quota restrictions.
> 
> 
> I'm not sure why we need to return quota ids in the account capabilities 
> here? We can just fetch all with Quota/get and putting data in the 
> session object is awkward when it's not immutable.
> 
> 1.4.1.  Scope
> 
>     The *Scope* is a "String" from an enumeration defined list of values,
>     handled by the server.
> 
>     It explains the entities this value applies to.  Some custom
>     specifications might provide some additional values.  If the client
>     does not specify custom scope specifications in the "using" parameter
>     of the request, the server should respond the JSON value "null",
>     instead of answering a scope value that the client does not support.
>     Standard values are:
> 
> 
> Extensibility is always tricky! My first thought is does this need to be 
> extensible? And secondly, if it does not to be extendable, how useful 
> are quotas with a scope the client can't understand? The server can 
> always return an |overQuota| error for something regardless of these 
> objects; they are really just to display to the user. In which case, we 
> don't need to define extensibility here: any custom extension can just 
> specify that Quota objects making use of the extension should only be 
> exposed if the extension is opted-into (i.e. you just don't return 
> anything that's using a custom scope if you're only using the standard 
> capability), which simplifies this spec.
> 
> The same applies to |ResourceType|.
> 
>     *  "size": The quota is measured in size (in "bytes").  For example,
>        a quota can have a limit of 25000 "bytes".
> 
> 
> I suggest this be called "octets" rather than "size"; it's clearer what 
> is being limited ("size" is a bit ambiguous).
> 
>     *  *limit*: "UnsignedInt" The hard limit set by this quota object.
>        No more outgoing and ingoing objects should be allowed if we reach
>        this limit.
> 
> 
> I'm not sure exactly what's meant by "outgoing" and "ingoing" objects. 
> Should this be something like: "Objects in scope may not be created or 
> updated if we reach this limit."?
> 
> Cheers,
> Neil.
> 
> _______________________________________________
> Jmap mailing list
> Jmap@ietf.org
> https://www.ietf.org/mailman/listinfo/jmap