Cofax Developer Instructions
Last Update: 2004/August/26
Note that these instructions are geared towards a Windows development environment and
using the Eclipse IDE. They can be modified to suit your needs..
Install latest version of the Sun SDK
Cofax development requires J2EE 1.4 SDK or the J2SE SDK 1.4.1 and higher.
Add the JAVA_HOME environment variable to equal the directory you installed it into.
Add [JDK Directory]\bin to the PATH environment variable.
Test javac and java from a command prompt.
Install the latest version of Apache Ant
This is the tool we use to compile and build Cofax.
Add the ANT_HOME environment variable to equal to the directory you installed it into.
Test ant from a command prompt.
Install the latest version of Jakarta Tomcat
Cofax has run on all servlet containers it has been tested on. We develop on Tomcat
versions 4.1 and higher.
Confirm you have installed Tomcat correctly by running
[Tomcat Install Directory]\bin\startup.bat.
Open http://localhost:8080/ in a web browser and run its sample applications.
Run [Tomcat Install Directory]\bin\shutdown.bat from a command prompt to shut it down.
Install the latest version of MySQL
Cofax is designed for database independence. It can be ported far easier to new database
platforms in comparison to other CMSes. We use MySQL as our reference implementation.
Run [MySQL INstall Directory]\bin\winmysqladmin.exe
Confirm that you can connect to the database.
Install the latest version of Eclipse
We use Eclipse as our standard IDE.
Download Eclipse from a mirror site.
Extract it into the directory you intend to run it from.
Run and shutdown Eclipse one time so that it can initialize.
Create a root workspace directory where you intend to manage your projects
and checkout files from CVS into.
Change its Windows shortcut to launch Eclipse using this directory by
include a parameter on the end of it's target: -data [CVS work directory].
I.E.: D:\usr\local\eclipse\eclipse.exe -data d:\workspace.
Run Eclipse and change to the Resource Perspective.
Change to the CVS Repository Perspective.
Add a new CVS Repository location: If you are a Cofax team member: Host=cvs.sourceforge.net, Repository Path=/cvsroot/cofax,
User=Your sourceforge user name, Password=Your Sourceforge password, Connection Type=extssh and
leave everything else as is. It will connect on saving. If not right click and choose
Refresh View. If you are not a Cofax team member: Host=cvs.sourceforge.net, Repository Path=/cvsroot/cofax,
User=anonymous, Password=leave blank, Connection Type=pserver and leave everything else as is. It will connect on saving. If not right click and choose
Open the HEAD node. Choose the Cofax folder. Right click and choose Check Out As...
Choose "Check out as project in the workspace" and take the default name of "cofax". Click the Finish button.
Change to the Java Perspective. You should have the cofax project navigatable
in the Package Explorer and be able to browse the src, apps, and lib trees.
As you edit Java classes under src, Eclipse will recompile your changes instantly
and flag errors for you. It will also notify you of bad Java practices such as
unncessary imports or refering to static members in a non-static fashion.
Edit Development Environment Variables
Edit se.bat and set TOMCAT_HOME to the directory you installed Tomcat into, set MYSQL_HOME to the
directory you installed MySQL into, and ANT_HOME to the directory you
installed Ant into.
Project Directory Overview
You will edit files in these directories and run ant to
deploy, create distributables, and test.
[Eclipse Workspace]\cofax\src - Edit source code here.
[Eclipse Workspace]\cofax\lib - Add standard external libraries. These
will be copied into distributables.
[Eclipse Workspace]\cofax\apps - Application stubs. Webapps, templates,
database schema information, etc.
All directories mentioned are relative to [Eclipse Workspace]\cofax.
Update files from CVS (do before ANY development. do repeatedly during development):
use Eclipse, right click the project and choose Team and Update. In the Update dialog
pop up simply click "Finish". Type in password if necessary.
Set up a command prompt for running Ant, Tomcat, or MySQL tools: run
To install/update MySQL database: follow install instructions under
apps\cdw_mysql in install.txt.
To install Cofax into Tomcat, run Ant from the project directory.
To start Cofax, start Tomcat by running startup.bat and navigating
to http://localhost:8080/content/main.htm in a web browser.
To add or edit Java Source: use Eclipse, in its Java Perspective, under src.
To add or edit Content Display System (CDS) templates: use Eclipse, in its Java or Resource Perspectives,
and work under apps\content\templates.
To add or edit Content Management System (CMS) templates: use Eclipse, in its Java or Resource Perspectives,
and work under apps\content\toolstemplates.
To add or edit the CDS/CMS configuration: use Eclipse, in its Java or Resource Perspectives,
and work under apps\content\WEB-INF.
To add or edit static images to the CDS: do so with tool of choice under apps\content\static.
To add or edit documentation: use Eclipse under apps\docs.
To add or edit Content Data Warehouse (CDW) scripts: do so with tool of choice under
To add a new JAR or update an existing one: copy jar to lib directory.
Using Eclipse, in Resource or Java Perspectives, refresh the project tree and observe
the JAR listed in the project. Right click the project, choose Properties. Click Java Build Path
to open is properties page. Click "Add Jars..." button. Navigate to under cofax\lib and choose
your new jar and click "OK". Click "OK" on main properties page. You need to add this file
to CVS. See below.
To add a file to CVS: use Eclipse, right click the file and choose Team and Add to Version Control.
To commit file changes in CVS (neccessary after file deletions, additions, and changes):
right click the folder or file in Eclipse, choose Team and Commit... Note that Eclipse
shows you directories and files that do not match what is in CVS with a ">" prefix in front
of their name.
Update startup data to cdw_ms (Cofax Data Warehouse for MS SQL Server)
by exporting tables to d:\home\projects\cofax\apps\cdw_ms\populateGoon.mdb
Update creation scripts for cdw_ms by creating sql scripts of all
objects to d:\home\projects\cofax\apps\cdw_ms\goon.sql.
Joining The Cofax Team
As is open source tradition: We welcome anyone checking out the latest code
from CVS, emailing us patches, posting bugs, and sharing in the forums.
But if you wish to contribute code to CVS, or help us in any other capacity
on a regular basis, please join our team. We want and need your help!
For more information see the Contact Us page.