mozilla
Your Search Results

    Thunderbird documentation list

    This page is a checklist of sorts for planning and organizing an effort to write proper Thunderbird developer documentation. Once we come up with a good, logical list, we can start writing real documentation.

    If you'd like to help, please feel free to edit this page to help organize the needed contents, add ideas for needed articles, and notes on where to find useful information.

    Introduction to Thunderbird development

    This document (or possibly a set of documents, depending on length) would cover basic concepts that are useful for Thunderbird developers (or potential developers) to know.

    History of Thunderbird

    A historical overview of the project.

    Project goals

    What the Thunderbird project wants to achieve.

    Primary developers

    Who's involved in the project? Who do you go to for help with specific topics? This will be helpful both for new developers and for writers, to find the people to go to when you're trying to get a specific piece of code documented.

    Getting started with Thunderbird development

    This article would include links to articles on getting and building the code, the build system, and so forth. Consider the following examples from the Calendar project:

    See this page for some useful information.

    Policies in <tt>all.js</tt>

    Documentation of the policies in the TB all.js will be nice for script writers trying to develop dynamic HTML & CSS for mail/news. Currently it's a lot of trial and error toggling policies from "noAccess" to "allAccess" to get script functions activated for dynamic layout.

    Thunderbird architecture

    This series of articles should include API references as well as sample code snippets.

    Account manager
    See http://www.mozilla.org/mailnews/arch...ntmanager.html for some information. There should be information about how to iterate over all accounts.
    Accounts
    Include information about how to get and change account settings.
    Identities
    How are identities saved in the preferences?
    Servers
    How are servers saved in the preferences?
    Folders
     ?
    Message database
     ?
    Message headers
    How do you get the account for a message? How do you change headers and how they're displayed in the UI?
    Messages
    How do you stream a message to see its contents? How do you create and use message selection listeners?
    nsIMsgDBView
    This drives the thread pane.
    Compose window
    How do you manipulate and extend the compose window?
    Address book
    How do you iterate across address books? Search them? Modify or add entries? Delete entries? standard8 knows about this stuff. See http://wiki.mozilla.org/MailNews:Address_Book for some helpful information.
    General
    What is the process of sending a message (possibly automated)?
    Filters
    When and how does TB invoke filters? How could one add additional filter rule types?

    Samples

    We need some good samples. These should include:

    Iterating over all folders in all accounts
    See http://lxr.mozilla.org/mozilla/sourc...ervice.cpp#165 to get started.
    Opening a database and iterating over its message headers
    See http://lxr.mozilla.org/seamonkey/sou...kByDate.js#103 to get started.
    Streaming a message
    See http://lxr.mozilla.org/seamonkey/sou...rvice.cpp#1126 and http://forums.mozillazine.org/viewtopic.php?t=214824 to get started.
    Parsing a message
    See http://lxr.mozilla.org/seamonkey/sou...ervice.cpp#998 as a starting point.

    Document Tags and Contributors

    Contributors to this page: Sheppy, Jens.B
    Last updated by: Sheppy,