Some Python/Moz links:
some 2000 notes on the theory of turning Mozilla components into Python components
Mozilla Mail Architecture: http://www.mozilla.org/mailnews/arch/index.html
Mail/news intro http://www.mozilla.org/mailnews/intro.html
Mail and RDF: Mozilla Mail exposes many of it's data structures to RDF through a few datasources. This allows exposure of mailnews-specific data to user interface using RDF Templates. This seems to include mail messages, though I'm not clear on whether it includes the body of a message or only its metadata. Datasource names/interfaces are listed. http://www.mozilla.org/mailnews/arch/rdf.html
2001 Proposal for Modifying Mozilla Address Book Code: This document explains the process underway to modify the existing code of the Mozilla address book to enable support many types of address book. Currently the address book implementation only supports one type of address book which utilizes the Mork database infrastructure for storage of address book data. http://www.mozilla.org/directory/addrbook-refactoring-proposal.html
- Dave McCusker wrote MorkDb a long time ago. Mork was for address books and mail-news summary files. I think Chris Waterson also used Mork for the history files. The content model is general enough to encode about anything. Nearly everything is representable as objects with attributes.
Feb2004: working with Email Encryption
General RDF info
Example goal: build a Wiki or other Knowledge Management app using RDF, but be able to read/write People/Contacts records in the Mozilla address book. Why? (a) to get a decent GUI app without any work, and (b) be able to Data Synch contacts to a PDA.
Central nav page
Back-end architecture (Jul'01) includes a fuller description of the model, and example code for the interfaces.
Datasource how-to (Jun'00) is a cookbook that describes how to create a native, client-side datasource that works with Mozilla's RDF implementation. See 'Implement the interface yourself.' If you choose this route, you'll need to implement each of the nsIRDFDataStore methods "by hand". Although this is more work, it is really the only way to create a "live" datasource that may be changed by some outside agent.
going to play with the Scribe plugin for saving form edits locally