Pi’s Blog

My blog about Thunderbird and GSoC 2008

Thunderbird 2 Support

I recently decided to support Thunderbird 2 (specifically and above), but only had basic sync support (only the original attributes were synced) until figuring out a few bugs today.  As of now, the extension fully supports Thunderbird 2, 3, and 3 with the patch for Bug 413260 applied.  The only catch is that the extra attributes added by the extension (like Third and FourthEmail, different types of screennames, etc.) are only editable after the card has been created.  You cannot make a new card and set those attributes right away due to how the address book works before the refactoring in Bug 413260 is applied.  It detects the version and whether 413260 is applied when it starts, so the same extension will work with whatever version you have installed between and 3.0a2.

Over the next week I plan on testing the features of the extension and fixing any bugs that appear.  When this is done, I will hopefully be able to release an alpha version for public use.  If you do decide to use it, I strongly suggest backing up all of your Google Contacts and your entire Thunderbird profile.  You can find info on backing up your Google Contacts here and info on backing up your profile here.

Edit: There is another problem without the patch from Bug 413260 applied.  Copying a card will not copy over the added attributes.


July 19, 2008 Posted by | GSOC | , , | Leave a comment

Extension Update


Since the last update, I have finished refactoring all of my code except for the code that converts contacts from one format to the other to make it more object-oriented.

Bug 413260

I have applied the most recent patch in Bug 413260, which, among many other things, removes specific attributes from nsIAbCard and uses a hash table to store attributes.  Since custom attributes can be added and retrieved easily and quickly, I have started synchronizing more information.  From now on, the extension will depend on bug 413260, thus Thunderbird 3.0a2pre and above.  There will be more changes in that bug, and I will adapt my extension to each new patch.

Synchronized Attributes


  • Name
  • The first four e-mail addresses (of any type).  Only the first two are shown in Thunderbird, for now.
  • The first mobile, home, work, pager, and both home and work fax number.  Home fax number is not displayed in Thunderbird.
  • The first screenname of each type (Google Talk, AIM, MSN, ICQ, Jabber, and Yahoo).  Only AIM screennames are shown in Thunderbird.
  • The first home, work, and other address.  The other address is not displayed in TB.
  • Job Title
  • Organization
  • Notes


  • Display Name
  • Home: Address, Address Line 2, City, State, Zip, and Country
  • Work: Address, Address Line 2, City, State, Zip, and Country
  • AimScreenName (_AimScreenName)
  • Work, Home, Pager, Cellular, and fax number (fax number is set as work fax when syncing)
  • Primary and second/additional email
  • Notes

Possible Future Additions

I may add my own instantiation of nsIAbDirectory, as suggested by my mentor.  This would bring several advantages in the future.

I will probably add an overlay to the card view to show some attributes that gContactSync adds (such as additional e-mail addresses and screen name types).

Questions for potential users

  • Would the ability to sync photos be useful?
  • Approximately how many contacts would you sync?
  • What else would you like synced?
  • Are there any attributes you would like added to the Thunderbird Address Book?
  • Do you use lists in Thunderbird?  Groups in Gmail?

July 7, 2008 Posted by | GSOC | , , , , , , | Leave a comment