The Orbeon Forms Blog

This is the Orbeon Forms blog. Stay up to date with the latest releases and new features of Orbeon Forms!

Stop spammers by adding a CAPTCHA to your forms

If you’re creating a form only accessible by members of your organization, chances are you’re not worried about spammers. On the other hand, if your form is publicly available, and can be accessed anonymously, your form can easily become the target of spammers, hoping someone will read the content they... More

Orbeon Forms now using native iPhone/iPad date and time widgets, and more

With mobile browsing on the rise, we set out to better support mobile devices in Orbeon Forms. We are particularly focused on tablets, as the larger real estate provided by those devices makes them more suitable than phone to fill out forms. And for now, we are doing most of... More

More resilient error handling in XForms

What should your application do when a error occurs? One approach is to let the application crash and burn (errors are not supposed to happen, right?). This behavior remains typical of many “native” (C/Objective-C/C++) desktop and mobile applications. Your only hope is that the app has some kind of autosave feature, or you... More

Excel import in Form Runner

A pretty neat recent feature of Form Runner is the ability to import data from Excel files. In a few words this allows you to: upload an Excel file with header and data rows validate each row against the form's validation rules import all valid data rows into the persistence layer... More

Calling REST or Web Services from Form Builder

Sample data returned by a service, displayed in a form For the longest time, you could within Form Builder setup services to be called, without having to write one single line of code. For instance: You want to call a service every time the form is loaded; the service returns data, which... More

Styling required fields with a star

Form fields can be valid or invalid. They can be invalid because they were marked as required, and no value was entered, because the value doesn’t match the expected type—say, a number is expected—or for some other reason. For the longest time, the following styling logic has applied to invalid... More

Dealing with nested sections in Form Builder

We have been working on the ability to nest sections and other containers in Form Builder for a while, as it is an often-requested feature. Tree in OmniFocus But what should the user interface for this look like? How do you specify where a new section goes, and how do you... More

Improved Autocomplete

We recently made a couple of major improvements to the autocomplete control that comes with Orbeon Forms. First, we wanted the autocomplete to be simpler for end-users. For the longest time, the autocomplete had the ability to display a show all button to the right of the text field. When... More

Dynamic XForms and a new grid editor for Form Builder "next"

Until now, the Form Builder grid worked as an “interpreter” of XForms documents. In each grid cell, Form Builder had a big “switch” containing all of the built-in XForms controls, only one of which would be enabled at a time. For example, if you placed an xforms:input field into a... More

Orbeon Forms 3.9: aggregating CSS and JavaScript resources

Orbeon Forms has had the ability to automatically combine (aggregate) together CSS AND JavaScript resources for years. The idea is simple: serving many files to the browser is not optimal due to the latency introduced by each request from the client, so you should try to server fewer files to the client.... More