james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthieu Baechler <mbaech...@linagora.com>
Subject Re: My thoughts on JMAP implementation
Date Mon, 14 Dec 2015 07:58:53 GMT
And the last part ...

On 13/12/2015 12:43, Tellier Benoit wrote:

[...]

>   - I heard JMAP handles unique ID accross email copies. I guess you are
> compelled to support it. How do you plan to manage it across
> implementations ?

That's a very interesting question.

What we think would be a good design is :

1/ make Message a top-level entity, that means it should exist outside 
any mailbox. From a datastore point of view, it means having an 
identifier that is not bound to the mailbox (unlike uid). Let's call 
that Message.id

2/ Message <-> Mailbox relation is no longer a composition but an 
aggregation, it means that Message lifecycle is not bound to Mailbox and 
that Message.uid is now a relation id

3/ Some backends may not be able to express this new design (we think 
about filesystem backend) so we think backend have to expose their 
capabilities and a backend consumer should require a mandatory 
capabilities list. That way, we could go forward without being limitated 
by backends not feature-rich enough. The compatibility should be checked 
at server start and prevent incompatible components to start.

There's at least the Quota part the is not solved yet : how do you count 
Messages duplicated in several Mailboxes ?

Maybe we missed some design issue, feel free to push this discussion 
further.

-- 
Matthieu Baechler


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


Mime
View raw message