Pi’s Blog

My blog about Thunderbird and GSoC 2008

gContactSync Updates

Google Contacts API Update

Google announced a new version, 0.3, of their contacts data API yesterday.  It adds a significant amount of flexibility, several new fields, and enhances existing fields.  Some of the major changes include:

  • Structured Postal Addresses – It is now possible to keep the structured address fields that Thunderbird has without converting them.
  • A birthday field – I am currently working on enhancing the birthday field that will be present in Thunderbird 3, so the birthday values will be synchronized by default.  If you use Thunderbird 2 the values will still be stored and displayed once you upgraded to 3.
  • Website fields with various types (list)
  • More phone number types
  • A nickname field

It doesn’t look like all of the changes are available in Gmail yet, but you can see a few of them here.

Version 0.3

I am going to start working on Version 0.3 sometime this week which will use the new API and hopefully include some of the most frequently requested enhancements.  For those of you familiar with Bugzilla, I have a bug tracking my changes.  I am going to focus heavily on Thunderbird 3 starting with version 0.3 and may drop support for 2 with future versions.  If you are opposed to this please let me know and I will reconsider.

Here are some potential features.    Please keep in mind that I have a full time internship that involves programming and am starting an online class soon, so I may have to delay some of these.  The links are to bugs where I will track my progress.

  • Code refactoring.  This isn’t the most popular feature request, but I would like to like to reorganize the existing code with the new API and these enhancements in mind.
  • Contact photos.  I am working on contact photos in Thunderbird 3 and have a modified version of gContactSync 0.2.4 that will download photos from Google when adding contacts for the first time.  Due to time constraints, 0.3 may be limited to downloading photos only in TB 3.
  • Synchronizing all fields that only Thunderbird has and allow for customization of that data.
  • Adding a new ‘Relation’ field.  This describes the relationship between you and the contact (brother, sister, mother, father, child, coworker, etc.).  I haven’t found an existing request for Thunderbird in Bugzilla, so maybe I could add it in Thunderbird rather than just gContactSync.
  • Several more types of phone numbers. (list)
  • Website field types, and possibly more fields.
  • More advanced synchronization with a more intuitive wizard (pick an account, then all groups w/ mailing lists, one group, or no groups/all contacts, plus a few options).  Syncing individual groups with address books instead of mailing lists would prevent nearly all error reports that I get.
  • A button or context menu to synchronize only one directory.

Version 0.2

There have been a few new versions of gContactSync 0.2.  It is currently up to version 0.2.3 that handles mailing list bugs a bit more gracefully.  Download.

Since the development of 0.3 is going to take some time, I am going to slow down development of 0.2 and let it get translated to more languages.

Locales

  • ZaZy was kind enough to translate gContactSync to Italian (it).  Updates to the locale will be in 0.2.4
  • A Russian (ru-RU) translation is being worked on courtesy of Glk63 on BabelZilla.
  • A French (fr-FR) translation is in progress by afroxav.  Another translation was done by LaGrange.

Lessons Learned

  1. Mailing lists are evil.  Just kidding, but they can be broken easily rending them (and their parent address book) useless.  The cause of nearly every error report I have received so far is directly related to mailing lists.
  2. The nobody<id>@nowhere.invalid workaround helps but it is still possible to break mailing lists with this workaround.
  3. People would like to see gContactSync in their native language.
  4. People have good ideas and valuable suggestions.  I have received a lot of feedback and requests.  While I don’t have the time to implement every suggestion, I can at least try to add the more popular suggestions
  5. Creating a forum was a good idea.

Helping with Development

If you know a bit about JavaScript, XML, XUL, and/or CSS or even if you would like to learn I wouldn’t mind letting others fix bugs or enhance gContactSync.  The code has a decent amount of comments and I generated some JsDoc of 0.2.

Or if you are good with icons and could make at least a sync button image I’m sure everyone would appreciate it.

Advertisements

June 10, 2009 Posted by | GSOC, thunderbird | , , | 2 Comments

gContactSync 0.2.0 on AMO

I finally added gContactSync 0.2.0 to addons.mozilla.org.  I also placed it on BabelZilla so I should be able to add more locales (translations).  Since it is new and hasn’t been reviewed yet, it is still listed as “Experimental”.

Current Features

  • All the features of 0.1
    • Synchronizes an address book in Thunderbird with contacts from a Google Account (Gmail)
    • Customizable
    • Groups in Gmail are synchronized with mailing lists in Thunderbird
  • Duplicates (multiple contacts with the same e-mail address) are allowed
  • Much faster synchronization than 0.1
  • Only US English (en-US) until I finish adding features and strings
  • Customization of how addresses are synchronized
  • Can synchronize just one group (My Contacts), all groups (including My Contacts, Family, Friends, & Coworkers), or all contacts and no groups
  • A new fetch-only mode where Thunderbird only receives updates and never sends updates to or deletes contacts from Google.

Bugfixes & Enhancements since 0.1.x

Bugs in italics are new since 0.2.0b3

  • Bug 20925 Log the preferences
  • Bug 20907 onDrop needs to set dummy e-mails if the target is a mailing list
  • Bug 20681 Handle expired tokens
  • Bug 20655 Login dialogs should specify and validate an e-mail address
  • Bug 20549 Add a hidden preference to disable dummy e-mail address
  • Bug 20119 Improve the first login dialog
  • Bug 20891 gContactSync ignores the name in the first login dialog
  • Bug 20888 Change untyped phone number labels in the card view
  • Bug 20833 Add a preference to disable the new phone number labels in abResultsTreeCols
  • Bug 20865 Allow synchronizing only one group (My Contacts)
  • Bug 20864 The group XML feed is displayed in the verbose log twice
  • Bug 20771 Allow name parsing
  • Bug 20779 Add a preference to disable auto-delete
  • Bug 20853 Too much recursion when the log directory is deleted
  • Bug 20852 Illegal rel value due to dummy e-mail address
  • Bug 20658 Add version info to the log
  • Bug 20739 Add links to the support forum & wiki in the menu
  • Bug 20757 Allow read/fetch of Google Contacts only
  • Bug 20546 – Search is broken in gContactSync 0.2
  • Bug 20644 – Localize all strings in options.xul
  • Bug 20656 – Error: gAddressBookBundle is undefined
  • Bug 20527 – Avoid HTTP Request errors when the Address Book window is closed
  • Bug 20509 – Add Seamonkey support
  • Bug 20508 – Consider adding overlay.css to customizeToolbar.xul
  • Bug 20487 – Add shortcut to preferences in the Address Book
  • Bug 20486 – Improve Address Preferences
  • Bug 20352 – Update gContactSync to use Contacts Data API 2
  • Bug 20148 – Default groups dont appear in Thunderbird
  • Bug 19786 – Support for Google’s ‘Most Contacted’ & ‘Suggested Contacts’

Feedback

I would love to hear your feedback, whether positive or negative (if polite ;)).  My new preferred method of feedback is through the forum, which will hopefully help me stop forgetting to reply to e-mail and let others add their opinions to feedback.  Please send logs with the error report form or via e-mail and do not put them on the forum.

I am working on updating the wiki with articles on how to use and troubleshoot gContactSync.

I will be adding some polls here and would appreciate any feedback.

Tutorials

Flash tutorials are coming soon…  I’ll write another blog post when they are ready.

May 9, 2009 Posted by | GSOC, thunderbird | , , , | Leave a comment

gContactSync 0.2.0b3 Released

I have released gContactSync 0.2.0b3, and you can download it here.  This version adds the ability to synchronize just the My Contacts group along with a few GUI and logging changes.

Current Features

  • All the features of 0.1
    • Synchronizes an address book in Thunderbird with contacts from a Google Account (Gmail)
    • Customizable
    • Groups in Gmail are synchronized with mailing lists in Thunderbird
  • Duplicates (multiple contacts with the same e-mail address) are allowed
  • Much faster synchronization than 0.1
  • Only US English (en-US) until I finish adding features and strings
  • Customization of how addresses are synchronized
  • Can synchronize just one group (My Contacts), all groups (including My Contacts, Family, Friends, & Coworkers), or all contacts and no groups
  • A new fetch-only mode where Thunderbird only receives updates and never sends updates to or deletes contacts from Google.

Synchronizing only My Contacts

Switching from synchronizing all contacts or all groups + all contacts to only one group (My Contacts by default) has a few steps and should be done through the Preferences dialog only to avoid a lot of complications.

When switching, the preferences dialog will:
– Remove all mailing lists from synchronized address books
– Remove all contact from synchronized address books
– Reset the last sync date to 0 for all synced address books

This should not delete anything from Google (but did once before I fixed a bug), but you really should backup all contacts before switching.

I did test this process several times, but there may be bugs, so please let me know if there are any problems, and backup your contacts first. I’ll open new bug reports and leave this closed.

What Features are left for 0.2.0?

I will release at least one more version, 0.2.0rc1, before 0.2.0 with some GUI changes and possibly some bug fixes.  At this point, I think all of the features that will be in 0.2.0 are present

Bugfixes & Enhancements since 0.1.x

Bugs in italics are new since 0.2.0b2r2

  • Bug 20891 gContactSync ignores the name in the first login dialog
  • Bug 20888 Change untyped phone number labels in the card view
  • Bug 20833 Add a preference to disable the new phone number labels in abResultsTreeCols
  • Bug 20865 Allow synchronizing only one group (My Contacts)
  • Bug 20864 The group XML feed is displayed in the verbose log twice
  • Bug 20771 Allow name parsing
  • Bug 20779 Add a preference to disable auto-delete
  • Bug 20853 Too much recursion when the log directory is deleted
  • Bug 20852 Illegal rel value due to dummy e-mail address
  • Bug 20658 Add version info to the log
  • Bug 20739 Add links to the support forum & wiki in the menu
  • Bug 20757 Allow read/fetch of Google Contacts only
  • Bug 20546 – Search is broken in gContactSync 0.2
  • Bug 20644 – Localize all strings in options.xul
  • Bug 20656 – Error: gAddressBookBundle is undefined
  • Bug 20527 – Avoid HTTP Request errors when the Address Book window is closed
  • Bug 20509 – Add Seamonkey support
  • Bug 20508 – Consider adding overlay.css to customizeToolbar.xul
  • Bug 20487 – Add shortcut to preferences in the Address Book
  • Bug 20486 – Improve Address Preferences
  • Bug 20352 – Update gContactSync to use Contacts Data API 2
  • Bug 20148 – Default groups dont appear in Thunderbird
  • Bug 19786 – Support for Google’s ‘Most Contacted’ & ‘Suggested Contacts’

Feedback

I would love to hear your feedback, whether positive or negative (if polite ;) ).  My new preferred method of feedback is through the forum, which will hopefully help me stop forgetting to reply to e-mail and let others add their opinions to feedback.  Please send logs with the error report form or via e-mail and do not put them on the forum.

I am working on updating the wiki with articles on how to use and troubleshoot gContactSync.

I will be adding some polls here and would appreciate any feedback.

Tutorials for 0.2.0

I will probably create some flash tutorials like the original one I had.  This time I will probably host them on YouTube to prevent my website from getting blasted again.

May 1, 2009 Posted by | GSOC, thunderbird | , , | 2 Comments

gContactSync 0.2.0b2r2 Released

I have released gContactSync 0.2.0b2r2, and you can download it here.  The only changes are a few bug fixes, some logging improvements, support for Thunderbird 3.1a1pre, and a new link to the error reporting form in the gContactSync menu.  I recommend upgrading if possible, but if you already have 0.2.0b2r1 it isn’t too urgent.

Current Features

  • All the features of 0.1
    • Synchronizes an address book in Thunderbird with contacts from a Google Account (Gmail)
    • Customizable
    • Groups in Gmail are synchronized with mailing lists in Thunderbird
  • Duplicates (multiple contacts with the same e-mail address) are allowed
  • Much faster synchronization than 0.1
  • Only US English (en-US) until I finish adding features and strings
  • Customization of how addresses are synchronized
  • Default groups are enabled (Family, Friends, Coworkers) as mailing lists in Thunderbird
  • A new fetch-only mode where Thunderbird only receives updates and never sends updates to or deletes contacts from Google.

What Features are left for 0.2.0?

0.2.0 will probably have an option to just synchronize the My Contacts group since it contains the most important contacts and is all some devices, like the iPhone/iPod touch, synchronize.  It will also help avoid the usual problems with mailing lists.  I may also make some UI changes before 0.2.0.

Bugfixes & Enhancements since 0.1.x

Bugs in italics are new since 0.2.0b2r1

  • Bug 20779 Add a preference to disable auto-delete
  • Bug 20853 Too much recursion when the log directory is deleted
  • Bug 20852 Illegal rel value due to dummy e-mail address
  • Bug 20658 Add version info to the log
  • Bug 20739 Add links to the support forum & wiki in the menu
  • Bug 20757 Allow read/fetch of Google Contacts only
  • Bug 20546 – Search is broken in gContactSync 0.2
  • Bug 20644 – Localize all strings in options.xul
  • Bug 20656 – Error: gAddressBookBundle is undefined
  • Bug 20527 – Avoid HTTP Request errors when the Address Book window is closed
  • Bug 20509 – Add Seamonkey support
  • Bug 20508 – Consider adding overlay.css to customizeToolbar.xul
  • Bug 20487 – Add shortcut to preferences in the Address Book
  • Bug 20486 – Improve Address Preferences
  • Bug 20352 – Update gContactSync to use Contacts Data API 2
  • Bug 20148 – Default groups dont appear in Thunderbird
  • Bug 19786 – Support for Google’s ‘Most Contacted’ & ‘Suggested Contacts’

Sync Button Details

Newest instructions.

Quite a few users have reporting seeing a strange and ugly icon for the Sync button:

Toolbar buttons

It should look like this for now:

abcard-large

If you still see the incorrect icons there is a workaround that should fix it:

  1. In the Address Book window, go to gContactSync -> Preferences
  2. Check Force the Sync toolbar button image.
  3. Click OK/Close
  4. Close the Address Book window and open it again.

If those instructions still do not work, please let me know.

Feedback

I would love to hear your feedback, whether positive or negative (if polite ;)).  My new preferred method of feedback is through the forum, which will hopefully help me stop forgetting to reply to e-mail and let others add their opinions to feedback.  Please send logs with the error report form or via e-mail and do not put them on the forum.

I am working on updating the wiki with articles on how to use and troubleshoot gContactSync.

I will be adding some polls here and would appreciate any feedback.

Tutorials for 0.2.0

I will probably create some flash tutorials like the original one I had.  This time I will probably host them on YouTube to prevent my website from getting blasted again.

April 24, 2009 Posted by | GSOC, thunderbird | , | Leave a comment

Happy Pi Day – New Website and openCRX extension

New Website

I have decided to make a new website where I can combine my blog, old websites (pirules.com and pirules.net), some content from my mozdev projects.  This may come as a shock after reading my previous domain names, but my new domain is pirules.org.

It will probably contain the content from my old websites, including computer tutorials and tweaks, the programs I wrote in high school, extension info, etc.; my new blog; support forums for my extensions; and a wiki.

It is hosted by HostGator since I’m always on the move (home, internship, college) and my ISPs would probably not like me if I hosted everthing.  To my surprise, I was able to setup my account and get a jailshell today (Pi day/Saturday) and they were very quick.  Ironically, I used to setup and support cPanel users.

My old host, 1&1 was good for the price, but I wanted access to more and larger databases, PHP 5, SSH, etc.

New links

I would appreciate it if everyone would change all links to point to the my new website soon.  I have not nearly finished bringing everything up to date yet.

I have imported all of my blog posts to my new blog, and will probably write new posts in both locations until this one stops getting so many hits.  I have not decided what to do with my old websites since they are both getting a steady flow of hits.  pirules.com is hosted for free and remains to be the site with the most hits if you exclude my blog.

openCRX

A long time ago, in a galaxy far, far away, I was asked to write an extension that would import contacts from and export contacts to openCRX.  It is an open source (BSD-style license) Customer Relationship Management (CRM) solution with a lot of Groupware features

It shares a lot of code with gContactSync with a few less Address Book modifications, although I have not merged some recent v0.2 changes in yet.  It is fully compatible with gContactSync, but does not require it.

Links

Pi Day

Today is ‘Pi Day’ in the US (March 14th is represented as 3/14 in our stange date format).  I noticed mozdev.org has “3.14159265358979323846264338327950288419716939937510…” in their header, which is correct if you don’t want to round the last 0 to a 1 (the next digit is 5).  I decided not to memorize 64 more digits (to bring me from 250 to 314) at the moment but there is always next year.

Edit: Almost forgot to mention that the House of Representatives ‘supports’ the designation of March 14th as Pi Day.

March 14, 2009 Posted by | GSOC | , , , , , | 3 Comments

Online Tool for viewing Google Contacts

About

Since I finally got around to learning PHP, I decided to create a quick and simple online tool for viewing your Google Contacts.  It naturally supports the extra attributes that gContactSync uses (except allow remote content and preferred mail format since those aren’t too important).

My intention was just to make an easy way to view your synchronized Thunderbird/Google contacts from anywhere with Internet access with the ability to show the custom attributes added by gContactSync.  If you don’t use gContactSync you are better off using Gmail’s better-looking interface. 😉

It is read-only (you cannot update, delete, or add contacts or groups) for now.

I will put the source in CVS soon after I clean it up.  It reuses a lot of the JavaScript from gContactSync 0.2.

Instructions

You can find it here.  Click on the Login button to be redirected to a page from Google.  If you are already signed into a Google Account then you can click on a button to grant access to your contacts for pirules.net (my website).

If you choose to grant access, a token is stored and matched with a cookie on your computer so you only have to sign in once.  This token can be used to access your contacts by retrieving, updating, adding, or deleting contacts and contact groups but your username and password cannot be obtained or modified using this token.  You can read more about this authentication method (called AuthSub) here.

You will be redirected back to pirules.net where the one-use token is exchanged with a multi-use token (still only for contacts).  Then, your groups and the first 25 contacts will be obtained.  Click on a group (left side) to show the contacts in it and click on a contact to view more details.  Everything is on the same page right now and contacts are obtained using AJAX so the entire page is not refreshed until you logout.

Only 25 contacts (for now) are shown at a time so there are links to the previous and next 25 contacts, if applicable, at the bottom of the list.

Click the Logout button when you are finished, which will de-activate your token unless you want it to remain valid for future use on the site. Logging out takes a few seconds before giving any feedback.

As a sidenote, if it doesn’t work try waiting for 10 or 15 minutes before letting me know because I am actively working on the page and sometimes make mistakes.  I just caught a nasty virus (which ruined my first day off), so I may be slow to reply.

Requirements

  • JavaScript must be enabled for pirules.net
  • Cookies enabled for pirules.net (only needed until the page or browser is closed)
  • Firefox 3.0.6 or higher (tested with a fairly recent build of Shiretoko 3.1b3pre and Firefox 3.0.6).  It does not work in Internet Explorer 6, 7, or 8 right now, and it might not ever since I spend a lot of time at work making a website IE-compatible and it is neither fun nor easy.  I’m guessing anyone that uses this already uses Thunderbird and Firefox, but if that isn’t the case let me know and I’ll see what I can do.
  • It works on Safari (tested with my new iPod touch)

February 16, 2009 Posted by | GSOC | , | 2 Comments

gContactSync 0.2.0a2

About

gContactSync 0.2 takes advantage of Google’s updated and improved API for obtaining and modifying contacts.  Duplicates are allowed which, combined with a rewrite of the synchronization code, provides a significantly faster synchronization process.  The longest delay now seems to be receiving the contacts from Google.  There may be some room for improvement there, but I do not want to make too many changes yet until I make sure that the ones I made did not introduce any bugs.

The new API exposes the system groups, which include  My Contacts, Family, Friends, and Coworkers.  All contacts from the account, including Suggested Contacts are in the synchronized address book.  There is a mailing list for each of the pre-defined system groups and each custom group.

You can download it here, but I rewrote the most important code and there may be bugs I haven’t found in it yet.  I would only advise those who have hundreds or thousands of contacts and receive the “Unresponsive Script” warning to try it.  Please read the upgrade instructions below.

NOTE: Google allows contacts without e-mail addresses, but Thunderbird will break if a contact without an e-mail address is manually added to a mailing list as explained in Bug 20153.  If you encounter that bug in 0.1.x please let me know because it is somewhat difficult to fix and all attempts to synchronize after it breaks will fail.  To avoid this, 0.2 adds an email address “nobody@nowhere.invalid” to any contact without one.  However, only unique e-mail addresses are allowed in mailing lists, so only one contact with an empty e-mail address is allowed per group/mailing list is allowed until o.2.0b1.  The other contacts will appear in the address book only.

Current Features

  • All the features of 0.1
  • Duplicates (multiple contacts with the same e-mail address) are allowed
  • Much faster synchronization
  • Only US English (en-US) until I finish adding features and strings
  • Customization of how addresses are synchronized
  • Default groups are enabled (Family, Friends, Coworkers) as mailing lists in Thunderbird

Requirements

  • Thunderbird 2.0 or Thunderbird 3.0 (a1pre through the trunk build b3pre) or Seamonkey 2.0 only (not 1.1.x)
  • A Google account or Google-hosted account
  • An Internet connection faster than dialup (DSL, cable, satellite, etc)

Planned Features

  • More locales
  • Maybe addons.mozilla.org?
  • Let me know what else you would like, but I can’t promise anything

Upgrade instructions to 0.2.0

  • In the address book, synchronize contacts one last time.
  • Rename the synchronized address book(s), this is just so you have a backup of your contacts.
  • In the main window, go to Tools -> Add-ons -> gContactSync -> Options/Preferences
  • In the Accounts tab, select one account at a time in remove them.
  • Install the new version and restart Thunderbird.  There is no need to remove the previous version first.
  • Open the Address Book window and fill in the information for your first account.

Bugfixes/enhancements from 0.1.x

  • Bug 20527 – Avoid HTTP Request errors when the Address Book window is closed
  • Bug 20509 – Add Seamonkey support
  • Bug 20508 – Consider adding overlay.css to customizeToolbar.xul
  • Bug 20487 – Add shortcut to preferences in the Address Book
  • Bug 20486 – Improve Address Preferences
  • Bug 20352 – Update gContactSync to use Contacts Data API 2
  • Bug 20148 – Default groups dont appear in Thunderbird
  • Bug 19786 – Support for Google’s ‘Most Contacted’ & ‘Suggested Contacts’

Known Bugs:

  • Bug 20153 – Partial fix only – Groups containing contacts without email addresses break in Thunderbird

February 8, 2009 Posted by | GSOC, thunderbird | , , , , | Leave a comment

My Recent Lack of Activity

I apologize for my recent lack of activity both on gContactSync and Thunderbird.  I have not vanished from the Open Source scene.  The past month was tough (very busy and not fun) due to some strange medical issues that eventually forced me to go to the hospital.  During that time I had to devote my energy to catching/keeping up with homework, papers, and projects for college as well as my part-time job to help pay for college.

I’m doing well now, and will hopefully find some time to work on gContactSync and a few Thunderbird bugs (like an extended XBL datepicker for the Birthday and (not yet created) Anniversary fields) between homework, finding an apartment, and visiting relatives and friends over my one week off for Thanksgiving break (I also have several computers to fix, remove malware from, and setup for relatives).  I accepted a co-op position (not related to Mozilla) from January until August 2009, so I may have more spare time to work on my extension and Thunderbird.

My first goal is to catch up on bugs, e-mail, etc.  I apologize again for my recent unresponsiveness and inactivity.

Status update

  • Thunderbird
    • Bug 456024 Turn the adapted birthday datepicker into an inherited/extended xbl widget – I’ve had a basic patch for some time now that introduces an extended XBL datepicker widget that allows for blank values for the month and year (with M/D empty text) and removes the year portion of the datepicker
    • Bug 456220 Birthday and month shown in card view aren’t localized well – I just need to have some input on how to solve this.  Using the system settings is fine if the year is present, but if not there are two main choices that I see:

      • Just as the system describes (MM/DD/YYYY for me in US English on Linux, Day Name, Month Name D, YYYY in Windows in US English), but with the YYYY, separator, and  day name & separator removed (if present)
      • Look at how the system does it (find the month/day relative order and the separator between them) and print the month name and day in the detected order with the separator.  However, in Linux this would be inconsistent with the MM/DD/YYYY that I get.
    • Bug 456026 Add day/month order indications to the birthday field on address book contacts – The datepicker bug should fix this
    • Bug 458591 Consider improving the labels on the Birthday Field – I just need some recommendations on how to improve them.  There is an outdated image of the new datepicker here (the card dialog was since changed).  Localizer feedback would be awesome since I only know English and some Spanish.
    • Bug 456025 Implement an anniversary field in the address book – Waiting on the datepicker
  • gContactSync
    • Considering new name (gContacts as it originally was).  Any ideas are welcome
    • Working on replying to recent feedback over e-mail, the mailing list, and blog comments
    • Contrary to what some believe, the gContactSync “team” consists of one busy undergraduate Computer Engineering major only as a volunteer project (started as a paid Google Summer of Code 2008 project)
    • Anyone who wants to help program, fix bugs, or add features is welcome to do so (shoot me an e-mail).  The code has a lot of comments in it.
    • Checking out the poll results from my last post and deciding on what to do after fixing some bugs
    • Bugs
      • 20188 Card Dialog overlay is broken on trunk builds – Trying to figure out the best way to have two totally different overlays
      • 20169 Extra attributes should be disabled for read-only cards – The textboxes and types added are not disabled for read-only cards (like cards found through LDAP)
      • 20153 Groups containing contacts without email addresses break in Thunderbird – Have not figured out the best way to start this yet

November 21, 2008 Posted by | Uncategorized | , , , , | 1 Comment

gContactSync version 0.1.1 released

Version 0.1.1 of gContactSync is out and available for download here.  Right-click and hit Save Link As, then install it in Thunderbird.

New Features:

  • Greatly improved Preferences dialog (thanks to some help from Leszek(teo)Życzkowski)
  • Bug 19960 – Add a preference to enable/disable the toolbar button
  • An icon (again, thanks to some help from Leszek(teo)Życzkowski)
  • Verbose logging is disabled by default (should speed things up slightly)

Bug Fixes:

  • Bug 19964 – Log file window is too small in Thunderbird 3.0b1pre
  • Bug 20099 – gdata.makeAuthBody does not encode the e-mail address or password
  • Bug 19959 – the sync toolbar item got a wrong icon and can’t be removed from toolbar – UPDATE – this may not have been fixed according to the bug reporter.  Please let me know if this still happens.

Basic Features

  • Synchronizes contacts between Google Mail and Mozilla Thunderbird (2 or 3)
  • Can synchronize several accounts with their own address books
  • Adds attributes and “types” for phone numbers and screennames to Thunderbird
  • Customizable with a preferences dialog
  • en-US and es-ES locales

More Information

As always, feedback, feature requests, and bug reports are appreciated, but please be patient as I’ve been extremely busy with college, work, and co-op/internship hunting.  Thanks to everybody who has provided feedback up to this point.

TraceMonkey Note – if you are using Thunderbird 3.0b1pre, you can try enabling TraceMonkey.  It made the synchronization process faster for me.  Great job everbody who worked on it!

October 18, 2008 Posted by | GSOC | , , , , , | 5 Comments

gContactSync 0.1.0 released

I have finally released version 0.1.0 of gContactSync.  You can download it here.

New Features:

  • Spanish (es-ES) locale – Thank you Guillermo Klew!  Note: I just added a few more strings and didn’t have time to ask for help, so if you see any poor translations, they’re my fault. 😉
  • Improved logging
  • Clicking on the status bar text in the bottom right brings up the log
  • Added a preference to disable verbose logging (not recommended)
  • Improved account management and preferences
  • Updated to work with Thunderbird 3.0b1.  The extension says it works with Thunderbird 3.0b2pre, but 0.1.0 might not work in a few months if the address book has more changes.  I’ll try to release an update before anything major is committed.

Thunderbird 3.0b1 will have fields for storing birthdays.  While Google doesn’t, you can still synchronize these fields by replacing three of the extended properties with BirthDay, BirthMonth, and BirthYear.

If you think you have found a bug or would like to request a new feature, please comment here, e-mail me, or write a bug report.

Update:

  • A user filed bug 19959 showing the wrong icon for the Sync toolbar button.  If this happens to you, too, please let me know your OS, version of Thunderbird/Shredder (Help -> About), and if you are using the default theme.
  • Bug 19964 – Log file window is too small in Thunderbird 3.0b1pre.  This has been fixed and the fix will be included in version 0.1.1

September 20, 2008 Posted by | GSOC | , , | Leave a comment