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 Darrell DeBoer <da...@apache.org> on 2002/11/22 03:32:03 UTC

It's IMAP, Jim, but not as we know it...

Howdy folks,

Well since I last emailed a bit over a week ago, I've been busily coding away 
on an Imap proposal. After a bit of struggling with the old code, I made a 
clean break and started again - just pulling in the bits I needed as I needed 
them.

Because these changes are so radical, I've opted to put them into a new 
proposal (imap2), and leave the existing one intact.

The new proposal is IMHO heaps simpler, and easier to develop on, although 
functionally not as complete. Some of the design ideas have stayed the same, 
while others have been scrapped and overhauled. There's still heaps of work 
to do, but I wanted to get it into CVS as it stands, so that I can get 
feedback and (hopefully) collaboration.

Remember, this is very much a work-in-progress. I'm very much of the 
design->code->*[refactor] approach, so nothing is set in stone. The only 
storage implementation is currently in-memory, so the IMAP server is probably 
only suitable for storing your worst spam ;). Being in-memory makes it easier 
to test and refactor, though, so it's ideal for development. There are heaps 
of TODO markers throughout the code, for bits I wanted to leave til later.

So, what does it do? Not much, really. Currently, the code passes the Unit 
tests I've  written for various components, and the server builds and runs 
OK. The functionality implemented is limited to CREATE, DELETE, RENAME (need 
to write a test), LIST, SELECT, EXAMINE, CAPABILITY, LOGIN, LOGOUT. The only 
way I've tested it is via telnet, and through the various protocol test 
files. I haven't bothered to try to connect an email client.

If you want to have a play, you can build the server by cd-ing to 
proposals/imap2, and running "ant -f build.xml". 

The unit tests can be run by "ant -f build-test.xml unit-tests"
The protocol tests can be run by "ant -f build-test.xml protocol-tests". For 
this to work you'll need to have started James first. (I need to see if I can 
get my JamesTask working, so I can stop/start james from within ant).

Anyway, have a look, and let me know. It would be great if anyone wanted to 
pitch in and help out.

-- 
ciao,
Daz

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>