RSF 0.7.3M1 in repositories - testing, JSON, client rendering

antranig at antranig at
Sat Mar 8 15:26:14 UTC 2008

A milestone release of the upcoming RSF 0.7.3 is now available in the
CARET Maven 2 Development repository at
(check the ) page
for more pointers.

This release is mainly devoted to bugfixes - for a progress JIRA view go
along to

However, there are a couple of significant new features either in preparation
or already complete for this release.

Full-cycle testing

RSF's level of abstraction allows test fixtures to be written against the
function of the UI level without needing to get involved in the often
irrelevant details of the Http/Servlet spec. This milestone exhibits some
custom derivatives of JUnit TestCase, "MultipleRSFTests" which allow
test cases to be expressed directly in terms of RSF component trees and
user responses, render and action cycles in the abstract, which leads to
much closer correspondence between application spec and testing code.

These test cases are also considerably increasing the solidity of the
framework - take a look at
for an example.

JSON and Data views

RSF's binding system has been comprehensively rewritten to uniformly use
JSON throughout, rather than the previous mixture of XML and Python-inspired
dictionary formats. This greatly increases the transparency of the bindings
to code written on the client, and also enables "pure JSON views" to be
written very easily - check
for an example of how straightforward this is. RSF includes its own encoders
and this functionality requires no further dependencies.

Client-side rendering

An exciting new direction within Sakai generally as well as RSF is the
possibility of having markup rewritten on the client. This allows more
rapid prototyping and lightweight development by end users and "casual"
programmers, leading to more rapid innovation in UI thinking as well as
a greater agnosticism on the server-side. An important mission within
Sakai is to roll out a consistent component/widget set framework-wide,
and whilst many of these are being written in Fluid/RSF, large parts
of Sakai remain in Velocity, JSF, XSLT and a ragbag of other frameworks
and are unlikely to meet resources to be rewritten in the near term.

Client-side rendering offers a "low-cost" means of deploying standard
widgets not only across multiple Java-based frameworks but also to
more far-flung environments such as PHP.

Sample app at

This feature is in very early preview - currently only UIBranchContainer
and UIOutput are implemented from the full RSF set, but the complete
parse, resolution and render cycles are running (plus a few bugs).
The parser is currently based on a standard XML pull parser and hence
is not very performant, but we will be working with Fluid to implement
one which is more powerful and efficient.

Please do try out this release and report any issues/requests to the
RSF forums. A full release will be available within a month or two,
prior to the final significant release of RSF, 0.8.


This message was sent using IMP, the Internet Messaging Program.

More information about the fluid-work mailing list