Hardware

Data Collection

Data collection is done with Palm m130 handhelds. The software however should run on any Palm Pilot running PalmOS 3.x or newer. If needed, the collection software can run on any device which will run java applications targeted at the MIDP 1.0 platform.

Server

The Hov database is currently running a dual Intel Xeon desktop machine for testing and development purposes. Since all the software is cross platform, it may be run on most common hardware platforms including x86 (Intel, AMD, etc) and PPC (Power PCs).

Software

Data Collection

The data collection software is a specialy programmed Midlet that can be run on any MIDP 1.0 compatible device. To run on a Palm Pilot, Midp4Palm is used to package the Midlet into a Palm Pilot .prc file.

Data Retrieval

The data is downloaded from the palm pilots using a custom HotSync conduit written in Java. The process for creating such a conduit in Java is detailed in JavaWorld's "Sync Up Palm OS with J2ME" . Currently the data is dumped into text files on the user's computer, however soon the data will be directly imported into the HOV database and marked as Unchecked.

Database

The data is stored in a MySQL database, though with a few changes to the SQL query code, any relational database could be used. Tables which do not require foreign key restraints, and are relatively small are stored as MyISAM tables. Tables which require greater consistancy or contain large amounts of data, such as the records table and the location tables use the InnoDB table format.

For more information about the Database, check the table structure documentation.

Web Server

Apache Tomcat is used to serve up the Hov Database's dynamic content. Almost all of the pages are written using Java Server Pages. To ease page development, various Tag Libraries were used.

The default cascading stylesheet is based on BlueRobot.com's "2 columns - right menu", the original CSS is available here.

The icons used on these pages are from Everaldo's crystal icon theme.

General Site Design

The HOV website is split into resources available to the general public and restricted pages. Any page that allows a user to modify data in the database is placed in the restricted area. This section requires that a user have the hov_admin role.

Any task that are used to modify the contents of the underlying database are generaly broken into 3 or 4 pages. The first is generaly a "view" page which lets an administrator get an overview of the available data. When a user chooses an element to modify, they are taken to an "edit" page where they may enter changes to the data into a web form. The data is then submitted to a "submit" page. If the changes to the data are valid, then the user is returned to the "view" page, otherwise they are taken to the "edit" page with an explanation of the problem.

Alternatively a user may choose to delete an element from the database. In this case they will be taken to a "delete" page where the data is described, and the user is prompted whether or not to delete the data. If the user deletes the data, they will be brought back to the "view" page.

An example of this process can seen in the progression through the following pages: