Wednesday, June 30, 2010

MailNews read status and tag name sync

I didn't post my GSoC project weekly update last week because I couldn't do any of the project work last week because we had our final year project evaluations that week. This week however I was able to get back to work on the project:)

I am happy to finally have feed status and tag name up and down sync working in my MailNews engine. But I cannot celebrate yet because I have some tasks to clear yet. I am listing them below so I can track my progress on these tasks in future.

1. Weave have changed their code structure and shifted their code repository from to The engine code API is still is pretty much the same but I have to test my MailNews Engine with the new weave code and especially look how changes made with Bug 572436 will affect it.

2. Generalize the MailNews Engine status and tag name sync so that it will work for both feeds and newsgroups. (avoiding email for now because differences in protocols such as POP and IMAP result in new complications to sync).

3. Do complete testing for MailNews Engine in Seamonkey and TB (must decide which version to do the testing for?).

4. File new bug to include MailNews Engine in Weave and followup on old Tabs for Seamonkey bug.

Project mid evaluations will be held 12th-16th July and project closing will be 9th-14th August. So I have about 6weeks to finish all the work. I will have to speed up my work a bit but hope to get everything done on schedule:)

Saturday, June 19, 2010

Adding thunderbird support to mail news extension

Writing the new mailnews engines into a separate extension somehow made it easier for me to keep track of my own code. Of course writing the code directly inside the weave extension was easier but I found keeping track of my code to be a bit messy process. So the plan is to to now continue development in the separate extension and submit the patches to weave once the code is tested and fully functional.

This week I added thunderbird support to the mailnews-sync extension. I used weave-ext.xpi and weaver.xpi made to add weave functionality to thunderbird by Shane Caraveo (aka. mixedpuppy). The xpis can be found on his blog here: I have updated the svn with the tb support code ( The extension works on current thunderbird build (3.2a1pre which is ominously named as the 'Shredder').

Next week is going to be busy with final year project presentations and demos but I plan to test and complete the mailnews read status up&down sync within the week. I also need to follow up with the tabs sync patch on bugzilla.

Other news:

Lightning in Seamonkey

I recently tried out the lightning extension in Seamonkey and it seems to me to be the perfect calendar app. I used to be a fan of Google Calendar but I needed to be online and logged into Gmail to view it so I stopped using it after awhile. Lighting seems just super for me. There is another student from the junior batch in my university who is working on Lighting for his GSoC project this year. More details can be found on his blog here:

Got my GSoC 2010 package today!

Was very happy to receive my GSoC package today. I am now the proud owner of a Google pen, 2 GSoC 2010 laptop stickers, a GSoC 2010 notepad and my very first visa card! I haven't planned what I will do with the money although I have a general idea of saving up for my masters studies which will either be on business or IT, i still have to decide..

Seamonkey & me..

This week I had a chat with my mentor Robert Kaiser and he gave me some insights into the history of Seamonkey and the way forward for the project. Here is the link to the Seamonkey 2.0 & the Vision beyond article : I am really interested in having the 'all is a tab' option in Seamonkey and hope to contribute to making that vision a reality soon after my GSoC work:)

Thursday, June 10, 2010

So suite!

I took a bit of a break from work today afternoon to design my very own Seamonkey tee.

Wednesday, June 9, 2010

Writing the new mailnews sync engine as a separate extension

I have shifted the mailnews sync engine into a separate extension so that it can be used with existing weave extension. You can find the code here.

I am currently working on this repository but the basic engine functionality is already implemented. This extension should be used along with latest Firefox Sync version(1.4a1pre). New mailnews engine however will not show up in the Sync preferences pane unless a slight code change is made in weave( However the mailnews engine is set to be active by default.

I will start submitting the mailnews engine patches to Weave as well soon. Since Weave is due to be a part of the central mozilla code i need to have the new engine code integrated into Weave.

Wednesday, June 2, 2010

The Downfall of Agile Hitler

Got a link to this video from Igor Velkov, one of my GSoC project mentors. Thought it really funny to see Hitler's character talking about Agile development so sharing it here..

Of course the English subtitles are fake!:D

Tuesday, June 1, 2010

New MailNews Engine for Weave and other news..

Weave MailNews Engine

I finally have my new MailNews Engine running on Weave. The Weave API is a bit complex and so it took me some time to understand it and use it correctly. Right now I simply have the new engine registering on Weave and the engine tracker running. The tracker is my first step towards creating new records for keeping track of mailnews message property changes (read/unread status, flagging, tagging etc.). Next steps are to get upsync and down working for these records. Will upload the new engine code to svn and post a link here soon..

My First Weave patch review

Got my first weave patch reviewed ( I need to make the changes mentioned by mconnor and resubmit the patch. Learnt that I especially need to pay more attention to code styles in future. Followed to learn the correct code styles used in Mozilla code.

The 3 week holiday

University if closed for 3 weeks because some guys picked a fight and the VC thought it best to punish all 2000+ students instead of just punishing the people who were actually in the fight. Our final year project evaluations have been postponed because of this and this means we will have to start on our jobs soon after finishing university in September. I don't mind though because this holiday gives me time to work on my GSoC project. Also university work was getting hectic with project evaluations and mid semester exams coming up so the break is much appreciated (thank you Mr. VC!).