Kamajii Developer's Guide


Project Files

Kamajii's project files are all in the sourceforge CVS. You can read some general instructions on using CVS with the Kamajii project on the sourceforge cvs page. Kamajii's CVS is divided to two modules: Most of the code is in the "kamajii" module. It contains the core of the project, the GUI, documentation and some modules that are needed for quick Win32 installation (under kamajii/libs_win32). The second module is called "kamajii_cgi", and contains the files related to Kamajii's web interface.

To check files into the CVS repository, you will need developer permissions. Please contact us if you are interested in participating in the Kamajii project.

How Kamajii Works

To learn how Kamajii works, please read the design document. The reality is slightly different from the initial design. Click here to learn what these differences are.

How Can I Help?

You can either come up with your own ideas and add them to Kamajii, or read our TODO list, which contains some ideas we have for future development.

Building a New Version

To build a new version of Kamajii, first create new versions of the following files (XXX is the build number):

tar.gz releases
tar -cf kamajii_XXX.tar ~/kamajii
gzip kamajii_XXX.tar
cp ~/kamajii/libs_win32/* ~/kamajii
rmdir ~/kamajii/libs_win32
tar -cf kamajii_w_libs_XXX.tar ~/kamajii
gzip kamajii_w_libs_XXX.tar

Windows .exe releases must be created from a computer running Windows. You will need to have a free open-source tool for packaging software called "freeextractor" and available at disoriented.com. We use the makesfx command line version (currently version 1.44). To build the windows releases, first create zip files with the contents of the tar.gz files above. The only difference between the zip and the .tar.gz files (other than the compression algorithm) should be that the .tar.gz files include the kamajii directory itself, while the .zip files are created from within the kamajii directory (so when they are opened, the kamajii directory is not created). The zip files should be called the same as the .tar.gz files except for the suffix.

To create the executable installers, run the following two commands from the directory where you saved the zip files (replace XXX with the build number):

> c:\programming\freeextractor\makesfx.exe /zip="kamajii_1_0_2.zip" /sfx="kamajii_1_0_2.exe" /title="Kamajii"  /website="http://kamajii.sourceforge.net" /exec="install.bat" /intro="Get updated when your favorite web site changes. Get news, qu
otes, grades and more directly to your e-mail or cell-phone. Kamajii monitors websites (even ones that require a login process) and sends updates via email, SMS and more." /icon="..\kamajii\icons\kamajii.ico" /defaultpath="$programfiles$\Ka
majii" /shortcut="$desktop$\Run Kamajii.lnk|$targetdir$\kamajii.bat" /shortcut="$desktop$\Configure Kamajii.lnk|$targetdir$\kam_conf.bat" /shortcut="$startmenu$\Kamajii\Run Kamajii.lnk|$targetdir$\kamajii.bat" /shortcut="$startmenu$\Kamajii\Configure Kamajii.lnk|$targetdir$\kam_conf.bat" /shortcut="$startmenu$\Kamajii\How to Configure.lnk|$targetdir$\doc\gui.html"

> makesfx.exe /zip="kamajii_w_libs_XXX.zip" /sfx="kamajii_w_libs_XXX.exe" /title="Kamajii"  /website="http://kamajii.sourceforge.net" /exec="install.bat" /intro="Get updated when your favorite web site changes. Get news, quotes, grades and more directly to your e-mail or cell-phone. Kamajii monitors websites (even ones that require a login process) and sends updates via email, SMS and more." /icon="..\kamajii\icons\kamajii.ico" /defaultpath="$programfiles$\Kamajii" /shortcut="$desktop$\Run Kamajii.lnk|$targetdir$\kamajii.bat" /shortcut="$desktop$\Configure Kamajii.lnk|$targetdir$\kam_conf.bat" /shortcut="$startmenu$\Kamajii\Run Kamajii.lnk|$targetdir$\kamajii.bat" /shortcut="$startmenu$\Kamajii\Configure Kamajii.lnk|$targetdir$\kam_conf.bat" /shortcut="$startmenu$\Kamajii\How to Configure.lnk|$targetdir$\doc\gui.html"

Kamajii CGI
If you have made changes to the CGIs, you should also release a version of the kamajii_cgi module. Just tar.gz all needed files.
tar kamajii_cgi_XXX.tar ~/kamajii_cgi
gzip kamajii_cgi_XXX.tar

Uploading the Files
Please see instructions for uploading releases to sourceforge in Guide to the File Release System.