Visit Mozilla.org

Grendel:Development

From MozillaWiki

Grendel
Home
Coding Documentation
Review Policy
Libraries
Compile
Outstanding Issues
Development Document
Links

Contents

State [edit]

Build [edit]

Grendel's build system is based on Apache Ant and requires Java 1.5 to compile.

Librarys [edit]

Grendel requires a large collection of Libraries. Many of these librarys are quite old and may no longer be maintained. Hopefully these will slowly be replaced.

News [edit]

News is currently provided by GNU JavaMail's NNTP Providers. These are faster and more reliable that Grendel's own NNTP Providers.

POP3 [edit]

POP3 is currently provided by Sun JavaMail's POP3 Provider as it works.

Plans [edit]

These are plans for where Grendel is going. Some of these are short term others may be long term.

General [edit]

  • Resources contained in resources-specific directory instead of flying all over the place.

UI [edit]

  • Moving to the Mozilla-friendly XUL instead of a Grendel-specific XML format for the UI design. (Bug 293079 using the MozCreator Java XUL Parser API
  • Drag & Drop conversion from builtin grendel.dnd to Java 2 java.awt.dnd, or vast improvements in the builtin grendel.dnd code.

JavaMail [edit]

Add transparent JavaMail caching for remote message stores. (Currently discussing/working with Tim Boudreau on this.)

POP3 [edit]

  • Use the proper way to view POP3 mail by downloading to a local store. (To be implemented as a download to given folder, this allows customization)
    • This should support a session flag for leave mail on server.

HTML Message Viewing [edit]

  • The HTML display in the JTextPane is poor, this needs replaced.
  • The <blockquote type="cite"> should be interpreted, processed and formatted as an included message quote.
  • HTML Messages nead to be cleaned prior to being displayed, to ensure they are valid and are safe.

Message Search [edit]

Search Within [edit]

This should be done as fast and as easily as possible. The String class offers basic string searching; the regex libraries might be better.

Search For [edit]

Currently there is no "Index" of all the messages and keywords within them. The only way to search for a message is an Exhaustive search of the possible region.

The messages should be indexed to keywords with some kind of tidy option.

  • The indexer must not download data directly
    • The indexer should be fed a message body when it is read by the user, (to save bandwidth)
  • The indexer must run in the background with minimal memory
    • This could be done by appending the message to a file then which is slowly consumed by the indexer.
    • The could be an option to make the indexer consume the whole file "now" (incress the priority of the thread)

Message Filters [edit]

Message filters should be implemented accorinding to Grendel:Specification:Filters

Addressbook [edit]

The New Addressbook code supports

  • IMAP
    • Built against the latest Mozilla Java IMAP SDK
      • With write options to the IMAP directory
  • JDBC
    • Builtin support for enbedded local databases as Address Books
      • embedded Derby
      • embedded HSQLDB
  • An extended attribute set.
  • Uses subclasses of Generic Collections to return lists.
    • Can be converted to lists of subclasses of java.mail.Address
      • These will be the correct type InternetAddress and NewsAddress

Pending Changes [edit]

This section details implemented or nearly implemented code that has not been checked into the CVS

Backend API(s) [edit]

The new Backend API code is currently waiting for a patch to be reviewed

Message Renderer refactor [edit]

There are changes to the Message Renderer (grendel.renderer.*) that are waiting on the new Backend API(s)