RSF Programming Session (Technical Track)

Provisional title (75 characters): RSF programming techniques in Sakai - lessons from the Evaluation Project

Summary (for program, 50 words):
RSF makes it easier to develop flexible and reliable tools, both through library functions as well as through development "idioms" that it encourages. After a recap of RSF basics we will look at some of RSF's newer features such as BeanGuards and OTP (One True Path), showcasing their benefits in the context of lessons learned in the field during development of Evaluation, a full-scale best practices Sakai tool.

Description (for review by program committee, 150 words):
RSF contains a number of definitions and idioms that make it easier to develop flexible and reliable tools, providing both a better user experience as well as simplified development. In this talk we will look at a few of these usages, illustrated by concrete examples and lessons drawn from developing the Sakai Evaluations tool, a full-scale Sakai tool following best practices in UI usage as well as application layout.

After a brief recap of RSF basics, including the benefits of pure HTML templating with the IKAT renderer, together and unintrusive binding to the application model with EL, we will continue to looking at some of the more modern and sophisticated features.

RSF's OTP (One True Path) is a development idiom where an application's entire data model is layout out in an abstract space of EL addresses. This rationalises application design and cuts down considerably on code repetition, as well as preparing for more powerful usages such as those the Transformable UI project now starting at Toronto. In applying OTP to Evaluation OTP principles have become more firmly understood, in the light of real-world issues such as database fetch optimisations (the n+1 selects problem) and adapting to Hibernate data models - these lessons will be presented and explained here.

Another powerful RSF feature is the use of BeanGuards for defining guaranteed code execution paths within a request - this is increasingly important in a world where numerous extra request paths are being opened up through the possibility of AJAX submissions. We'll show how RSF makes it easy to write applications which exploit the full possibilities of a dynamic user interface without sacrificing a pure Web 1.0 idiom more appropriate to the needs of users with special needs.

Bio (for program):
Will is a developer at Educational Technologies, a department of Virginia Tech. He helped to develop the Sakai Evaluation tool, the first large-scale webapp written in RSF. Will's work on open source courseware systems includes his recent work on Sakai and development of tools used in a Virginia Tech instance of Moodle.

Antranig Basman is based at CARET, University of Cambridge, where he has been working on Sakai fundamentals and is the lead developer of the RSF web programming framework. Current interests include modern programming techniques for the management of dependency, as most directly represented today by the Spring programming framework.