The Orbeon Forms Blog

Orbeon Forms allows you to manage your web forms' entire lifecycle, and run your forms on-premises or in the cloud, with a focus on security and compliance.

Inserting and reordering grid rows

Grids are a key ingredient in Form Builder and Form Runner, as they are the main tool you use to layout controls on a page. And since Orbeon Forms 4 they are also repeatable, which means that you can repeat one or multiple row of the grid. We have just... More

Saving memory by removing unneeded whitespace

Photo by Brad Montgomery Orbeon Forms stores form definitions and form data in XML format. When using XML, it is customary to use new lines and indentation to make it easier for humans to read and write. Notice for example the following bit of empty form data: <book> <details> <title/> <author/>... More

Orbeon Forms 4.4

Today we released Orbeon Forms 4.4! This release includes the following new features and major enhancements: Oracle support for autosave and owner/group-based permission. These two features were timidly introduced in 4.3 for MySQL and DB2 only, and required two properties to be set to be enabled. With 4.4, they are... More

Adjusting a dropdown width on IE7 and IE8

At times, the width of a dropdown (aka combo box) is constrained, in the sense that it can't be made wide enough to completely show the text for the selected option. However, with all modern browsers, when you open the dropdown, the full values show, as illustrated on the following... More

Supporting permissions in your persistence API implementation

Up to version 4.2, implementations of the persistence API didn’t need to worry about permissions; permissions were entirely checked by the part of Form Runner that was calling the persistence API. This changed with version 4.3, which introduced owner-group/based permissions. Let’s see what changed: Without this feature, i.e. up to... More

Unification of the relational persistence layers

XForms by itself doesn’t fully solve the question of how to persist data. It provides solid foundations that we can leverage to persist data, but intentionally doesn’t answer questions such as “how is the data organized?” or “how is data saved, retrieved, or searched, this in an actual database, say... More

More dynamic control bindings in Form Builder

Recently, a user asked us why, in Form Builder, there is a separate Number control in the toolbox. Is this the same as an Input Field set it to a Decimal datatype? Our answer was, unfortunately: “Not really!”. When you add a Number control, you are in fact adding an... More

CoffeeScript: Create objects referencing other properties

In CoffeeScript, you can easily create an object and set the value of some of its properties: section = title: 'My section' element: $('.my-section') width: $('.my-section').width() The width property is used to cache the width of the body. But the way it is defined isn't ideal as $('body') is duplicated.... More

Autosave

Glitches happen. While you’re filing a form, your browser might crash, your computer be disconnected from the power or run out of power, your Internet connection might go down, or the server might have a technical issue. When such a glitch happens, you’re likely to loose whatever work you’ve done... More

Spreadsheet-like forms

Many of us are familiar with using spreadsheets with rows and column of cells. Sometimes we also want to gather data in a form that behaves similar to a spreadsheet with data categorized in two dimensions using regular rows and columns. In some cases, the default behavior of XForms may... More