jwma's Architecture - Other parts (backend)
 
Main | Deployment | Configuration | Architecture | Development | Screenshots | SF Project Site
Index | Overview | Model (M) | View (V) | Controller (C) | Other Elements

Kernel & Settings

An important part of jwma is it's backend implementation that provides a main entry point for accessing configurable settings, logging utils etc. It consists mainly of the kernel (dtw.webmail.JwmaKernel) and the class that wraps the settings (dtw.webmail.util.JwmaSettings). An annotated UML class diagram shows the classes involved in the backend, including the connection to the plugin framework, the logging, and the text processing.


Plugin Framework

A new part of jwma's architecture are plugins. These are supposed to allow extending jwma with scaleable and site specific implementations for certain features (like persistency). The basic interface for a plugin is shown in Figure 1.

Figure 1: Basic interface

Existing plugin definitions are so far (see Figure 2):
Figure 2: Plugins

For the first two, there exist standard implementations, which are included in the distribution. For further information we recommend to review the development documentation.

Text processing

Message parts with a content type of text/* can be and probably also should be processed: as the content will be displayed in a browser, bogus or dangerous content probably needs to be filtered out.
While translating smileys into inlined pictures is purely for the fun of the user, certain features like URI sensitivity are probably representing a security hazard. jwma's choice is thus 100% flexibility for the site adminstrator, thus it uses jtextproc (http://jtextproc.sourceforge.net) that provides an abstraction and a framework for this use case (plain text to plain text processing).
There is an annotated UML class diagram depicting the involved classes and the relationship to the basis framework provided by jtextproc.


Utils

jwma contains some utility classes that provide utility functionality through static methods. These classes are documented in an annotated UML class diagram.

© 2000-2003 jwma team