OpenOffice and .WBA Files

While trying to import a .WBA file into Thunderbird’s address book, I learned a bit about .WBAs, mailing lists, and how far Open Source applications have come.

My wife, Tamara, was president of the Washington Calligrapher’s Guild, for quite a while.  Among her many tasks was sending email notification to hundreds of members.  Although she’s stepped down to take on some larger commissions and projects, she still handles the group notifications on occasion for important announcements.  Many of the members use web based accounts either through their ISP or Hotmail, and most anti-spam packages recognize a bulk message from Hotmail as being a bad thing — as such, important notifications never make it to their destinations.

A guild member who manages the current list of email addresses sent an updated list, and my wife who’s technically savvy in such matters bumped into a problem, so she called me.  My wife uses two packages to do her magic: OpenOffice and Thunderbird.

Try as she might, she could not get the .WAB file, which is a Windows Address Book file, imported into Thunderbird.  She could open her address book in Thunderbird, and she could double click the .WAB file and see its contents, but she couldn’t cut’n’paste, nor could she import the file …all of which was very confusing, because she could see the email addresses clear as day.  More importantly, she doesn’t have MS Office nor Outlook installed on that machine.

I have to admit, when she called me, she’d tried a lot of things, and even I fumbled around for half an hour trying to figure out what was going on and why this trivial task was so hard.

The answer was surprising: OpenOffice does handle .WBA files in the first place!  The only reason we got the file open was because Outlook Express, which comes with XP, was on the system, and it had opened the address book.  However, because Thunderbird’s GUI for its address book is so close in visual layout, neither she, nor I, recognized we were in two different applications!  It looked and felt like we had two identical dialog boxes up working on different files; once we knew what was going on, the subtle differences became apparent.

Obviously the goal was now simply to export to a data neutral format and import with the other application.  This led to a new, more frustrating problem.

The way the Windows Address File works is that it maintains a list of email addresses, of which email lists are simply logical subsets.  This makes sense from a design standpoint, because if you update one person’s email address, you don’t want to have to change their email address in every list you own.

The problem was Outlook Express didn’t want to export just the emails from the list, it wanted to dump all of the addresses, and sorting out the personal emails, the other lists, the virus induced email addresses, and the real guild related ones was a nightmare to do manually.  Try as we might, we couldn’t get the lone list exported by any conventional means.

The solution, it turned out, was to open the list, do a select all followed by a copy.  I then had to open notepad and do a paste.  This made some ugly multi-line records.  I then pushed this file to a Unix system, where I hacked a quick one line Perl program at the command line to reformat the records, and pulled it back to the Windows box.  Open the file in OpenOffice jiggled it into a format that not only Thunderbird was able to read without complaint, but GMail as well!

In fact, once the data was outside of Microsoft’s clutches, we had no problem repurposing it for anything else.  The moment an open source application could touch the data, all the interoperability problems instantly vanished and my wife was back to doing work again.  It was a wonderful real-world example of why proprietary data formats are harmful to a typical end user, even the savvy ones.  It was also a wonderful example of how good Open Source software is becoming, in that unless you’re looking for it, you actually think you’re using commercial software.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.