Saturday, August 25, 2007

Sakai AppBuilder 0.82 available

Version 0.82 of the Sakai AppBuilder is now available on the Sakai eclipse update site ( This version will now generate maven 1 project files and maven 2 pom files and will create the links to the local repository for the eclipse classpath for either maven 1 or 2. This also includes updates to the most recent jars being used with Sakai including the recent release of RSF 0.7.2RC1.

Friday, August 24, 2007

Cafe trunk using Maven 2

The cafe trunk distribution for Sakai is finally working and available for download. The cafe distribution is part of the Sakai programmers cafe and the primary goal is to create a smaller distribution which makes development in Sakai easy and reduces the memory footprint. This is the first cafe distro available which uses Maven 2 (like the rest of Sakai). The really notable thing about this cafe is that it is the smallest one yet (in terms of projects) and probably the smallest distribution of Sakai currently available.

Ian Boston and I have been tracking down intra-project dependencies in Sakai and removing them in order to create a small and clean kernel for Sakai. This cleanup has resulted in a better kernel and will eventually lead to a more solid service foundation in Sakai. The cafe distribution represents that kernel distribution plus the standard Sakai portal (charon). It should make development in Sakai easier and faster since restarts should take less time and there are less projects to checkout and keep up to date.

In order to make this distribution for Sakai with Maven 2 we had to create a special base pom that lists only the projects in the distribution. We are use svn externals to setup the download of the correct projects from the main Sakai source tree. There is one bit of hackery involved with getting this to work which is needed if only part of the project is desired (for example, we can only use parts of the user project since some parts pull in undesirable dependencies). This involves creating a new base pom for the main project (user) and then removing the modules from that pom file which are not included in the externals. We did this for 4 projects in the cafe distribution.