jwma Development - ContactManagementPlugin
 
Main | Deployment | Configuration | Architecture | Development | Screenshots | SF Project Site
Index | Overview | Building | API Docs | Credits & Contributors

Introduction


This document is a collection of information and documentation about the ContactManagementPlugin.
jwma allows the user to store, update and use contacts as well as contact groups. This data has to be made persistent to for availability in subsequent sessions. To allow scaleability and adaptation to a specific site's need, a "plugin" structure taking care for persistence of contacts and contact groups has been created, allowing to choose the actual storage backend.
The main tasks of the plugin are: The following subsections provide you with more information about architecture, related API and implementation.

Architecture

The basic class diagram for the ContactManagementPlugin is shown in Figure 1.

Figure 1: Plugin Classdiagram

The actual contact data elements are encapsulated in a model, which basically consists of three levels (see Figure 2).

Figure 2: Contacts Model Overview

To understand the stored data and it's meaning, be sure to review the contacts documentation.

Related API Documentation
Implementation Guidelines

If you wish to implement your own ContactManagementPlugin, you have to:
  1. Create an implementation for the plugin interface
  2. Create implementations for the contacts, contact and contact group interfaces (if applicable, they might be already available)
  3. Add all necessary helper and utility classes as well as libraries

To get started, we suggest that you take a look at the available standard implementations, which are contained in the distribution. These are based on Castor (http://castor.exolab.org), and are able to persist as XML files, respectively into various SQL databases (PostgreSQL and MySQL scripts and configuration are provided): Both plugin implementations are using the following contacts, contact and contact group implementations: Be sure to review these classes (see source code), probably before you start to create your own implementation.

© 2000-2003 jwma team