james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin.Bergljung" <Martin.Berglj...@opsera.com>
Subject RE: Are there nightly builds for http://svn.apache.org/repos/asf/james/protocols/imap/trunk?
Date Tue, 17 Mar 2009 18:45:46 GMT

Regarding the build: I can get the /james/server/trunk and build it
without any problem. 
                     Building /james/protocols/imap/trunk does not work
with ant. Missing some macros, 
                     added them but got more errors, libs missing.
                     So just loaded everything into IDEA and build my
own jar.

I have now managed to swap out the Old IMAP protocol implementation for
this new one in the Product I am developing.
A have tested it in Outlook, Thunderbird, and Lotus Notes. Notes has a
bit to go I think as it fetches partially instead of Full Content as
Outlook and Thunderbird. But probably something in my Result builder I
need to fix.

However, as my backend is Alfresco and hierarchy delimiter is / I had to
just change that directly in ImapConstants
as the request for hierarchy delimiter is kept entirely in IMAP layer
(i.e. A1 LIST "" ""). Or is there another way to do that.

Further on, when using the previous IMAP implementation I was keeping a
ThreadLocal object that I called AlfrescoPerson with a couple of
properties for logged on user. With this new implementation I will have
to change that as the threads 
does not stick to an IMAP session, or I am doing something wrong, but
better scaling anyway...

Also, I do not pass around the user namespace and username for the
mailboxes (e.g. #mail.martin) but instead rely on 
being able to get to the AlfrescoPerson object for logged on user (i
strip off the #mail.martin in the MailboxManager.resolve method -
although this is not completely consistent as I still get the
#mail.martin passed to for example MailboxManager.search). 

I deal with mailboxes such as "/Company Home", "/Company
Home/Marketing", "/Company Home/User Homes/mbergljung" etc and the
permission system in Alfresco controls if the user has access to them or
not. So would have been good if I could have used the ImapSession and
set and attribute there.

So the MailboxManager and Mailbox interface methods could take the
ImapSession (which includes any MailboxSession) 
and then you could just set any attributes you wanted and have them
accessible whenever you wanted.

Also noticed that some calls such as SELECT generates more processing
then necessary, in the following select call each response such as
recent and total number of messages generates a lot of
mailboxManager.getMailbox, only one call should be necessary, does it
have to do with:

        // TODO: compact this into a single API call for meta-data about
        // repository
        exists(responder, mailbox, mailboxSession);
        recent(responder, selected);
        uidValidity(responder, mailbox, mailboxSession);
        unseen(responder, mailbox, mailboxSession, selected);
        permanentFlags(responder, mailbox);
        taggedOk(responder, tag, command, mailbox);

In the AbstractSelectionProcessor?

I will continue testing and fixing so hopefully I can get to a point
where I can continue with the new IMAP protocol implementation.


-----Original Message-----
From: Robert Burrell Donkin [mailto:robertburrelldonkin@gmail.com] 
Sent: den 14 mars 2009 10:17
To: James Developers List
Subject: Re: Are there nightly builds for

On Thu, Mar 12, 2009 at 1:19 PM, Bernd Fondermann
<bf_jak@brainlounge.de> wrote:
> Martin.Bergljung wrote:
>> Hi,
>> I am upgrading a product that uses an earlier version of Apache James
>> IMAP to use the new implementation under
>> http://svn.apache.org/repos/asf/james/protocols/imap/trunk
>> However, when using the libs from the
>> james-server-spring-deployment-3.0-SNAPSHOT builds I noticed that the
>> apache-james-imap-****-0.1-SNAPSHOT.jar libs did not correspond to
>> source code under
>> http://svn.apache.org/repos/asf/james/protocols/imap/trunk
>> (I assumed these libs were built from
>> http://svn.apache.org/repos/asf/james/protocols/imap/trunk nightly)
>> For example, the Mailbox class is in the
>> org.apache.james.mailboxmanager.mailbox package when using the
>> apache-james-imap-mailbox-0.1-SNAPSHOT.jar  lib but the source code
>> under http://svn.apache.org/repos/asf/james/protocols/imap/trunk  has
>> in the org.apache.james.imap.mailbox package.
> I found that the nightly build sometimes (often?) leaves moved
> (especially libs) behind. This might be a specialty for the build
server, I
> never was able to reproduce locally, so...

IMAP is very much under development so the SNAPSHOT included in James
trunk is almost always out of date

>> Is there any nightly builds for the IMAP protocol layer or should I
>> build from the source code. I tried to build from the source but got
>> some errors, probably because I did not configure the use of the
>> property files correctly or something. Any readme file available for
>> to build the IMAP layer, should I use ant or maven? Sorry for the
>> trivial questions.

there aren't trivial at all - please feel free to ask

if you are still struggling then please post the error

> ... yes, I would recommend to build from source locally.


use ant

> Pls come back to the list when you encounter any problems.


- robert

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

View raw message