Saturday, July 28, 2007

RSF Mailing List

Reasonable Server Faces (RSF) now has a mailing list for users! Please sign up for this list if you are using RSF or thinking about using it. More info on joining the list is available on the RSF Wiki but ideally we will use this list to answer questions, send out announcements, and all the normal stuff email lists are good for.

This is not meant to replace the RSF forums but to just supplement them.

Along with this, I am happy to announce the second anniversary of RSF is today (27 July 2007)! Please celebrate in whatever way is appropriate.

Tuesday, July 24, 2007

RSF Wiki refactor and AJAX samples

I have spent many hours over the past couple weeks working on the RSF Wiki. For those who are not familiar with Reasonable Server Faces (RSF), it is an open source Java web framework which is based on the Spring framework and supports pure XHTML templating. The Wiki is the canonical source of documentation for RSF and needed a lot of updates and additions to be more developer friendly. After comparing the websites and Wikis for a lot of open source projects I settled on a set of left hand navigation topic areas and links and then started editing. At this point, the majority of the layout changes are complete and it should be a lot easier for developers to get started with RSF.

Along with the refactoring, I also added pages to describe how to use AJAX in RSF. RSF includes the UVB (or Universal View Bus) which makes calling a method in your application code from AJAX and getting back the results easy. Developers will now find detailed notes about how UVB works and the use of the RSF Javascript library. There is also a new RSF sample app which demonstrate a simple autocomplete using RSF and UVB (this is also available as a sample Sakai tool). I encourage anyone using RSF (and even those who aren't) to check out the Wiki and post feedback.

Monday, July 23, 2007

Using patch (as in .patch files) in WinXP

I had to apply a large set of patch files (and I mean .patch files) to a project today using a Windows XP machine. It was a lot more painful than I thought it would be so I am recording it here in case it helps anyone else avoid the pain.

You should have all your patch files in a directory (I am assuming one called patches but use anything you like, just remember to tweak the commands). You will need the patch program for windows installed (which proved to be fairly hard to find) and on your Path.

How to apply a directory full of patches with a single command in windows XP.
  1. Open a command line (Start ->Run... -> cmd) and go to the directory where you are applying the patches (should have a patches directory here also)
  2. Run the following command to test your patch syntax:
    for %f in (patches\*.patch) do type %f patch -p0 --dry-run
  3. If you got no errors then just remove the --dry-run from the end and run it again to actually apply the patches, for example:
    for %f in (patches\*.patch) do type %f patch -p0

You would not think that would have taken hours to figure out would you?

For the unix folks out there, here is the command (though I suspect most everyone knows this one already):
for patch in patches/*.patch ; do patch --dry-run -p0 < $patch ; done

You might want to go ahead and get the core GnuWin32 utilities if you want to run more unix type commands in winXP.

Sunday, July 22, 2007

Maven2, Continuum, and Sakai

I have been doing a lot with Maven2 these days. I have been adding Maven2 builds to various Sakai tools I am responsible for like Entity Broker and Evaluation. I have also been updating the RSF wiki to include the CARET Maven2 Repository and sample RSF projects that use Maven2. The RSF poms are now updated to run various reports and generate javadocs and Maven 2 sites which are linked to (or will be soon) on the RSF Developer page. I am currently running into an issue with Maven 2 where I cannot generate a site for a project which has a base pom with no code in it and modules which have the code (I get failures in the build when I try to build the site from the base). I'm hoping to get some help from the Maven users list.

Continuum has been an interesting experience in pleasure and pain. The CARET Continuum server (version 1.0.3) is building Sakai trunk, RSF, and all the CARET related tools nightly. It is allowing us to keep track of our projects and know if there are any build problems. Unfortunately, I have managed to create 5 continuum projects which were corrupted and had to be removed by our system admin. On the plus side, I am learning a lot about how Continuum integrates with Maven2 and most of the poms are getting nice updates as a result. Hopefully we will soon have full code reports being generated nightly that we can review as needed.