Submitted by Ian on Mon, 06/08/2009 - 21:26
Little progress this week, unfortunately. Some unrelated work got in my way.
The last week was spent discussing how I want to have the the DBus API and the storage backend communicate.
My TODO list was:
* DBus API needs to be totally independent of the cache
* Store raw RFC822 messages in a Maildir-esque local cache
Information requested of the DBus objects will send the request through to the storage backend which will now search for it locally but hit the server if the required information is required. This is rudimentary at the moment.
Submitted by Ian on Tue, 06/02/2009 - 22:04
I started coding during the community bonding period.
During this phase I laid out the DBus API for mail, started a basic Command module that will control configuration dataMail will be broken down into objects.
Most of this time was spent figuring out how to handle asyncronous requests of the mail server. Initially, I am using a bunch of threads and a queue for them
to pull work from.
Mail is conceptually separated into Accounts, folders, lists of messages and messages, each with their own API accessable over DBus.
Submitted by Ian on Wed, 05/27/2009 - 00:06
Thunderbird has my Funambol plugin so I can sync with my Blackberry.
Evolution handles signatures in a way that I agree with.
Thunderbird looks nicer.
Evolution doesn't need to be told to fetch messages from all of my IMAP folders
Thunderbird has superior message threading.
Evolution is a Gnome app.
Thunderbird can mark messages deleted, instead of moving them to some weird Trash folder.
Thunderbird doesn't have the ugliest default addressbook of all time.
I'm really hung up on the signature handling. I don't want all of my messages to go out with my SoC signature.
Submitted by Ian on Mon, 05/25/2009 - 00:27
So, coding has officially started. I have some code written already.
Right now, I'm working on getting a cache controller written. Requests will handed to the Account object, which will then dispatch the actual requests to the Cache controller.
The Cache controller will search locally for the message or hit the server if necessary.
Submitted by Ian on Tue, 05/19/2009 - 04:13
He would be better to explain it.
Submitted by Ian on Tue, 05/19/2009 - 02:53
Working on the idealogical hierarchy of the API now.
Submitted by Ian on Tue, 05/19/2009 - 02:45
Submitted by Ian on Fri, 05/01/2009 - 17:57
I am using Python's IMAPlib. It is acceptable for what I want to do at this point, thankfully. I was not looking forward to writing my own IMAP parser, certainly.
I've got my code connecting to the mail server, getting lists of messages, downloading those messages and providing a simple interface to DBus. D-Feet is a great testing tool, even if it is a little slow.
Next, I will impliment searching the IMAP server for messages over DBus, with a list of UIDs being returned. I'm excited.
Submitted by Ian on Fri, 05/01/2009 - 14:35
Hi. I am Ian Marcinkowski.
I will be working on a GNOME project for this summer's Summer of Code. I aim to develop a mail service for GNOME that will provide access to mail content and information to the entire system over DBus.
That's all for now.