About this Guide

This Developer's Guide is intended to assist developers who wish to contribute to fps development. If you have any suggestions or comments please feel free to forward them to me .

Build

fps uses Maven to automatically account for project dependencies, and generate project documentation from XHTML (including the HTML you're reading now). See the Maven site, and the project.xml and build.xml files in our repository for more information.

Consistent Practices

Name Description
Resource Files
  1. All resource files belong in the /WEB-INF/classes/resources directory
  2. Prefixes should be applied to all entries.
    1. button.${name} Labels found on buttons
    2. dialog.${name} Text on dialog boxes
    3. errors.${name} Error messages
    4. input.${name} Labels for input fileds
    5. text.${name} Plain text displayed
    6. title.${name} Text in a table header
Validation Struts Validator should be used for all display layer validation logic.
Tiles templates All pages should extends one of the folowing templates:
  1. site.popup Which contains: "body", and "footer" components.
  2. site.mainLayout Which contains: "header","body", and "footer" components.

Directory Layout

All projects built on the common framework conform to a common directory layout. This layout is modeled after Maven's suggested project layout. Refer to Maven for more information and examples.

The web application directories and other plugin specific information is placed under src

src
+---java
|   +---com
|       \---mlw
|           \---fps
|               +---controller     (Struts Action classes)
|               +---model
|               |   +---business
|               |   |   +---bo     (Buisness Objects)
|               |   |   \---vo     (Value Objects)
|               |   \---managers   (Managers that give the view access to the model)
|               \---view
|                   +---form
|                   \---taglib     (Custom Tags)
\---webapp
    +---common                         (.jsp(s) shared omon all moduals)
    +---css                            (Style sheets)    +---images
    +---js                             (JavaScript scrips)
    +---layouts                        (Tiles templates)
    \---WEB-INF
        +---classes
        |   \---resources              (Resource bundles)
        +---struts                     (Struts config files)
        +---taglib                     (Custom tag libraries)
        +---tiles                      (Tiles config files)
        \---validator                  (Validator config files)