MailNews:Address Book RoadMap

From MozillaWiki
Revision as of 05:24, 13 May 2008 by Standard8 (Talk | contribs)

Jump to: navigation, search
MailNews Homepage
Address Book Homepage
Help Wanted
LDAP Address Books
Code Structure
Bug Locations
Related Standards

The purpose of this page is to provide a guide to where various aspects of Thunderbird/SeaMonkey may proceed to improve the address book and the various advantages of each step.

This is not an agreed roadmap, nor is it a statement of what Thunderbird/SeaMonkey will definitely do.

Back-end Interface Re-organisation

Design: MailNews:Address Book Interface Redesign

Main bug is bug 413260

Current Steps (based partially on jcranmer's patch queue):

  1. Make the nsIAbCard interface more flexible for new properties and different types (patch awaiting review from dmose).
  2. Start refactoring nsIAbDirectory into nsIAbCollection.
  3. Implement the propertiesChrome function for opening AB property dialogs
  4. Move cardForEmail from Mork specific code to generic code.
  5. Separate mailing lists from directories and cards into their own object.
  6. Decide on interfaces for address book interactions and compatibility with async/sync address books.
  7. Implement new interfaces from previous item.


  • New interfaces will make it much easier to interact with the address book.
  • Interfaces are designed to make interfaces generic across different address book types. They should hide the fact that you're talking to a LDAP book, or an OS X directory.
  • Prepares for moving to SQLite.

Current Status:

  • Patches blocked by awaiting review on step 1.
  • Standard8 needs to find time to discuss async/sync interfaces with dmose in more detail.

Writable LDAP

Very much wanted by lots of people.

bug 86405 is the main tracking bug.

Current Steps:

  1. Once AB Interface redesign has completed the async/sync interfaces, implement appropriate hooks for LDAP (if not already there).
  2. Implement any required UI tweaks/improvements.


  • Provides a good solution for users (mainly corporate/small networks?) to share address books.

Current State:

  • Writable LDAP source code is in cvs, enabled by compilation switch.
  • UI is no where near usable by end-users or advanced users (i.e. don't even think about it to be enabled by default).

Remove RDF from the Address Book

Being able to do this partially depends on the interface back-end redesign, but will also help that.

Current Steps:

  1. bug 422845 Replace RDF-driven address book tree with js one (waiting on jminta, busy until June).
  2. Re-use the new tree for other address book menus (including address book and LDAP preferences).
  3. Replace any other RDF instances (none?) or uses.
  4. Remove RDF from the address book, at the same time, replace the current preferences system with a new one (based more on flexibility of address book types). New system to be based in nsAbManager.


  • Removes "obsolete" RDF interfaces from address book
  • Tidies up a lot of code and removes some old items
  • Different address book types could be fully implemented in extensions in javascript bug 424218 (TB 3 blocker).

Switch Mork to SQLite

Implement providers for different address book card translations


  1. Once step 1 of redesign (nsIAbCard) is complete, implement code to change providers.


  • This would allow different card translations e.g. nsIAbCard to vCard/hCard etc.
  • Extensions could add to the formats available.

Current Status:

  • Blocked by nsIAbCard refactoring.
  • Standard8 knows what he wants to do to put this together.

UI updates