Grendel:Development

From MozillaWiki
Revision as of 17:48, 18 September 2005 by Hash9 (talk | contribs) (Updating from main page current state section)
Jump to navigation Jump to search

State

Build

Grendel's build system is baised on Apache Ant and requires Java 1.5 to complile.

Librarys

Grendel requires a large collection of Libraries, so of these librarys are quite old and may no longer be maintaied it is hoped these will slowly be replaced.

News

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

POP3

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

Plans

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

General

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

UI

  • 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

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

POP3

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

HTML Message Viewing

  • The HTML display in the JTextPane is poor, this needs replaced.
  • The <blockquote type="cite"> should be interpreted and 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

Search Within

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

Search For

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

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

Addressbook

The Addressbook code neads to be read and made to work.

  • Built against the latest Netscape IMAP SDK
    • Would be nice to have write options to an IMAP directory
  • Must return java.mail.Address objects or better
    • better is a subclass of java.mail.Address with any needed functionality
    • They must be of the correct type InternetAddress and NewsAddress
  • Should use Collections Framework to return lists
    • Must use Generics within Collections Framework
      • This may be acceptable to be done as a patch to a non Generics Collections Framework baised one
  • Must support local addressbooks
    • Should have the option to contain multiple local address books

Pending Changes

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

Backend API(s)

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

Message Renderer refactor

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