Orbeon Forms 2024.1
Last updated
Last updated
Tuesday, December 31, 2024
Today we released Orbeon Forms 2024.1! This release is absolutely packed with new features and bug-fixes!
With Orbeon Forms 2024.1, we are introducing a number of major new features. Several of them contribute to improving usability, navigability, and visibility of forms and form data.
In addition, some features improve the deployment of Orbeon Forms, including cloud deployment, and deployment with JavaScript embedding.
In previous versions, creating an entirely new form with Form Builder always started with a default blank template.
The "New Form" dialog now starts with a series of form templates that you can choose from. There are built-in form templates, but you can make your own form templates.
In addition, providing a form application name and form name is now optional when you start. You can provide them later, after you've started working on the form. This makes getting started on a new form more straightforward. Finally, when you pick an application name and form name, Form Builder checks the in-progress and published forms for a match to tell you whether that combination is already in use.
You can mark any form you create as a template, and that form will then show in the list of available templates.
You can associate a thumbnail with each form, which will be used in the Form Builder New page as well as on the landing page (see below). That thumbnail can be a screenshot of the form, or any other graphic you choose.
The Form Runner Summary page already allowed you to search, but it now allows you to sort by metadata or field as well.
In addition, search has been improved to search and sort by the following metadata information (when present):
Created Date
Last Modified Date
Created by Username
Last Modified by Username
Workflow Stage
See also this video which covers the topic.
The Orbeon Forms Date control got improved in a couple of ways. Like for the Time form control, we have made the format a configuration of the Date control. This means that you can specify the date format for each Date control individually, at the form level, or in configuration properties, as is the case for all other form control configurations in Orbeon Forms.
The format allows you to control the following:
the order of the fields: Month first, Day first, Year first
the separator to use
pad the months and days with zeros or not
If you are configuring this at the form control or form level, you can do this in the Form Builder UI, so you don’t have to figure out a textual syntax (but you still use such a syntax in Orbeon Forms configuration properties).
In addition, we have fixed other issues with the Date control, and we have brought a couple of existing configurations to the Form Builder UI:
Use browser date picker
First day of the week
The following shows examples of Date and Time controls at runtime:
The Forms/Admin and Forms/Published pages now allow you to sort as well.
You can also search by metadata or field.
See also this video which covers the topic.
You now have a choice of several form density settings:
Compact: This is the current default with Orbeon Forms until 2023.1.
Comfortable: This is the default for forms created with Orbeon Forms 2024.1 and later.
Roomy: Choose this for even more spacing between controls.
This setting can be set globally, per app, or per form, with a setting in Form Builder as well.
For more, see also the Form Density Setting blog post.
Like in a spreadsheet, a formula can reference other form control values. Formulas now provide completion of control names: simply type the $
character, and a completion menu appears. It shows not only the name of the field, but also its label.
For more, see also the Variable completion in formulas blog post.
The Orbeon Forms Landing page, introduced with Orbeon Forms 2022.1, now allows you to show cards showing the latest data for specific forms that you configure. This gives you quick access to your important data.
In addition, we have split the Orbeon Demo Forms and Demo Features. These, of course, are just examples, and can easily be removed with a simple configuration for your dev, test, or production environments.
We have added two new components for form embedding:
Angular component. For details, see Angular component blog post.
React component. For details, see React component blog post.
These components allow you to embed forms in Angular or React applications. They add to our existing embedding APIs:
Form Builder supports reusable section templates, which can be present in two separate libraries:
A global library, usable from any form in the system.
An application-specific library, usable from forms in the same application.
Previously, the global library was named orbeon/library
, while an application acme
's library was named acme/library
. We didn't like that the global library was named orbeon/library
, as:
It wasn't clear that this was a global library rather than a library for forms in the orbeon
application.
Some users who do white-labeling might not want to see the name orbeon
appear.
With this Orbeon Forms version, we have moved the global library to an anonymous application called _
(which stands for "global" or "placeholder" or "wildcard"), and the global library is now named _/library
. This is not truly meant to be seen by form authors or end users, but rather it is an internal name.
For backward compatibility, the orbeon/library
library is still available. A new global library should be created with the new name. If both libraries are present, both are shown by Form Builder.
We added support for OpenID Connect (OIDC) as an authentication method when using the WildFly container. This is a step towards easily allowing deploying Orbeon Forms on cloud services such as Microsoft Azure, Google Cloud, and Amazon Web Services.
Previously, a Lease was only supported for published forms. With this version, leases are supported for Form Builder itself. This allows to better control how multiple form authors can edit a form in Form Builder without conflicts.
With Orbeon Forms 2023.1.3, we had already added a number of keyboard shortcuts in Form Builder (see the "Improved Keyboard Shortcuts" blog post).
With this release, we have added more keyboard shortcuts, including shortcuts to enter specific form controls. This can greatly accelerate how power users create forms.
For details, see Keyboard Shortcuts.
We have simplified our internal router. This can improve performance for page loads and service calls. This is noticeable in particular with the Form definitions and form data Zip Export, where exports can be 30% faster.
Orbeon Forms 2024.1 also includes many other new features and enhancements, including:
Support repeats in relational flat views (#1069)
Add support for flat views in MySQL (#6284)
Form author with access to two apps only sees forms in the first one, in the Form Builder summary page (#878)
Copy section settings when inserting section template (#3495)
Form metadata API: support paging (#5493)
Ability to customize, in Form Builder, the "add another line" link, for minimal repeated grids (#5742)
Ability to use variable references in service URL AVT (#5782)
Improve US Address section template (#5997)
Dynamic dropdown ability to auto-selecting only choice returned by the service (#5999)
Bulk update to be able to trigger process (#6055)
Maximum Aggregate Attachment Size constraint for Multiple File Attachments control (#6064)
Form Builder UI for enabling the attachment of the XML to the email sent (#6120)
Document, clarify, and extend process success, failure (#6137)
Background API: provide ability to run a process by name (#6185)
reCAPTCHA v3 support (#6222)
Ability to configure the plain dropdown with search with a minimum input length (#6245)
Improvements to configuration warning banner (#6267)
Unify edit and view TOC appearances (#6373)
Support autofocus attribute (#6411)
Bulk update not to lose selection (#6498)
"US State" control: also add territories (#6505)
Allow Cmd-Enter or Ctrl-Enter to be used to "apply" dialogs (#6545)
Redis support for replication, through Redisson as JCache implementation (#6554)
Forms/Admin page: support URL parameters for search (#6557)
Summary: improve look when no data (#6559)
Form Runner resources for Hungarian (#6628)
Date picker configuration to highlight current date (#6643)
Tell user if selected app/form exists in-progress/published (#6644)
New property to control if the wizard validates on page change (#6647)
Error Summary: support showing only messages down to a given level (#6649)
Ability to set the relevant and readonly of iterations in repeated grids and repeated sections (#5724)
XForms support for multiple labels (#4758)
Add service provider to help with connection context passing (#6157)
Support serving files with the xml extension (#6214)
Services to use the Cache-Control: no-store
header (#6221)
Platform updates:
We have upgraded to Scala 2.13, with some uses of Scala 3 as well.
We use native browser dialogs using the <dialog>
HTML element.
We have upgraded many third-party open-source dependencies.
The following enhancements are part of 2024.1, but have also been backported to 2023.1.x maintenance releases:
2023.1.3
Persistence proxy to log reasons for 400 Bad Request (#6372)
Allow hiding the title of a section (#6288) (also on 2023.1.3)
Show label/name of current control in Control Settings dialog title (#6292)
Don't show upload metadata if readonly and missing (#6298)
Show hints for keyboard shortcuts (#6306)
Excel table export from Summary page (#6323)
fr:dropdown-select1
to support minimal label (#6333)
2023.1.4
2023.1.5
Add getNativeSession
on Session
instances (#6465)
Support xxf:itemset()
with Dynamic dropdown with search (databound-select1-search.xbl
) (#6444)
Date control placeholder to be localized in Spanish, Czech, and Turkish (#6496)
Option not to show the "Require token" row (#6500)
Dropdowns "please select" to be localized in Czech and Turkish (#6502)
You need to make sure that your main Orbeon Forms configuration file, properties-local.xml
, features xmlns:fr
and xmlns:xxf
attributes at the top. Your existing file might start with:
Make sure to include the xmlns:fr
and xmlns:xxf
attributes as well, for example:
Failing to have these configuration attributes might prevent Orbeon Forms from starting. These attributes are present on the template file, properties-local.xml.template
, provided with Orbeon Forms.
The default oxf.fr.summary.buttons
configuration property now includes excel-export-with-search
by default. This means that, by default, a user can export the Summary page content in Excel format. If you do not wish this, you can set your own oxf.fr.summary.buttons
configuration property.
Previously, the oxf.fr.detail.captcha
or oxf.fr.detail.captcha.component
supported tokens, including:
reCAPTCHA
SimpleCaptcha
OnPremiseCaptcha
With this version, component names should be used instead, as follows:
fr:recaptcha
fr:friendly-captcha
fr:on-premise-captcha
There is backward compatibility support for tokens. For details see Captcha components.
Orbeon Forms now supports reCAPTCHA v3. For this reason, the configuration properties have changed.
For details see Captcha components.
The default is changed from disabled
to enabled
for new forms, with the following built-in property:
Although we do not recommend it, you can revert to the older behavior with:
We previously had a typo in the names of some indexes for SQL Server, PostgreSQL, Oracle, and MySQL: some indices began with orbeon_from
instead of orbeon_form
. Although this typo doesn't cause any issues, you may want to check for it during your upgrade and rename the affected indices for consistency. We corrected this typo in the DDL we provided in November 2024, so if you created your indices before that date, you likely have this typo.
With this release, for Date controls, the oxf.xforms.format.output.date
property is no longer used in readonly modes. Instead, the output-format
parameter of the time field is used, which defaults to the value of the global oxf.xforms.format.input.time
property.
See Date component for more information.