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-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to