Hi there,

first of welcome to JAMES :) Answer of your questions inline..

2011/8/13 Pepijn de Vos <pepijnde...@yahoo.com>:
> Hey,
>
> I was Googling around for a mail server that I could use with a nice 
> database, so I can query the mail in interesting ways for my 
> webmail/newsgroup/whatever app.
>
> I found a GSOC page that listed this as a possible project. I contacted the 
> mentor (Robert) to see if someone picked it up yet. It seems like that 
> someone is going to be me.
>
> Robert told me to introduce myself and the project here, together with any 
> questions.
>
> For the database I was thinking about a graph database, such as Jiraph. But I 
> think the community might be better served by a CouchDB backend. So what I 
> might do is just run Jiraph on CouchDB.

CouchDB sounds like a good fit for a mailbox storage

>
> If you just googled Jiraph, you'd have found it's written in Clojure. I can 
> write Java as well, but if it is not a problem, I prefer Clojure for writing 
> the backend.
>
> This raises my second question: Will the backend be included in James, in an 
> extras repo, or as a separate project? If it's *not* going to be a separate 
> project, requiring Clojure as a runtime dependency might not be desirable.

It would be a sub-module in the mailbox project. See:
http://svn.apache.org/viewvc/james/mailbox/trunk/

We have the following implementations astm:
* memory
* maildir
* jpa
* jcr
* hbase (once it get imported as it get currently coded a port of GSOC)


>
> I previously ran James as a standalone application, and successfully telnet'd 
> into it. However, I could not figure out how to configure which backend to 
> use. Could anyone explain that, or point me at the right documentation?

Its done via the mailbox.xml There is a BeanFactoryPostProcessor which
takes care of loading the right classes then...


>
> What would be the best way to start? I found the inmemory backend, which I 
> suppose is the minimal required. Again, any links or explanations about the 
> components are appreciated.

The best way to start is to have a look at the currently existing
implementations. You should also use the higher level API which resist
in the store module, as it makes it easier to write your own
implementation


>
> The GSOC description mentioned a REST protocol. What is meant here?

I think the idea was to provide an REST-LIKE implementation of the
mailbox. So you could write your mailbox implementation in whatever
programming language. You would just talk via a webservice to your
impl.

See http://www.infoq.com/articles/rest-introduction


>
> Pepijn de Vos

I also have a Cassandra implementation of the mailbox here (still a
prototype and not opensource atm). So we have currently the Hbase and
the Cassandra impls as nosql solution.

Bye,
Norman

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