Access Keys:
Skip to content (Access Key - 0)
 

Development Guide

Agilefant is a Java web application designed to run on java application servers such as Apache Tomcat. Currently only Tomcat 5.5 is fully supported and everything you can do to make Agilefant more compatible with other application servers is appreciated.

 Getting started

1. The environment

First of all, you need to get yourself a development environment. The programs you need to install are listed here.

Furthermore, the use of Eclipse as a development platform is encouraged. The development has been tested to work on both Windows and Linux.

2. Subversion repository

After you have the required platform, you must get yourself the source coe. You can find the latest source files from our Subversion repository, url: http://www.agilefant.org/svn/agilefant/trunk/. If you use Eclipse, there is a fine plugin, Subclipse that helps work with the SVN repository.

3. Configuring the local Agilefant

Inside the source package you will find two files titled 'build.properties' and 'build-user.properties'. You will need to configure the properties to point to your Tomcat installation.

build-user.properties:
    deploy.dir.local = /opt/apache-tomcat-5.5.26/webapps/${webapp.name}
build.properties:
    catalina.home =  /opt/apache-tomcat-5.5.26

You will also need to create a database for the application and grant the proper rights. The JDBC configuration file can be found under the source directory conf.

After configuring the local files and database it's time to run the Ant script deploy-local and start the Tomcat server.

The Development

Agilefant uses the Spring framework and a three-tier MVC architecture. The view layer uses the Webwork library and object-relation mapping and database queries are done with Hibernate.

Where to start coding

 The Java source folder holds all the Agilefant's java files. Inside you'll find lots of different folders all of which have different purposes. The files you need to alter the most are located under a few directories.

  • src/.../business - service layer
  • src/.../db - database layer
  • src/.../model - java object model
  • src/.../web - view layer

The web page side of the Agilefant:

  • web/static - javascript, css and images
  • web/WEB-INF - the jsp pages

The actions are mapped with XWork and the configuration files can be found under the conf/ folder.

Unit testing

The test directory holds the jUnit tests. One of the most important libraries used in unit testing is the EasyMock. The test source folder hierarchy holds the corresponding folder to each of the layers in the actual program source code.

Now what?

The best thing you can do is to familiarize yourself with the internal structure of the Agilefant. Feel free to ask any remaining questions from



Adaptavist Theme Builder Powered by Atlassian Confluence
Free theme builder license