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

"Chris Newman" <chris.newman@oracle.com> Tue, 04 April 2017 19:25 UTC

Return-Path: <chris.newman@oracle.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 98AFE1205D3 for <jmap@ietfa.amsl.com>; Tue, 4 Apr 2017 12:25:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.997
X-Spam-Level:
X-Spam-Status: No, score=-6.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-2.796, RP_MATCHES_RCVD=-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 9CKnZs83H2kx for <jmap@ietfa.amsl.com>; Tue, 4 Apr 2017 12:25:22 -0700 (PDT)
Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) (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 18B4112932A for <jmap@ietf.org>; Tue, 4 Apr 2017 12:25:21 -0700 (PDT)
Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v34JPHYv009588 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 4 Apr 2017 19:25:18 GMT
Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v34JPHDm020997 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 4 Apr 2017 19:25:17 GMT
Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id v34JPGgs025404; Tue, 4 Apr 2017 19:25:16 GMT
Received: from [10.145.239.160] (/10.145.239.160) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 04 Apr 2017 12:25:16 -0700
From: Chris Newman <chris.newman@oracle.com>
To: Alexey Melnikov <alexey.melnikov@isode.com>
Cc: Benoit Tellier <btellier@linagora.com>, jmap@ietf.org
Date: Tue, 04 Apr 2017 12:25:14 -0700
Message-ID: <59771DE7-35FB-49E3-BFC9-9EBD1268E88A@oracle.com>
In-Reply-To: <92769755-62c6-7257-ce3d-7d0b5699735d@isode.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>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
X-Mailer: MailMate (1.9.6r5347)
X-Source-IP: aserv0022.oracle.com [141.146.126.234]
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/y4Og5PxCvEbuEsWK-QYRconWMiM>
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, 04 Apr 2017 19:25:24 -0000

On 4 Apr 2017, at 7:00, Alexey Melnikov wrote:
> Hi Benoit,
>
> On 04/04/2017 11:08, Benoit Tellier wrote:
>
>> |Hi,
>> |
>>
>> |Thanks for your answers. How do you plan to access such registered 
>> keyword, if it is not made somehow a message property?|
>>
> |
> It has to be a message properly. For example "keywords" which contains 
> an array of other IMAP keywords as strings. I have other applications 
> that need to access to other keywords, some of which are listed on 
> <https://www.iana.org/assignments/imap-keywords/imap-keywords.xhtml>|

As a general principle, I'm opposed to gratuitous changes between IMAP 
and JMAP (or Submit and JMAP). So a message has to have flags/keywords 
as a property and $Forwarded is a keyword no different from other 
keywords in how it is accessed.

>> |As a JMAP user I would like this to be very easily accessible from 
>> the Message object, and also it to be searchable.
>> |
>>
> Agreed.

+1. IMAP flags/keywords are easy to access and searchable via IMAP. Same 
should be true via JMAP.

>> |In the case of $Forwarded I think it needs to be consistent with the 
>> reply feature, for automatically marked as forwarded, and for 
>> threads.|
>>
> |
> I wouldn't mind having some extra logic for forwarded messages, if the 
> group can agree on that.

I'm supportive of including flag setting logic for $Forwarded, $MDNSent 
and \Answered in JMAP to the extent JMAP provides forward, MDN and reply 
functionality. Our JMAP-equivalent IMAP/Submit proxy has flag setting 
logic for $MDNSent and \Answered. The omission of support for $Forwarded 
is likely because it was defined later than the other two.

		- Chris

> Best Regards,
> Alexey
>
> |
>>
>> |Cheers,
>> |
>>
>> |Benoit Tellier|
>>
>>
>> Le 04/04/2017 à 00:43, Alexey Melnikov a écrit :
>>> On 03/04/2017 18:10, Chris Newman wrote:
>>>
>>>> IMAP $Forwarded is a registered keyword and thus a fully supported 
>>>> part of IMAP:
>>>>
>>>> https://www.iana.org/assignments/imap-keywords/imap-keywords.xhtml#imap-keywords-1
>>>>
>>>> There's no need for JMAP to define all these registered keywords; 
>>>> it only needs to reference the registry.
>>> Agreed. And at the Chicago face-to-face meeting I've raised the 
>>> issue of lack of generic access to IMAP keywords in JMAP. I believe 
>>> there was room agreement to fix it in a generic way.
>>>
>>>>
>>>>         = Chris
>>>>
>>>> On 3 Apr 2017, at 2:13, Benoit Tellier wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> At Linagora, we tend to consider **forward** information as 
>>>>> important
>>>>> for the email we care about.
>>>>>
>>>>> Today, it is not part of the RFC-3501 spec, and many IMAP
>>>>> implementations handle it with the de-facto standard $Forwarded 
>>>>> flag.
>>>>>
>>>>> This implicit standard is a bad thing, and we truly would like the 
>>>>> JMAP
>>>>> mail protocol to do this right. To be right, it should be 
>>>>> explicit.
>>>>>
>>>>> We then propose this pull request:
>>>>>
>>>>> It reproduces the behavior of **answered** feature:
>>>>>
>>>>>  - Adds a **isForwarded** message property
>>>>>  - Adds a mechanism for automatically marking messages as 
>>>>> forwarded upon
>>>>> sending emails
>>>>>  - Clarifies interactions between isForwarded and threads
>>>>>  - Makes isForwarded searchable
>>>>>
>>>>> Does this proposal make sense to you?
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Benoit Tellier
>>>>> -----------------------------
>>>>> Software engineer at Linagora
>>>>> PMC on Apache JAMES
>>>>>
>>>>>
>>>>> Le 01/04/2017 à 06:23, Dave Crocker a écrit :
>>>>>> G'day,
>>>>>>
>>>>>> The working group meeting discussion about a static message, 
>>>>>> dynamic
>>>>>> annotation, etc., resonated with a variety of similar discussions 
>>>>>> I've
>>>>>> been around over the years (dating back to the mid-1970.)
>>>>>>
>>>>>> A simpler version equates the constructs of message and document, 
>>>>>> as
>>>>>> two views of the same thing.  (Ie, Document with attributes; 
>>>>>> Message
>>>>>> with a body.)
>>>>>>
>>>>>> The essence is to consider the nature and relationship of the 
>>>>>> objects,
>>>>>> possibly permitting different semantics for the same set of 
>>>>>> objects,
>>>>>> according to different applications or roles.
>>>>>>
>>>>>> That is, there can be a variety of constituent objects that are
>>>>>> associated and can be viewed according to different semantics (or
>>>>>> views)...  So a message, a document, a calendar entry, a series 
>>>>>> of
>>>>>> comments, etc.  Each object has associated processing rules (eg,
>>>>>> static vs. editable vs. executable; constrained choice of values;
>>>>>> organization into folders or other schemas...)
>>>>>>
>>>>>> An environment like this can  be powerful and very appealing. The
>>>>>> challenge tends to be staying practical:  With no effort at all 
>>>>>> it
>>>>>> devolves into an abstract computer science exercise.  Some of 
>>>>>> that is
>>>>>> an efficiency issue(*) but I think it's mostly about the human
>>>>>> manageability for design and operations.
>>>>>>
>>>>>> Based on both the years of commercial use and the public 
>>>>>> commentary
>>>>>> about the performance, I've no doubt the fastmail system does not
>>>>>> suffer these downsides.  But it's a potential that this 
>>>>>> re-casting
>>>>>> through the IETF could easily suffer.
>>>>>>
>>>>>> I'm posting this note partly because I think it would exciting to
>>>>>> produce specs that permit a degree of flexibility that such an
>>>>>> approach permits, but also wanted to cite the dangers.
>>>>>>
>>>>>> At the moment, I'm guessing there needs to be a small number of 
>>>>>> basic
>>>>>> object types and a small number of 'relationship' types that 
>>>>>> define
>>>>>> the association between objects.  These could then be combined 
>>>>>> into
>>>>>> higher-order, formal organizations/semantics the define an 
>>>>>> application
>>>>>> semantic (mail, calendar, whatever.)
>>>>>>
>>>>>>
>>>>>> d/
>>>>>>
>>>>>> (*) A system I did in 1977 has a little bit of this and the 
>>>>>> extremely
>>>>>> pure design produced impressively horrible performance.
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Jmap mailing list
>>>>> Jmap@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/jmap
>>>>
>>>> _______________________________________________
>>>> Jmap mailing list
>>>> Jmap@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/jmap
>>>
>>


> _______________________________________________
> Jmap mailing list
> Jmap@ietf.org
> https://www.ietf.org/mailman/listinfo/jmap