You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Tran Hong Quan (Jira)" <se...@james.apache.org> on 2021/05/20 07:22:00 UTC

[jira] [Commented] (JAMES-3516) [GSOC-2021] Implement Thread support for JMAP

    [ https://issues.apache.org/jira/browse/JAMES-3516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17348121#comment-17348121 ] 

Tran Hong Quan commented on JAMES-3516:
---------------------------------------

Hi Benoit and Rene, 
I am very happy to have you as my mentors. I am looking forward to work with you on Implementing Thread support for JMAP project in the next coming months.
As what I proposed in my proposal, here are my sub tasks for this project that I will do during the GSoC time:

1. Add a threadId property to MessageResult POJO, MailboxMessage POJO, equal to the message Id
2. Implement Cassandra lookup tables to get threadId related to a Subject, to a mime MessageId
3. Implement the threadId guessing algorithm and add it in the MailboxManager
4. Implement the threadId (1) -> messageId (many) Cassandra table and integrate it in the mailbox
5. Implement Thread/get JMAP method in a non naive way

Because I already joined the Apache James community for a quite time, so I think I gonna start planning and coding from now. 
So let's start from sub task number 1. Here is my plan how to do it:

- Define ThreadId Pojo (should be class, not interface)
- Add getThreadId() method in MailboxMessage, MessageResult. Return threadId = messageId. 
- Implement getThreadId method for MailboxMessage and MessageResult's implementations (all  implementations)

Please have a look then I can start coding.

> [GSOC-2021] Implement Thread support for JMAP
> ---------------------------------------------
>
>                 Key: JAMES-3516
>                 URL: https://issues.apache.org/jira/browse/JAMES-3516
>             Project: James Server
>          Issue Type: New Feature
>          Components: elasticsearch, JMAP, mailbox
>            Reporter: Benoit Tellier
>            Assignee: Antoine Duprat
>            Priority: Major
>              Labels: gsoc, gsoc2021, mentor
>
> h3. Why ?
> Mail user agents generally allow displaying emails grouped by conversations (replies, forward, etc...).
> As part of JMAP RFC-8621 implementation, there is a dedicated concepts: threads. We did implement JMAP Threads in a rather naive way: each email is a thread of its own.
> This naive implementation is specification compliant but defeat the overall purposes of threads.
> I propose myself to mentor the implementation of Threads as part of the James JMAP implementation. 
> See: https://jmap.io/spec-mail.html#threads



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org