Sunday, October 12, 2014

Sync Hotmail/Outlook.com contacts with the Thunderbird address book.

For as long as I have been using Thunderbird there have been those folk who wanted to synchronise contacts with Hotmail/Outlook.com.  This has been relatively simple for Google account holders, with multiple add-ons available, with relative strengths and weaknesses.  Whilst chasing information on an unrelated subject in the past week I stumbled upon the TZ Push add-on. Something of an unfortunate name as it does not allude to it's ability with activesync or Outlook.com.  This add-on connects to ActiveSync data sources. The add-ons page states Z-Push, Zentyal/Zarafa, Horde, Outlook.com and other Activesync providers.  So there are two things here.

  1. TZ Sync is an activeSync address book synchronisation tool. So any service that offers activSync or Exchange ActivSync should be supported.
  2. There is a truly viable way to syncronise contact information between Thunderbird and Outlook.com.

Lightning and CalDav

While the title of this [post is CALDav and Lightning,  most of the space is going to be taken up with Googles implementation as it is problematical and Google are all over the place with their documentation.  It has taken hours of trawling through Google help and support articles as well as support forums to finally put together all of the necessary bits for Google.  Yahoo on the other hand mange is in about 10 lines on one page.

Traditionally Mozilla have recommended the use of the gdata provider with Goggle calendars to create read write access to those calendars using XML. This process pre-dates Googles adoption of CalDavand requires the Gdata provider add-on as well as Lightning.   CalDav read write synchronisation requires no third party data provider and just works and works the same for other CalDav.

To create a CalDav connection to your Goggle calendars, first you need to establish your personal CalDav URL for connection to the calendar.  If you have a single calendar the calid is your email address.

  • In this example if your email address is something@gmail.com then the URL is
    https://apidata.googleusercontent.com/caldav/v2/something@gmail.com/events
  • Additional calendars have a calid issued by Google so using the base URL replace the calid with the correct Id for your calendar.


 

Enable CalDav synchronization.

Even though it is not referenced anywhere else the page says Select calendars to sync to your iPhone/iPad/iCal* following the asterisk shows or any other CalDAV device.So in typical style the option in there, but well disguised.so navigate to https://www.google.com/calendar/syncselect and enable CalDav.


Note:- I had trouble with my CalDav Calendars on Google and found that I needed to use the config editor to change the preference network.http.spdy.enabled.http2draft to False  

Note that there are other network.http.spdy.enabled. preferences but only the http2draft appears to affect he outcome.  Bug 1081613 refers