Sunday, March 1, 2009

The state of Orbeon Forms, Part 2

Bookshelf Form

Here is a summary of the recent Orbeon Forms developments:

1. Form Builder and Form Runner

We keep polishing Form Runner and Form Builder. In addition to the usual bug-fixes:

  • Form attachments are attached to emails, and Form Runner is able to include values from form controls in email subjects.

  • The Form Runner summary page is more configurable: there are new properties to hide the Created and Last Modified columns, values of type xs:dayTimeDuration have been added (eg "10 min 25 sec"), and documents that use namespaces are better supported.

  • In noscript (accessible) mode, Form Runner properly shows all existing errors when the user presses the Save or Review buttons.

  • Form Builder's dialogs are all internationalized and localized in English and French.

  • Form Builder has a clearer mechanism to enter an "application name" and "form name".

  • Form Builder supports a global components library as well as a library per application.

  • Our Bookcast example form based on Form Runner is now called Bookshelf. It supports image uploads too!

2. Performance

  • Local, optimized submissions, i.e. submissions to local pages/services without actually using HTTP, are improved and work better in separate deployment. A new property also allows optimized local submission using the servlet include mechanism. This is useful for submissions with replace="instance|text|none". See the new Documentation on local submissions.

  • Orbeon Forms supports two different client-side event modes, including a new "deferred" mode which reduces the number of Ajax requests.

  • In some situations where multiple Ajax requests were sent, we now just send one and avoid duplication of events in the request.

2. Notable features and bug-fixes

  • Orbeon Forms deploys on Liferay 5 in addition to Liferay 4. We fixed lots of Liferay-related issues, and Orbeon Forms even supports running Form Runner and Form Builder within a portlet. Support has been added for Portlet 2 (JSR-268) resources (use OrbeonPortlet2Delegate portlet to enable JSR-268 mode).

  • XBL components with local models and instances work within xforms:repeat, better handle HTML directly within XBL templates, and support xbl:script and xbl:style.

  • xforms:input bound to a node of type xs:boolean works within xforms:repeat.

  • xforms:submission supports submitting form values and uploaded files as multipart/form-data.

  • File uploads, as well as xs:date, xs:time and xs:dateTime input controls work properly in noscript mode.

  • xforms:output supports a new appearance, xxforms:download, which displays a link for, well, downloading the data pointed to by the control.

  • xforms:input's extension attributes (xxforms:maxlength, xxforms:size, xxforms:autocomplete) can be dynamic using AVTs.

  • xforms:input supports changes to the type of the bound node (xs:string, xs:date, xs:time, xs:dateTime, xs:boolean).

  • xxforms:modal="true" on triggers is improved to prevent double submissions using the keyboard.

  • xforms:message actions are executed during page initialization.

  • A new configuration property allows you to enable the XForms Inspector without having to change your page.

2. Other

That's it for this time. Enjoy, and don't forget to follow our updates on Twitter.


  1. Hi,

    Thanks for this useful blog. I want to deploy orbeon form builder in liferay 5.2.3 .Please could u send the documentation because i am facing error while trying to view the form builder in portlet.

  2. please see the below link