The Orbeon Forms Blog
This is the Orbeon Forms blog. Stay up to date with the latest releases and new features of Orbeon Forms!
Thursday, Dec 5, 2013
Detecting login pages in Ajax requests
Way back when, in Orbeon Forms 3.9, we introduced an improved retry mechanism that kicks in when an Ajax request to the server fails. A request might fail either because the browser didn’t get a response before a certain timeout, or because it got an unexpected response. In the first...
More
Monday, Nov 25, 2013
Preventing cross-site request forgery (CSRF)
What is CSRF? Cross-site request forgery (CSRF) is a type of exploit of your web site whereby a malicious party may be able to perform operations posing as a given user of your site, without that user having authorized those operations, or even being aware they are performed. In a...
More
Monday, Nov 18, 2013
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
Thursday, Nov 7, 2013
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
Tuesday, Nov 5, 2013
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
Monday, Nov 4, 2013
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
Monday, Oct 21, 2013
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
Monday, Oct 14, 2013
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
Wednesday, Oct 9, 2013
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
Tuesday, Oct 8, 2013
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