Re: [Jmap] Adding the Message::isForwarded property

"HANSEN, TONY L" <tony@att.com> Tue, 11 April 2017 18:10 UTC

Return-Path: <tony@att.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 D678C12EB78 for <jmap@ietfa.amsl.com>; Tue, 11 Apr 2017 11:10:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.379
X-Spam-Level:
X-Spam-Status: No, score=-4.379 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MISSING_HEADERS=1.021, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-2.8, 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 rs_frK_pw3K1 for <jmap@ietfa.amsl.com>; Tue, 11 Apr 2017 11:10:21 -0700 (PDT)
Received: from mx0a-00191d01.pphosted.com (mx0b-00191d01.pphosted.com [67.231.157.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9F257129A92 for <jmap@ietf.org>; Tue, 11 Apr 2017 11:10:21 -0700 (PDT)
Received: from pps.filterd (m0049458.ppops.net [127.0.0.1]) by m0049458.ppops.net-00191d01. (8.16.0.17/8.16.0.17) with SMTP id v3BI9ZWi012971 for <jmap@ietf.org>; Tue, 11 Apr 2017 14:10:18 -0400
Received: from alpi155.enaf.aldc.att.com (sbcsmtp7.sbc.com [144.160.229.24]) by m0049458.ppops.net-00191d01. with ESMTP id 29s45x01vk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <jmap@ietf.org>; Tue, 11 Apr 2017 14:09:55 -0400
Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id v3BI9rSP016534 for <jmap@ietf.org>; Tue, 11 Apr 2017 14:09:53 -0400
Received: from mlpi408.sfdc.sbc.com (mlpi408.sfdc.sbc.com [130.9.128.240]) by alpi155.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id v3BI9ldh016398 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for <jmap@ietf.org>; Tue, 11 Apr 2017 14:09:51 -0400
Received: from MISOUT7MSGHUBAD.ITServices.sbc.com (MISOUT7MSGHUBAD.itservices.sbc.com [130.9.129.148]) by mlpi408.sfdc.sbc.com (RSA Interceptor) for <jmap@ietf.org>; Tue, 11 Apr 2017 18:09:35 GMT
Received: from MISOUT7MSGUSRCG.ITServices.sbc.com ([169.254.7.103]) by MISOUT7MSGHUBAD.ITServices.sbc.com ([130.9.129.148]) with mapi id 14.03.0319.002; Tue, 11 Apr 2017 14:09:35 -0400
From: "HANSEN, TONY L" <tony@att.com>
CC: "jmap@ietf.org" <jmap@ietf.org>
Thread-Topic: [Jmap] Adding the Message::isForwarded property
Thread-Index: AQHSslOJ8Z+O7mXmikS/Qp3qOj/VGKHAeOQA
Date: Tue, 11 Apr 2017 18:09:34 +0000
Message-ID: <AB5279CE-4F9A-4DE8-AEEA-E1425D04FA89@att.com>
References: <148716911729.17277.15371202023742081890.idtracker@ietfa.amsl.com> <b7ec34d3-3aaf-82af-3663-5b0966c83ff0@dcrocker.net> <b5753f7f-92f9-50dd-42f0-ce0de7360e08@linagora.com> <A9EDBE7D-4E3D-45C2-BB97-F74AC9DB9486@oracle.com> <9eb1fd3c-8868-9d24-6c30-46d333b69fef@isode.com> <3c1711a2-46dd-db1c-506e-5e1ad89ce56d@linagora.com> <92769755-62c6-7257-ce3d-7d0b5699735d@isode.com> <27c62cc8-68e0-49b5-4900-34c26d7b4c6a@linagora.com> <C88A669A-2143-4FC2-81EF-3C9A2CD5963B@apple.com> <D0072AC9-71DC-4831-A3DA-FEA4A7B85BBA@oracle.com>
In-Reply-To: <D0072AC9-71DC-4831-A3DA-FEA4A7B85BBA@oracle.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.110.240.32]
Content-Type: text/plain; charset="utf-8"
Content-ID: <25E4B3238151E54EA2393D27779D61B2@LOCAL>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-RSA-Inspected: yes
X-RSA-Classifications: public
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-04-11_13:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 spamscore=0 suspectscore=0 malwarescore=0 lowpriorityscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1704110139
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/DOj500wyn3wHUTxOqt2sewhW5UM>
Subject: Re: [Jmap] Adding the Message::isForwarded property
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.22
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, 11 Apr 2017 18:10:23 -0000

I support everything that Chris says here.

	Tony Hansen

On 4/10/17, 7:38 PM, "Jmap on behalf of Chris Newman" <jmap-bounces@ietf.org on behalf of chris.newman@oracle.com> wrote:

    On 9 Apr 2017, at 17:08, Neil Jhaveri wrote:
    > I seem to be on the minority side here, but I personally do see the 
    > appeal in **isForwarded** being a first-class property. This is a core 
    > part of many modern client UI's showing a list of messages. If I had 
    > never used IMAP before, it would definitely seem weird and incongruent 
    > to me that answered is a property, but forwarded is a keyword, and it 
    > would probably cause some momentary confusion trying to figure out how 
    > to know if a message was forwarded or not.
    
    System flags and keywords have largely identical syntax and behavior in 
    the IMAP data model and are all searchable.
    
    So the fact that JMAP is introducing a special data model for system 
    flags that's different from the syntax for keywords seems odd to me. Why 
    can't JMAP treat all flags/keywords as peers in the data model; the way 
    IMAP does?
    
    The only significant difference between flags and keywords in the IMAP 
    base spec is that servers are not required to support keywords. One of 
    the design flaws in IMAP is it's too permissive of server variations 
    that make it harder to write clients. When the majority of deployed IMAP 
    servers support a feature (providing support for a minimum number of 
    extensible keywords being an example), I'm supportive of making JMAP 
    require that feature. So adding a clause that requires JMAP servers to 
    support at least X extensible keywords (maybe X=32 or X=64) is a change 
    I would support.
    
    > If there does end up being more support for this, I could see an 
    > argument for drawing a line in the sand on the most important 
    > keywords, and maybe upgrading $Junk/$NotJunk and $Phishing into 
    > first-class properties too. Other keywords like $SubmitPending and 
    > $Submitted seem to have their use cases handled quite differently in 
    > JMAP with the Outbox concept, so could be left alone in a raw keywords 
    > property.
    
     From my viewpoint, differences between the IMAP data model and JMAP 
    data model are added complexity to the email infrastructure unless 
    there's a justification for making a change. So I'd prefer to leave the 
    line between system flags and registered keywords where it is unless 
    there's a compelling reason to change it. Otherwise we have to modify 
    the keyword registry to distinguish ones that are treated differently in 
    JMAP from IMAP.
    
    > I think it’s a stylistic question, though, and not a functional one. 
    > Consensus so far seems to be against this, and I think either way is 
    > probably fine, but I do personally support the more OOP-like 
    > first-class property, where it makes sense and is cleaner to the 
    > newcomer.
    
    The extensibility of a data model is one of the most important parts of 
    a protocol's design. I consider JMAP severely deficient if its 
    extensibility model for flags/keywords is inferior to the one in IMAP. I 
    also consider JMAP deficient if it can't largely share the extension 
    registries for IMAP keywords/metadata/annotations and the extension 
    registry for the SMTP Submission protocol.
    
    		- Chris