james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pepijn de Vos <pepijnde...@yahoo.com>
Subject Re: NoSQL backend for James
Date Thu, 13 Oct 2011 16:23:24 GMT
More questions. I started hacking!

I'm going with Ektorp. I figured out most of it, I think. Except that I don't understand the
configuration. It does have a Spring module. Any pointers on how to organize the config and
connections?

What does findMailboxWithPathLike do? The implementations seem to do weird things with regexes.
Preferably I make that into a nice CouchDB view. CouchDB can't do fulltext search. As far
as I can tell, the IMAP RFC doesn't say anything about it.

To have custom message and mailbox classes, do I need to do anything else besides subclassing
the corresponding *Manager class to return one?

I'm getting there!

Pepijn

On Oct 12, 2011, at 9:35 PM, Manuel Carrasco Moñino wrote:

> Actually Ektorp is not a full implementation of JPA, but it provides a
> JPA like API with support to many of its annotations etc.
> 
> Anyway, based on my experience, Ektorp simplifies the access from java
> to couchdb and the bootstrap of couchdb, so as theoretically when
> James starts the first time, the database, views, design, mapreduce,
> etc should be created.
> 
> - Manolo
> 
> On Wed, Oct 12, 2011 at 1:05 PM, Pepijn de Vos <pepijndevos@yahoo.com> wrote:
>> Ektorp seems nice, but I'm more comfortable just using something that resembles the
HTTP API, since I'm not familiar with JPA. Haven't decided yet.
>> 
>> Pepijn
>> 
>> On Oct 11, 2011, at 5:08 PM, Manuel Carrasco Moñino wrote:
>> 
>>> Hi Pepijn
>>> 
>>> Which java library are you considering to use to connect with couchdb?
>>> I'm using [1] ektorp and makes really easy to map domain models.
>>> 
>>> - Manolo
>>> 
>>> [1] http://www.ektorp.org/reference_documentation.html#d0e532
>>> 
>>> On Mon, Oct 10, 2011 at 10:44 PM, Pepijn de Vos <pepijndevos@yahoo.com>
wrote:
>>>> 
>>>> Thanks a lot.
>>>> 
>>>> On Oct 10, 2011, at 8:24 PM, Ioan Eugen Stan wrote:
>>>> 
>>>>> Have patience. You will need it if you wish to complete something.
>>>>> Patience and perseverance or else you'll be just another one who
>>>>> tried.
>>>> 
>>>> I don't expect to have it finished by the end of the week, but if I'm still
completely clueless by then, it's just not worth the effort.
>>>> I don't have the ambition to become a James commiter or even a Java dev,
I just thought it would be nice to use CouchDB for my application.
>>>> Somewhere is a point where pragmatism beats learning. There isn't any technical
reason why I can't use JPA.
>>>>> 
>>>>>> Can I just copy an existing one and rename stuff? In other words,
how are the modules glued into the whole? How does the server know which class to load? It's
not in the pom.xml, afaict.
>>>>> 
>>>>> Not sure what you mean by that. It uses dependency injection provided
>>>>> by Spring framework (and soon Guice) to inject object references into
>>>>> other objects at runtime.
>>>> 
>>>> Ah, dependency injection. *googles* So just the fact that I implement the
interface is enough to @autowire it into James?
>>>>> 
>>>>>> The sample config is gone btw: http://james.apache.org/server/3/config-mailbox.html
>>>>>> Do I inherit tests as well? I would imagine that a lot of tests are
common to all mailbox implementations.
>>>>> 
>>>>> I think this is because the configuration changed and now it's spring
>>>>> based, and more modular. I see you are very ambitious but I sense you
>>>>> have a lot of catching up. James is complex so give it time, if you
>>>>> expect too much from yourself and fail you will probably be too
>>>>> disappointed.
>>>> Yea, I read a Java book long ago, never did any big projects with it.
>>>>> 
>>>>> Make a public repo, commit something and ask if you get stuck. I will
>>>>> try to help when/if I can. I suggest you start with simple
>>>>> implementation that passes some unit tests.
>>>> 
>>>> So If I take any mailbox impl, put it in a separate repo, will it work? All
sorts of things refer to the parent pom. I'll put something on github once I figure it out.
I think it'll work out once I get to the point where I can write some code.
>>>>> 
>>>>> See for example the unit tests I did for Mailbox interface in HBase
>>>>> implementation:
>>>>> http://svn.apache.org/repos/asf/james/mailbox/trunk/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/model/HBaseMailboxTest.java
>>>> What I mean with inheriting tests is that these all look very generic. They
look like they could test any mailbox implementation.
>>>> 
>>>> Pepijn
>>>>> 
>>>>> 
>>>>> --
>>>>> Ioan Eugen Stan
>>>>> http://ieugen.blogspot.com/
>>>>> 
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>>> 
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
> 


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