Major features and enhancements
- PostgreSQL support. Thanks in good part to an external contribution, Orbeon Forms supports PostgreSQL in addition to Oracle, MySQL, SQLServer, DB2 and eXist. (blog, #1941)
- Better management of server resources. Under load, Orbeon Forms limits the number of concurrent form processing requests in order to reduce the likelihood of the server running out of memory (doc, #1971).
- Support for repeated grid visibility. It is possible to completely hide (including the header row) or mark as readonly a repeated grid (doc, #597 / #635).
- Owner and group-based permissions eXist support. Owner and group-based permissions were only supported with relational databases. This release adds eXist support. See also Database Support. (doc, #1341)
- Singleton forms. A singleton form is a form with only a single instance of form data visible to a user. Form Builder allows you to mark a form as such, and Form Runner then uses this information to prevent the creation of more than one instance of form data. (doc, #2009)
- Improved XForms 2.0 support.
- The caseref attribute on xf:case is implemented (#1089).
- The xf:case() function is implemented (#1951). It was already available as an extension function with xxf:case().
Other new features and bug-fixes
Including the major features and enhancements above, we closed over 30 issues since Orbeon Forms 4.7.1 (and over 60 since 4.7).
Current browser support
- Form Builder (creating forms):
- Chrome 39 (latest stable version) and Chrome 41 dev (current dev channel)
- Firefox 34 (latest stable version) and the current Firefox ESR
- IE 11
- Safari 8
- Form Runner (accessing form):
- All browsers supported by Form Builder (see above)
- IE8, IE9 and IE10
- Safari Mobile on iOS 6, iOS 7 and iOS 8
- Chrome for Android (stable channel)
- The internal data format for repeated grids has changed following #635. This shouldn't affect users and form author much:
- Form definitions are upgraded automatically when loaded in Form Builder, but published forms are not affected until republished, whether from Form Builder or from the Home page.
- The change is visible when looking at the form definition source code in Form Builder.
- The external data format, that is the data saved to the persistence layer, is unchanged, therefore existing form data in the database doesn't need migration.
- The send action also uses the "old" format by default (this can be overridden). (doc)
- POSTing initial data to a form also uses the "old" format by default (this can be overridden). (doc)
- However initial data obtained from a service can only be in the "old" format at this time.
- Relevance and readonly for repeated grids
- The "Visibility" and "Readonly" formulas in Form Builder apply to the entire grid, whereas they used to apply to individual iterations only (although this was not an intended feature). In the future we might add separate "Visibility" and "Readonly" formulas for iterations.
- fr:grid component (doc)
- The repeat="true" attribute value is deprecated. Instead use repeat="content" which expect different data layout.
- The relevant and readonly MIPs apply to the entire grid with repeat="content".
- The evaluation context for the min and max AVTs is properly specified and documented.
- The xxf:tree and xxf:menu appearances on xf:select and xf:select1 have been removed. The way these appearances were implemented is considered obsolete and not showcased by Form Runner and Form Builder anyway.
- The default session duration used to be 12 hours. It is reduced to 1 hour. The session heartbeat feature helps keeping the session alive.