René Cordier created JAMES-3916:
-----------------------------------

             Summary: JMAP for JPA Guice server
                 Key: JAMES-3916
                 URL: https://issues.apache.org/jira/browse/JAMES-3916
             Project: James Server
          Issue Type: Improvement
            Reporter: René Cordier
             Fix For: 3.9.0


JMAP is available on memory and distributed versions of James. It would be nice 
to have it on JPA Guice version of James also. But for this, there is some work 
to do:
 * Add missing JPA implementations for some data related layers (state changes, 
Vacation, Identities, ...
 * Proper JMAP Guice bindings (can look at Cassandra and memory versions to 
have an idea) => do not care about DraftMethodsModule, as JMAP draft is 
deprecated
 * Integration tests

To be reasonable, should do it step by step. Should have a JMAP module for JPA 
that will get filled more with each step of the implementation. For example, a 
good POC would consist of:
 * starting with a JMAPApiRoutes only serving the Core/Echo method for JPA 
(should be easy enough, just bindings I think?) and adding JMAP configuration
 * having a minimal Mailbox with /get, /set and /query methods -> mailbox data 
layers have been implemented in JPA, only missing is MailboxChangeRepository. 
Could make a dummy implementation of it first. Could implement it really for 
JPA in later steps with states and /changes methods
 * having a minimal Email with /get, /set and /query methods -> 
EmailChangeRepository dummy implementation first, like MailboxChangeRepository. 
Also careful with MessageFastViewProjection, could be a dummy implementation 
too, as when we fail to retrieve data from it we fetch data the normal way

Then from there we can start thinking about the rest!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
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