Grendel:Development: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Updating from main page current state section)
(fixing spelling mistakes)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Grendel}}
==State==
==State==


===Build===
===Build===
Grendel's build system is baised on [http://ant.apache.org Apache Ant] and requires Java 1.5 to complile.
Grendel's build system is based on [http://ant.apache.org Apache Ant] and requires Java 1.5 to compile.


===Librarys===
===Librarys===
Grendel requires a large collection of [[Grendel:Libraries|Libraries]], so of these librarys are quite old and may no longer be maintaied it is hoped these will slowly be replaced.
Grendel requires a large collection of [[Grendel:Libraries|Libraries]]. Many of these librarys are quite old and may no longer be maintained. Hopefully these will slowly be replaced.


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


===POP3===
===POP3===
Line 14: Line 15:


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


===General===
===General===
Line 28: Line 29:


===POP3===
===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)
* 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.
** This should support a session flag for leave mail on server.


===HTML Message Viewing===
===HTML Message Viewing===
* The HTML display in the JTextPane is poor, this needs replaced.
* The HTML display in the JTextPane is poor, this needs replaced.
* The <code>&lt;blockquote type="cite"&gt;</code> should be interpreted and processed and formatted as an included message quote.
* The <code>&lt;blockquote type="cite"&gt;</code> 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.
* HTML Messages nead to be ''cleaned'' prior to being displayed, to ensure they are valid and are safe.


===Message Search===
===Message Search===
====Search Within====
====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.
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====
====Search For====
Line 55: Line 56:


===Addressbook===
===Addressbook===
The Addressbook code neads to be read and made to work.
The New Addressbook code supports
* Built against the latest Netscape IMAP SDK
* IMAP
** Would be nice to have write options to an IMAP directory
** Built against the latest Mozilla Java IMAP SDK
* Must return java.mail.Address objects or better
*** With write options to the IMAP directory
** better is a subclass of java.mail.Address with any needed functionality
* JDBC
** They must be of the correct type InternetAddress and NewsAddress
** Builtin support for enbedded local databases as Address Books
* Should use Collections Framework to return lists
*** embedded Derby
** Must use Generics within Collections Framework
*** embedded HSQLDB
*** This ''may'' be acceptable to be done as a patch to a non Generics Collections Framework baised one
* An extended attribute set.
* Must support local addressbooks
* Uses subclasses of Generic Collections to return lists.
** Should have the option to contain multiple local address books
** Can be converted to lists of subclasses of java.mail.Address
*** These will be the correct type InternetAddress and NewsAddress


==Pending Changes==
==Pending Changes==

Latest revision as of 18:16, 13 November 2005

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

State

Build

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

Librarys

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

News is currently provided by GNU JavaMail's NNTP Providers. 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 a download to given folder, this allows customization)
    • 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, 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 libraries 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 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

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)