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 "Eric Charles (JIRA)" <ji...@apache.org> on 2011/03/30 08:27:06 UTC

[jira] [Created] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage

[gsoc2011] Design and Implement Mailbox with NoSQL Storage
----------------------------------------------------------

                 Key: MAILBOX-45
                 URL: https://issues.apache.org/jira/browse/MAILBOX-45
             Project: James Mailbox
          Issue Type: New Feature
            Reporter: Eric Charles
            Assignee: Norman Maurer


Context: The mailbox subproject (http://james.apache.org/mailbox/) supports maildir, SQL database (via JPA) and Java Content Repository (JCR) as technology for mail storage. This flexibility is achieved thanks to a API design that abstracts mail storage from the mail protocols.

Task: NoSQL storage (for example CouchDB or Cassandra) has great potential for mail storage. Design and develop an suitable RESTful integration API and implementations for as many NoSQL targets as possible in the time.

Mentor: rdonkin at apache dot org

Complexity: easy 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


[jira] [Commented] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage

Posted by "Eric Charles (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MAILBOX-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019196#comment-13019196 ] 

Eric Charles commented on MAILBOX-45:
-------------------------------------

Hi Aamir,
We've got #james on freenode.
I will comment your application today and will send you time availabilities to talk about.
Tks,
- Eric


> [gsoc2011] Design and Implement Mailbox with NoSQL Storage
> ----------------------------------------------------------
>
>                 Key: MAILBOX-45
>                 URL: https://issues.apache.org/jira/browse/MAILBOX-45
>             Project: James Mailbox
>          Issue Type: New Feature
>            Reporter: Eric Charles
>            Assignee: Norman Maurer
>              Labels: gsoc2011
>
> Context: The mailbox subproject (http://james.apache.org/mailbox/) supports maildir, SQL database (via JPA) and Java Content Repository (JCR) as technology for mail storage. This flexibility is achieved thanks to a API design that abstracts mail storage from the mail protocols.
> Task: NoSQL storage (for example CouchDB or Cassandra) has great potential for mail storage. Design and develop an suitable RESTful integration API and implementations for as many NoSQL targets as possible in the time.
> Mentor: rdonkin at apache dot org
> Complexity: easy 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


[jira] [Commented] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage

Posted by "Patti Arachchige Eshan Sudharaka (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MAILBOX-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13194538#comment-13194538 ] 

Patti Arachchige Eshan Sudharaka commented on MAILBOX-45:
---------------------------------------------------------

is this implementation is done. And I am interesting in NOSQL data base stuff. I am looking forward to contribute to this if it is available.(Not as a gsoc student,but as a normal contributor)
                
> [gsoc2011] Design and Implement Mailbox with NoSQL Storage
> ----------------------------------------------------------
>
>                 Key: MAILBOX-45
>                 URL: https://issues.apache.org/jira/browse/MAILBOX-45
>             Project: James Mailbox
>          Issue Type: New Feature
>            Reporter: Eric Charles
>            Assignee: Norman Maurer
>              Labels: gsoc2011
>             Fix For: 0.4
>
>
> Context: The mailbox subproject (http://james.apache.org/mailbox/) supports maildir, SQL database (via JPA) and Java Content Repository (JCR) as technology for mail storage. This flexibility is achieved thanks to a API design that abstracts mail storage from the mail protocols.
> Task: NoSQL storage (for example CouchDB or Cassandra) has great potential for mail storage. Design and develop an suitable RESTful integration API and implementations for as many NoSQL targets as possible in the time.
> Mentor: rdonkin at apache dot org
> Complexity: easy 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


[jira] [Commented] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage

Posted by "Eric Charles (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MAILBOX-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13017437#comment-13017437 ] 

Eric Charles commented on MAILBOX-45:
-------------------------------------

Hi Xing,

Glad to read you :)

I'm Eric and would co-mentor you if you are selected.

I still need to read carefully your proposal.

However, one question that comes directly is the NoSQL datastore of your choice you will use. You talk the RESTful stuff, but do you plan to test agains a real NoSQL datastore?

Tks again,

- Eric


PS: please link your application to https://issues.apache.org/jira/browse/MAILBOX-45

> [gsoc2011] Design and Implement Mailbox with NoSQL Storage
> ----------------------------------------------------------
>
>                 Key: MAILBOX-45
>                 URL: https://issues.apache.org/jira/browse/MAILBOX-45
>             Project: James Mailbox
>          Issue Type: New Feature
>            Reporter: Eric Charles
>            Assignee: Norman Maurer
>              Labels: gsoc2011
>
> Context: The mailbox subproject (http://james.apache.org/mailbox/) supports maildir, SQL database (via JPA) and Java Content Repository (JCR) as technology for mail storage. This flexibility is achieved thanks to a API design that abstracts mail storage from the mail protocols.
> Task: NoSQL storage (for example CouchDB or Cassandra) has great potential for mail storage. Design and develop an suitable RESTful integration API and implementations for as many NoSQL targets as possible in the time.
> Mentor: rdonkin at apache dot org
> Complexity: easy 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


[jira] [Commented] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage

Posted by "Aamir Khan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MAILBOX-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019009#comment-13019009 ] 

Aamir Khan commented on MAILBOX-45:
-----------------------------------

Hi Eric

Do we have some kind of IRC channel for James Server Mailbox Project discussion?

> [gsoc2011] Design and Implement Mailbox with NoSQL Storage
> ----------------------------------------------------------
>
>                 Key: MAILBOX-45
>                 URL: https://issues.apache.org/jira/browse/MAILBOX-45
>             Project: James Mailbox
>          Issue Type: New Feature
>            Reporter: Eric Charles
>            Assignee: Norman Maurer
>              Labels: gsoc2011
>
> Context: The mailbox subproject (http://james.apache.org/mailbox/) supports maildir, SQL database (via JPA) and Java Content Repository (JCR) as technology for mail storage. This flexibility is achieved thanks to a API design that abstracts mail storage from the mail protocols.
> Task: NoSQL storage (for example CouchDB or Cassandra) has great potential for mail storage. Design and develop an suitable RESTful integration API and implementations for as many NoSQL targets as possible in the time.
> Mentor: rdonkin at apache dot org
> Complexity: easy 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


[jira] [Commented] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage

Posted by "Eric Charles (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MAILBOX-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13019249#comment-13019249 ] 

Eric Charles commented on MAILBOX-45:
-------------------------------------

Hi Aamir,

- There is an existing framework (http://james.apache.org/mailbox) : all access to james mailbox must fit in this framework. The goal is thus to add an extra module/implementation on the same level as jpa, jcr,... impl.
- This implementation must not be a direct implementation, but rather a framework in which other impl (couchdb,...) - So it needs to be factored in the design period. You need two layers at least (the rest framework, the couchdb impl).
- Can you detail your experience with java ?
- Good start with REST API (the url) :)
- Link to https://issues.apache.org/jira/browse/MAILBOX-45 from your application

Tell us if you want to update your application to take this into account (we need to "open" it for you to edit I think)


> [gsoc2011] Design and Implement Mailbox with NoSQL Storage
> ----------------------------------------------------------
>
>                 Key: MAILBOX-45
>                 URL: https://issues.apache.org/jira/browse/MAILBOX-45
>             Project: James Mailbox
>          Issue Type: New Feature
>            Reporter: Eric Charles
>            Assignee: Norman Maurer
>              Labels: gsoc2011
>
> Context: The mailbox subproject (http://james.apache.org/mailbox/) supports maildir, SQL database (via JPA) and Java Content Repository (JCR) as technology for mail storage. This flexibility is achieved thanks to a API design that abstracts mail storage from the mail protocols.
> Task: NoSQL storage (for example CouchDB or Cassandra) has great potential for mail storage. Design and develop an suitable RESTful integration API and implementations for as many NoSQL targets as possible in the time.
> Mentor: rdonkin at apache dot org
> Complexity: easy 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


[jira] [Commented] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage

Posted by "Eric Charles (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MAILBOX-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13017802#comment-13017802 ] 

Eric Charles commented on MAILBOX-45:
-------------------------------------

Aamir has also submitted his application on http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/aamirkhan/8005

> [gsoc2011] Design and Implement Mailbox with NoSQL Storage
> ----------------------------------------------------------
>
>                 Key: MAILBOX-45
>                 URL: https://issues.apache.org/jira/browse/MAILBOX-45
>             Project: James Mailbox
>          Issue Type: New Feature
>            Reporter: Eric Charles
>            Assignee: Norman Maurer
>              Labels: gsoc2011
>
> Context: The mailbox subproject (http://james.apache.org/mailbox/) supports maildir, SQL database (via JPA) and Java Content Repository (JCR) as technology for mail storage. This flexibility is achieved thanks to a API design that abstracts mail storage from the mail protocols.
> Task: NoSQL storage (for example CouchDB or Cassandra) has great potential for mail storage. Design and develop an suitable RESTful integration API and implementations for as many NoSQL targets as possible in the time.
> Mentor: rdonkin at apache dot org
> Complexity: easy 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


[jira] [Updated] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage

Posted by "Eric Charles (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MAILBOX-45?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Charles updated MAILBOX-45:
--------------------------------

    Fix Version/s:     (was: 0.4)
    
> [gsoc2011] Design and Implement Mailbox with NoSQL Storage
> ----------------------------------------------------------
>
>                 Key: MAILBOX-45
>                 URL: https://issues.apache.org/jira/browse/MAILBOX-45
>             Project: James Mailbox
>          Issue Type: New Feature
>            Reporter: Eric Charles
>            Assignee: Norman Maurer
>              Labels: gsoc2011
>
> Context: The mailbox subproject (http://james.apache.org/mailbox/) supports maildir, SQL database (via JPA) and Java Content Repository (JCR) as technology for mail storage. This flexibility is achieved thanks to a API design that abstracts mail storage from the mail protocols.
> Task: NoSQL storage (for example CouchDB or Cassandra) has great potential for mail storage. Design and develop an suitable RESTful integration API and implementations for as many NoSQL targets as possible in the time.
> Mentor: rdonkin at apache dot org
> Complexity: easy 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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


[jira] [Commented] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage

Posted by "WANG Xing (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MAILBOX-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13017795#comment-13017795 ] 

WANG Xing commented on MAILBOX-45:
----------------------------------

Hello everyone,

I want to apply to this gsoc2011 project, and I have written a proposal. Here I will attach my proposal.

Proposal Title: Design and Implement Mailbox with NoSQL Storage

Student Name: WANG Xing

Student E-mail: wx DOT wangxiaozhu AT gmail.com

Organization/Project: Apache Software Foundation

Assigned Mentor: rdonkin AT apache DOT org 

 

Proposal Abstract: 

The Apache James Project delivers a rich set of open source modules and libraries, written in Java, related to Internet mail communication which build into an advanced enterprise mail server.

NoSQL is a term standing for “Not Only SQL”. It is a movement grouping all efforts which intend to provide alternative to the standard relational databases for storing and processing data. Main characteristics of NoSQL are: eventually consistent / BASE (not ACID), schema-free, highly scalable, and simple API.

This projects aims at producing as many NoSQL database storage component as possible for mail storage. Suitable RESTful API should be designed to provide clear and practical interfaces.

 

Detailed Description: 

Key Points

There are some key points that I think I should keep in mind when developing this project:

1.       Be fully prepared. Before developing the components, I should read the user/developer documents of Apache James Project to understand how it works. I should also study the usage of various NoSQL Databases.

2.       Obey the rules. To join in an open source community I should obey the rules of it. There are some guidelines to follow, including the code standards, naming conventions, testing conventions, and so on. This information can be found at http://james.apache.org/guidelines.html. Existing source code of Apache James Project should be studied so that the new code can be consistent with the existing code.

3.       Fully tested. Unit tests and integration test should be done comprehensively.

4.       Fully documented. Documents should be comprehensive and clear enough to make sure other developers can easily understand the architecture of the code and do modifications to it.

5.       Communications. Keep active communications to the community.

 

Deliverables

1.         An suitable RESTful integration APIUnit tests of Java classes.

2.         3~6 NoSQL targets.

3.         A client application as a test framework.

4.         A test report.

5.         User documents and developer documents.

Timeline

April 25 ~ May 20

1.       Make contacts with the mentor.

2.       Read the user documents and developer documents of Apache James Project.

3.       Read the source code of Apache James Project briefly to know the code conventions, and the architecture.

4.       Try to use different kinds of NoSQL databases and read the documents of them.

5.       Choose the appropriate NoSQL databases to use.

6.       Set up the development environment.

7.       Set up the test framework. Make a rough test plan.

8.       Make detailed design document.

May 21 ~ July 10

Coding and testing. Finish 1~2 database storage components. It depends on the development progress. Write related user documents and developer documents.

July 11

Mid-term evaluation

July 12 ~ August 14

Continue coding and testing. Finish 2~4 database storage components. Write related user documents and developer documents.

August 15 ~ August 21

Improve the code, tests, and documents.

August 22

Final evaluation.


Additional Information:

Biography

I’m Wang Xing from Nanjing University, China. I’m in my third year of the undergraduate study. I am familiar with Java development, including the Struts2 + Spring + Hibernate frameworks. QR Marks the Spot is a website that my teammates and I developed, and you can visit it from here: http://173.255.212.167/my_qrms/

I have strong interest in distributed systems. And I am now working on a national project in a research team of the CS department of my school. This project is about making a cloud system that can provide services of various data mining tasks. Because of these, I am very interested in cloud computing and NoSQL databases. I hope this experience in Google Summer of Code and Apache James project can be an opportunity for me to learn NoSQL technologies and a start of joining in an open source community.

> [gsoc2011] Design and Implement Mailbox with NoSQL Storage
> ----------------------------------------------------------
>
>                 Key: MAILBOX-45
>                 URL: https://issues.apache.org/jira/browse/MAILBOX-45
>             Project: James Mailbox
>          Issue Type: New Feature
>            Reporter: Eric Charles
>            Assignee: Norman Maurer
>              Labels: gsoc2011
>
> Context: The mailbox subproject (http://james.apache.org/mailbox/) supports maildir, SQL database (via JPA) and Java Content Repository (JCR) as technology for mail storage. This flexibility is achieved thanks to a API design that abstracts mail storage from the mail protocols.
> Task: NoSQL storage (for example CouchDB or Cassandra) has great potential for mail storage. Design and develop an suitable RESTful integration API and implementations for as many NoSQL targets as possible in the time.
> Mentor: rdonkin at apache dot org
> Complexity: easy 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


[jira] [Commented] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage

Posted by "WANG Xing (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MAILBOX-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13017797#comment-13017797 ] 

WANG Xing commented on MAILBOX-45:
----------------------------------

Hi, Eric Charles

Thanks for being willing to mentor me. I hope I will be selected.

Regarding your question, now I haven't decided to use what kinds of NoSQL database because I know that there are different kinds of NoSQL database and the APIs of them are different. Further study will be needed to decide which one will be suitable for mail storage. 

I do not plan to test the NoSQL database itself, for a mature NoSQL database has already been taken many tests. I will design the RESTful interface for James, implement it using several NoSQL databases, and I will test whether the interface together with its implementations can work.

I hope this experience will be a good opportunity for me to learn James Mailbox and some popular NoSQL databases.

> [gsoc2011] Design and Implement Mailbox with NoSQL Storage
> ----------------------------------------------------------
>
>                 Key: MAILBOX-45
>                 URL: https://issues.apache.org/jira/browse/MAILBOX-45
>             Project: James Mailbox
>          Issue Type: New Feature
>            Reporter: Eric Charles
>            Assignee: Norman Maurer
>              Labels: gsoc2011
>
> Context: The mailbox subproject (http://james.apache.org/mailbox/) supports maildir, SQL database (via JPA) and Java Content Repository (JCR) as technology for mail storage. This flexibility is achieved thanks to a API design that abstracts mail storage from the mail protocols.
> Task: NoSQL storage (for example CouchDB or Cassandra) has great potential for mail storage. Design and develop an suitable RESTful integration API and implementations for as many NoSQL targets as possible in the time.
> Mentor: rdonkin at apache dot org
> Complexity: easy 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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


[jira] [Commented] (MAILBOX-45) [gsoc2011] Design and Implement Mailbox with NoSQL Storage

Posted by "Eric Charles (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/MAILBOX-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13194555#comment-13194555 ] 

Eric Charles commented on MAILBOX-45:
-------------------------------------

Hi Patti,
We have hbase support for the james mailbox.
https://svn.apache.org/repos/asf/james/mailbox/trunk/hbase/

Don't hesitate to join on mailing list (server user or server dev) if you have any question.
http://james.apache.org/mail.html

Thx,
Eric
                
> [gsoc2011] Design and Implement Mailbox with NoSQL Storage
> ----------------------------------------------------------
>
>                 Key: MAILBOX-45
>                 URL: https://issues.apache.org/jira/browse/MAILBOX-45
>             Project: James Mailbox
>          Issue Type: New Feature
>            Reporter: Eric Charles
>            Assignee: Norman Maurer
>              Labels: gsoc2011
>             Fix For: 0.4
>
>
> Context: The mailbox subproject (http://james.apache.org/mailbox/) supports maildir, SQL database (via JPA) and Java Content Repository (JCR) as technology for mail storage. This flexibility is achieved thanks to a API design that abstracts mail storage from the mail protocols.
> Task: NoSQL storage (for example CouchDB or Cassandra) has great potential for mail storage. Design and develop an suitable RESTful integration API and implementations for as many NoSQL targets as possible in the time.
> Mentor: rdonkin at apache dot org
> Complexity: easy 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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