Wednesday, September 2, 2009

Ubiquity XForms 0.7.0 Released

Ubiquity XForms version 0.7.0 has been released.

The Ubiquity XForms processor allows developers to use XForms markup to create interactive web applications. Ubiquity XForms adds new APIs leveraging a number of popular AJAX libraries, making XForms processing available in standard web browsers, without the need for a download.

Since the last release (0.6.2), the team has worked to resolve some 220 issues and worked towards better XForms 1.1 conformance. Here are the implementation reports for Firefox 3 and Internet Explorer 7.

Here is a slightly abridged version of the 0.7.0 release notes:



Ubiquity XForms 0.7.0 Release Notes

Notable Changes

* Roll-up: Ubiquity XForms roll-ups can now be built, packaging the entire library in one JavaScript file.
* XForms 1.1 submission: Support for many more xf:submission features, including the xf:header element.
* Validation: Ubiquity XForms now supports validation against the XForms predefined datatypes.
* Function extension: JavaScript function extension mechanism to define JavaScript functions that can be called in form XPaths.
* New map controls: Adding maps to your forms as easy as placing a CSS class value on an xf:output or xf:range.

New features

* Conditional action handlers are now available via @if;
* Messages can be displayed using xf:message;
* More XPath functions have been implemented, such as context(), event() and id();
* The xf:repeat start index (@start) is now taken into account;
* The xf:toggle and xf:setindex action handlers have been added;
* The xf:method child of xf:submission is now supported;
* There is SOAP support on POST submissions;
* Support for some of the semantics of XForms in HTML has been added;
* @incremental is now working for xf:input, xf:secret, xf:textarea and xf:range;
* SHA-256 support has been added to the hmac() and digest() XPath functions;
* File writing is available, by using the file: scheme and the PUT method in submission;
* File reading is also available, by using the file: scheme and the GET method in submission;
* More control over how a user navigates a form is available via@navindex and @accesskey;
* xf:input's that bind to boolean data will now render as a check-box.

Test system improvements

* Hands-free execution of unit tests;
* W3C Test Suite now uses the Selenium Test Harness;
* There are more Selenium user extensions for XForms-specific testing;
* A Buildbot server has been setup for automated testing and results generation.

Other changes

* Improvements to form controls, such as xf:range, xf:select and xf:select1 controls;
* Improvements to xf:repeat;
* Improvements to action handlers, such as xf:insert, xf:delete and xf:load;
* Improvements to resource handling in submission, via xf:resource;
* Improvements to messaging, via xf:hint and xf:alert;
* Improvements to the processing model and the events generated;
* Improvements in MIP handling;
* Lazy-authoring improvements;
* Fixed dynamic relevance on xf:group;
* Various style improvements for form controls;
* SVN has been better organized, which means that the directory structure differs from release v0.6.2.



For more details, see the UsingTheLibrary and Release0.7 project wiki pages.

A number of samples are available, including ones that show integration with YUI widgets such as calendars and color pickers, the Google Maps API etc. Here is a screenshot of the map controls:

Ubiquity XForms Google Maps API screenshot

More detailed posts on individual features in this release coming soon.