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

Benoit Tellier <btellier@linagora.com> Tue, 04 April 2017 14:32 UTC

Return-Path: <btellier@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 D904112950C for <jmap@ietfa.amsl.com>; Tue, 4 Apr 2017 07:32:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.106
X-Spam-Level:
X-Spam-Status: No, score=-1.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RDNS_NONE=0.793, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 GLKvj5mhQvPH for <jmap@ietfa.amsl.com>; Tue, 4 Apr 2017 07:32:55 -0700 (PDT)
Received: from alderaan.linagora.com (unknown [109.197.180.137]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F1E541296D2 for <jmap@ietf.org>; Tue, 4 Apr 2017 07:32:45 -0700 (PDT)
Received: from [192.168.113.104] (unknown [183.80.6.77]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by alderaan.linagora.com (Postfix) with ESMTPSA id 4D20A7F7; Tue, 4 Apr 2017 16:32:39 +0200 (CEST)
To: Alexey Melnikov <alexey.melnikov@isode.com>, Chris Newman <chris.newman@oracle.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>
Cc: jmap@ietf.org
From: Benoit Tellier <btellier@linagora.com>
Message-ID: <27c62cc8-68e0-49b5-4900-34c26d7b4c6a@linagora.com>
Date: Tue, 04 Apr 2017 21:32:28 +0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1
MIME-Version: 1.0
In-Reply-To: <92769755-62c6-7257-ce3d-7d0b5699735d@isode.com>
Content-Type: multipart/alternative; boundary="------------F2E9D56AEDC007D60D889516"
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/hGb3NNb2hqv9TAbEjNOTOjc5w90>
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 14:32:58 -0000

Hi Alexey,

Thanks for your answer.


Le 04/04/2017 à 21:00, Alexey Melnikov a écrit :
>
> 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>|
|I agree that a **keyword** property is cool.

However, I would go a bit further. Rather than creating a message
property having a special meaning for the Forwarded feature, I would
make it a top-level message property. That is why I proposed to add a
**isForwarded** message property.
|
>>
>> |As a JMAP user I would like this to be very easily accessible from
>> the Message object, and also it to be searchable.
>> |
>>
> |
> Agreed.
>
> |
>>
>> ||
>>
>> |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.
>
> 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
>>>
>>
>