Orbeon Forms
  • Getting started
  • Installation
    • Logging
    • Configuration banner
    • Docker
    • Azure
    • Tomcat
    • WildFly
    • WebSphere
    • WebLogic
    • GlassFish
    • Caches
    • Replication
    • Upgrading
  • Configuration
    • Properties
      • General
        • HTTP client
      • Form Runner
        • Detail page
          • Attachments
          • Email properties
          • PDF
          • Table of contents
        • Persistence
        • Summary page
      • Form Builder
      • XForms
    • Advanced
      • Workflows
      • Session management
      • State handling
      • Client-side error handling
      • Clustering and High Availability
      • Configuring a Form Runner eXist database
      • Creating a production WAR
      • Environments
      • JavaScript and CSS assets
      • Limiter filter
      • Run modes
      • Security
        • Content-Security-Policy header
      • SAP Hybris Module
      • XForms logging
    • Troubleshooting
      • Troubleshooting with the orbeon.log
      • Memory and threads
      • Relational database logging
      • Misc
  • Form Builder
    • Form settings
      • Time window
    • Form editor
      • Form area
      • Toolbox
      • Buttons bar
      • Control settings
      • Dependent fields and sections
      • Validation
      • Choices editor
      • Publishing
      • Cut, copy and paste
      • Section and grid settings
      • Section settings
      • Grid settings
      • Quick control search
      • Repeat settings
      • Repeated grids
      • Undo and redo
      • Keyboard shortcuts
    • Formulas
      • Examples of formulas
      • Formulas inspector
      • Formulas console
    • Summary page
    • Form localization
    • Advanced
      • Edit source
      • Services and actions
        • HTTP services
        • Database services
        • Simple Actions
        • Action Syntax
        • Action Syntax examples
        • Synchronizing repeated content
      • Testing a form in web mode
      • Testing PDF production
      • Testing offline functionality
      • Email Settings dialog
      • Field-level encryption
      • Messages
      • Section templates
      • Template syntax
      • XML Schemas support
      • Extensibility
        • Extension API
        • Integration
        • Toolbox component metadata
  • Form Runner
    • Overview
      • Terminology
    • Pages
      • Landing page
      • Published Forms page
      • Forms Admin page
      • Summary page
    • Components
      • Alert dialog
      • Attachment
      • Autocomplete
      • Captcha
      • Character counter
      • Checkbox input
      • Currency
      • Date
      • Dropdown date
      • Static and dynamic dropdown
      • Error summary
      • Grid
      • Handwritten signature
      • Hidden field
      • Image
      • Image annotation
      • Image attachment
      • Number
      • Open selection
      • Repeater
      • Formatted Text / Rich Text Editor
      • Section
      • Single-selection tree
      • Source code editor
      • Time
      • US phone
      • US state
      • Video
      • Video attachment
      • Wizard
      • XForms inspector
      • Yes/No answer
    • Features
      • Automatic calculations dependencies
      • Datasets
      • Excel and XML import
      • Excel and XML export
      • Summary page Excel Export
      • Form definitions and form data Zip Export
      • Purging historical data
      • Lease
      • Localization
      • Supported languages
      • Mobile support
      • Multitenancy
      • Form Runner navigation bar
      • PDF production
        • Automatic PDF
        • Automatic PDF header and footer configuration
        • PDF templates
      • Responsive design
      • Revision history
      • S3 storage
      • Simple data migration
      • TIFF production
      • Versioning
      • Wizard view
      • Workflow stage
    • Persistence
      • Using a relational database
      • Relational database schema
      • Purging old data using SQL
      • Auditing
      • Autosave
      • Database support
      • Flat view
    • Linking and embedding
      • Linking
      • Java Embedding API
      • JavaScript Embedding API
      • Liferay full portlet
      • Liferay proxy portlet
      • Securing Form Runner access
      • Form Runner offline embedding API
      • Angular component
      • React component
    • Access control and permissions
      • Users
      • Login & Logout
      • Deployed forms
      • Form fields
      • Editing forms
      • Owner and group member
      • Organizations
      • Scenarios
      • Token-based permissions
    • Styling
      • CSS
      • Grids CSS
      • Automatic PDF styling and CSS
    • APIs
      • Authentication of server-side service APIs
      • Persistence API
        • CRUD API
        • Search API
        • List form data attachments API
        • Form Metadata API
        • Lease API
        • Reindexing API
        • Caching
        • Versioning
        • Revision History API
        • Zip Export API
        • Custom persistence providers
      • Other APIs
        • Connection context API
        • Duplicate form data API
        • File scan API
        • Form Runner JavaScript API
        • Generate XML Schema API
        • PDF API
        • Publish form definition API
        • Run form in the background API
      • Data formats
        • Form data
        • Date and time
        • Form definition
    • Architecture and integration
      • Architecture
      • Access form data
      • Integration
    • Advanced
      • Buttons and processes
        • Simple process syntax
        • Core actions
        • Form Runner actions
          • Save action
          • Send action
          • Email action
        • XForms actions
        • Predefined buttons, processes and dialogs
        • Summary page buttons and processes
      • Custom dialogs/model logic
      • Services
      • Singleton form
      • Monitoring HTTP requests
  • XForms
    • Core
      • Attribute Value Templates (AVTs)
      • Binds
      • Validation
      • Variables
      • Keyboard focus
      • XForms JavaScript API
      • Error handling
        • Detailed behavior
      • Model-Bind variables
      • XForms 2.0 support
    • Events
      • Standard support
      • UI refresh events
      • Keyboard events
      • Extension events
      • Extension context information
      • Other event extensions
    • Actions
      • Repeat, insert and delete
      • Scripting actions
      • Extensions
    • Controls
      • Label, hint, help
      • Input
      • Output
      • Text area
      • Button
      • Upload
      • Dialog
    • Submission
      • Standard support
      • JSON support
      • Asynchronous submissions
      • Caching extension
      • Other submission extensions
    • XPath
      • Type annotations
      • Expression analysis
      • Tips
      • Compatibility
      • Standard functions
      • Maps and arrays Functions
      • Extension functions
        • Core functions
        • Utility functions
        • Model functions
        • Controls functions
        • XML functions
        • JSON functions
        • HTTP functions
        • Form Runner functions
        • Other functions
        • Deprecated functions
    • XBL components
      • FAQ
      • Guide
        • XBL Tutorial
        • Bindings
        • XForms models
        • Including content
        • Event handling
        • Conventions
        • Map XBL example
        • Learning from existing components
      • Advanced topics
        • XBL Modes
        • JavaScript companion classes
        • XBL library
        • Extensions
        • Attachment controls
    • XForms tutorial
      • Introduction
      • Installation
      • The Hello application
      • The Bookcast application
        • The basic app
        • Database access
        • Polishing the app
        • Adding a feed
    • Using XForms from Java apps
  • XML Platform
    • Page Flow Controller
      • Basics
      • XML submission
      • Navigating between pages
      • Paths and matchers
      • Other configuration elements
      • Typical combinations of page model and page view
      • Examples
      • Authorizing pages and services
    • Processors
      • URL generator
      • Request generator
      • PDF to image converter
    • Resources
      • Resource managers
      • Setting up an external resources directory
    • Other
      • Binary and text documents
  • FAQ
    • Licensing
    • PE and Dev Support
    • Form Builder and Form Runner
    • Resources and support
    • Other technical questions
  • Contributors
    • Automated tests
    • Building Orbeon Forms
    • Localizing Orbeon Forms
    • Validation functions
    • Contributor License Agreement
  • Release notes
    • Orbeon Forms 2022.1.9
    • Orbeon Forms 2024.1.1
    • Orbeon Forms 2023.1.7
    • Orbeon Forms 2024.1
    • Orbeon Forms 2023.1.6
    • Orbeon Forms 2023.1.5
    • Orbeon Forms 2021.1.11
    • Orbeon Forms 2022.1.8
    • Orbeon Forms 2023.1.4
    • Orbeon Forms 2023.1.3
    • Orbeon Forms 2023.1.2
    • Orbeon Forms 2022.1.7
    • Orbeon Forms 2023.1.1
    • Orbeon Forms 2023.1
    • Orbeon Forms 2022.1.6
    • Orbeon Forms 2021.1.10
    • Orbeon Forms 2022.1.5
    • Orbeon Forms 2021.1.9
    • Orbeon Forms 2022.1.4
    • Orbeon Forms 2022.1.3
    • Orbeon Forms 2021.1.8
    • Orbeon Forms 2022.1.2
    • Orbeon Forms 2022.1.1
    • Orbeon Forms 2022.1
    • Orbeon Forms 2021.1.7
    • Orbeon Forms 2021.1.6
    • Orbeon Forms 2021.1.5
    • Orbeon Forms 2021.1.4
    • Orbeon Forms 2021.1.3
    • Orbeon Forms 2021.1.2
    • Orbeon Forms 2021.1.1
    • Orbeon Forms 2021.1
    • Orbeon Forms 2020.1.6
    • Orbeon Forms 2019.2.4
    • Orbeon Forms 2019.1.2
    • Orbeon Forms 2018.2.5
    • Orbeon Forms 2018.1.4
    • Orbeon Forms 2020.1.5
    • Orbeon Forms 2020.1.4
    • Orbeon Forms 2020.1.3
    • Orbeon Forms 2020.1.2
    • Orbeon Forms 2019.2.3
    • Orbeon Forms 2020.1.1
    • Orbeon Forms 2020.1
    • Orbeon Forms 2019.2.2
    • Orbeon Forms 2019.2.1
    • Orbeon Forms 2019.1.1
    • Orbeon Forms 2019.2
    • Orbeon Forms 2019.1
    • Orbeon Forms 2018.2.4
  • Release history
  • Use cases
  • Product roadmap
  • Index of features
Powered by GitBook
On this page
  • Major new features
  • Introduction
  • Improved "New Form" dialog with templates
  • Sorting and improved searching on the Summary page
  • Improved date format configuration
  • Sorting and searching on the Admin and Published Forms pages
  • Form Density Setting
  • Variable completion in formulas
  • Landing page improvements
  • Angular and React components for form embedding
  • New naming convention for the global library
  • Support for OpenID Connect (OIDC)
  • Support for leases in Form Builder
  • Keyboard shortcuts
  • Page load and service performance
  • Other new features and enhancements
  • Compatibility and upgrade notes
  • Namespace attributes at the top of properties-local.xml
  • Disabling the embedded SQLite database
  • Excel export button on the Summary page
  • Deprecation of catpcha tokens in configuration
  • reCAPTCHA v3
  • Simple data migration
  • Index names
  • Date formats
  1. Release notes

Orbeon Forms 2024.1

PreviousOrbeon Forms 2023.1.7NextOrbeon Forms 2023.1.6

Last updated 2 months ago

Tuesday, December 31, 2024

Today we released Orbeon Forms 2024.1! This release is absolutely packed with new features and bug-fixes!

Major new features

Introduction

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.

Improved "New Form" dialog with templates

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.

Sorting and improved searching on the Summary page

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

Improved date format configuration

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:

Sorting and searching on the Admin and Published Forms pages

The Forms/Admin and Forms/Published pages now allow you to sort as well.

You can also search by metadata or field.

Form Density Setting

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.

Variable completion in formulas

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.

Landing page improvements

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.

Angular and React components for form embedding

We have added two new components for form embedding:

These components allow you to embed forms in Angular or React applications. They add to our existing embedding APIs:

New naming convention for the global library

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:

  1. It wasn't clear that this was a global library rather than a library for forms in the orbeon application.

  2. 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.

Support for OpenID Connect (OIDC)

Support for leases in Form Builder

Keyboard shortcuts

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.

Page load and service performance

Other new features and enhancements

Orbeon Forms 2024.1 also includes many other new features and enhancements, including:

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

  • 2023.1.4

  • 2023.1.5

  • 2023.1.6

Compatibility and upgrade notes

Namespace attributes at the top of properties-local.xml

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:

<properties
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:oxf="http://www.orbeon.com/oxf/processors"
>
    ... content of the configuration file here ...

Make sure to include the xmlns:fr and xmlns:xxf attributes as well, for example:

<properties
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:oxf="http://www.orbeon.com/oxf/processors"
    xmlns:fr="http://orbeon.org/oxf/xml/form-runner"
    xmlns:xxf="http://orbeon.org/oxf/xml/xforms"
>
    ... content of the configuration file here ...

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.

Disabling the embedded SQLite database

Excel export button on the Summary page

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.

Deprecation of catpcha tokens in configuration

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

reCAPTCHA v3

Orbeon Forms now supports reCAPTCHA v3. For this reason, the configuration properties have changed.

Simple data migration

The default is changed from disabled to enabled for new forms, with the following built-in property:

<property
    as="xs:string"  
    name="oxf.fr.detail.data-migration.*.*"                              
    value="{if (fr:created-with-or-newer('2024.1')) then 'enabled' else 'disabled'}"/>

Although we do not recommend it, you can revert to the older behavior with:

<property
    as="xs:string"  
    name="oxf.fr.detail.data-migration.*.*"                              
    value="disabled"/>

Index names

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.

Date formats

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 also which covers the topic.

The Orbeon Forms Date control got improved in a couple of ways. Like for the , 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.

See also which covers the topic.

For more, see also the blog post.

For more, see also the blog post.

Angular component. For details, see blog post.

React component. For details, see blog post.

When using WildFly's built-in support for OIDC, Orbeon Forms can now extract roles from the provided OIDC token. For details, see the section .

Previously, a 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 ).

For details, see .

We have simplified our internal router. This can improve performance for page loads and service calls. This is noticeable in particular with the , where exports can be 30% faster.

Support repeats in relational flat views ()

Add support for flat views in MySQL ()

Form author with access to two apps only sees forms in the first one, in the Form Builder summary page ()

Copy section settings when inserting section template ()

Form metadata API: support paging ()

Ability to customize, in Form Builder, the "add another line" link, for minimal repeated grids ()

Ability to use variable references in service URL AVT ()

Improve US Address section template ()

Dynamic dropdown ability to auto-selecting only choice returned by the service ()

Bulk update to be able to trigger process ()

Maximum Aggregate Attachment Size constraint for Multiple File Attachments control ()

Form Builder UI for enabling the attachment of the XML to the email sent ()

Document, clarify, and extend process success, failure ()

Background API: provide ability to run a process by name ()

reCAPTCHA v3 support ()

Ability to configure the plain dropdown with search with a minimum input length ()

Improvements to configuration warning banner ()

Unify edit and view TOC appearances ()

Support autofocus attribute ()

Bulk update not to lose selection ()

"US State" control: also add territories ()

Allow Cmd-Enter or Ctrl-Enter to be used to "apply" dialogs ()

Redis support for replication, through Redisson as JCache implementation ()

Forms/Admin page: support URL parameters for search ()

Summary: improve look when no data ()

Form Runner resources for Hungarian ()

Date picker configuration to highlight current date ()

Tell user if selected app/form exists in-progress/published ()

New property to control if the wizard validates on page change ()

Error Summary: support showing only messages down to a given level ()

Ability to set the relevant and readonly of iterations in repeated grids and repeated sections ()

XForms support for multiple labels ()

Add service provider to help with connection context passing ()

Support serving files with the xml extension ()

Services to use the Cache-Control: no-store header ()

Persistence proxy to log reasons for 400 Bad Request ()

Allow hiding the title of a section () (also on 2023.1.3)

Show label/name of current control in Control Settings dialog title ()

Don't show upload metadata if readonly and missing ()

Show hints for keyboard shortcuts ()

Excel table export from Summary page ()

fr:dropdown-select1 to support minimal label ()

Refactor persistence layer permissions ()

ProcessorService: log HTTP method and URL parameters ()

Reflow/responsive repeated grids on devices with narrow screens ()

Process action to create a new document id ()

Support Friendly Captcha ()

Add captcha-reset process action ()

Add getNativeSession on Session instances ()

Support xxf:itemset() with Dynamic dropdown with search (databound-select1-search.xbl) ()

Date control placeholder to be localized in Spanish, Czech, and Turkish ()

Option not to show the "Require token" row ()

Dropdowns "please select" to be localized in Czech and Turkish ()

Allow custom model variables references in formulas ()

Form Builder Export: consider not saving before ()

Property to disable the keyboard shortcuts hints ()

Revision History: button to add older revisions ()

Orbeon Forms comes with an embedded SQLite database in order to show demo forms, and also to allow to quickly get started with Orbeon Forms. This maps to a provider called sqlite. To disable access to the embedded database after you have , make sure to also .

There is backward compatibility support for tokens. For details see .

For details see .

See component for more information.

this video
Time form control
this video
Form Density Setting
Variable completion in formulas
Angular component
React component
Form Runner server-side Java embedding API
Form Runner proxy portlet
Form Runner JavaScript Embedding API
Form Runner offline embedding API
OIDC with WildFly
Lease
the "Improved Keyboard Shortcuts" blog post
Form definitions and form data Zip Export
#1069
#6284
#878
#3495
#5493
#5742
#5782
#5997
#5999
#6055
#6064
#6120
#6137
#6185
#6222
#6245
#6267
#6373
#6411
#6498
#6505
#6545
#6554
#6557
#6559
#6628
#6643
#6644
#6647
#6649
#5724
#4758
#6157
#6214
#6221
#6372
#6288
#6292
#6298
#6306
#6323
#6333
#5741
#6414
#4491
#6435
#6439
#6441
#6465
#6444
#6496
#6500
#6502
#6145
#6562
#6605
#6623
Captcha components
Captcha components
Date
set up your own relational database configuration
disable the embedded SQLite database
Keyboard Shortcuts
New Form dialog with templates
Choosing an application and form name
Marking a form as available as a template
Setting a thumbnail for a form
Sorting by "Title" field on the Summary page
Search by Last Modified Date on the Summary page
Custom date format configuration
Browser date picker and first day of the week
Date and time controls
Sorting by "Form Title" on the Admin and Published Forms pages
Sorting and searching by "Form Title" on the Admin and Published Forms pages
Form Density Setting
Variable completion in formulas
Landing page with cards
Message showing the user owns the lease