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
      • International Securities Identification Number (ISIN)
      • Legal Entity Identifier (LEI)
      • Number
      • Open selection
      • Repeater
      • Formatted Text / Rich Text Editor
      • Section
      • Single-selection tree
      • Source code editor
      • Time
      • US Employer Identification Number (EIN)
      • US phone
      • US Social Security Number (SSN)
      • 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 2024.1.2
    • 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
  • New features
  • Components with built-in validation
  • Custom PDF template field names
  • Redis configuration
  • OIDC with WildFly
  • New localizations and translations
  • Other features
  • New demo form
  • Performance improvements
  • Issues addressed
  • Compatibility and upgrade notes
  • Support of POST for /reindex API
  1. Release notes

Orbeon Forms 2024.1.2

PreviousRelease notesNextOrbeon Forms 2022.1.9

Last updated 4 hours ago

Thursday, June xx, 2025

Today we released Orbeon Forms 2024.1.2! This maintenance release contains more than a hundred bug-fixes and some new features, and is recommended for all users of:

  • Orbeon Forms 2024.1.1 PE

  • Orbeon Forms 2024.1 PE

New features

Components with built-in validation

Orbeon Forms is built on top of a component system which allows adding new form controls with a little bit of programming. In fact, this is how most of the form controls which whip with Orbeon Forms are made. In this release, we are improving support for components which provide their own validation, and introducing new components.

  • US Employer Identification Number (EIN)

  • US Social Security Number (SSN)

  • Legal Entity Identifier (LEI)

  • International Securities Identification Number (ISIN)

See also:

  • Blog post: SSN and EIN Form Controls

  • Blog post: ISIN and LEI Form Controls

Custom PDF template field names

Orbeon Forms supports PDF templates. This feature requires mapping form fields to PDF fields. To achieve this, until now, you had to name the fields in the PDF to match the Form Runner fields.

The "Control Settings" dialog now lets you set a custom PDF field name for each form field. This makes it easier to manage the mapping between form fields and PDF fields.

See also:

  • Blog post: Custom PDF Field Names

  • PDF Templates

Redis configuration

We now provide a configuration for Redis. This setup is best for cloud deployments where instances of Orbeon Forms typically can't use multicast for discovery, and Redis is provided as a service.

See Redis configuration for details.

OIDC with WildFly

We now provide an integration with WildFly OIDC.

See OIDC with WildFly for details.

New localizations and translations

Thanks to contributors, we have updated localizations and translations for Catalan, and added new translations for Spanish and Arabic. The latter remains a work in progress.

Other features

The following small features have been added in this release:

  • Form Builder to support properties to hide buttons based on formula (#6805)

  • Add FormRunnerForm.getControlValue() (doc)

  • Dynamic Dropdown With Search: option to store label in all cases (doc)

  • Reindexing API: ability to reindex a specific form (doc)

New demo form

We are continuing to add to our collection of demo forms, which you can use directly, as templates for your own forms, or to learn about Orbeon Forms features and capabilities. In this release, we are adding the following demo forms, which makes use of the new SSN and EIN components, as well as the custom PDF field names feature:

  • Vendor Application (builder, runner)

  • PTA Payment Authorization/Request for Reimbursement (builder, runner)

  • Public Records Act Request Form (builder, runner)

In addition, we have updated the following demo forms which showcase features:

  • All Form Controls (builder, runner)

  • Examples of Formulas (builder, runner)

Performance improvements

We have made a number of performance improvements in this release, including:

  • Add dependency support for fr:app-name(), etc. (#7000)

  • Add dependency support for pure functions (#6999)

  • Add dependency support for xxf:property() (#6998)

  • Add dependency support for xxf:repeat-position() (#6981)

  • fr:grid/fr:section: don't depend on * (#6995)

  • Add dependency support for fr:component-param-value() (#6980)

  • Cache BindingIndex (#6972)

  • Reindex: don't attempt to reindex data upon DELETE of form definition (#6915)

  • Reindex is triggered for attachments (#6913)

See also:

  • Blog post: 2024.1 Performance improvements

Issues addressed

In this release, we have addressed many issues, including:

  • Form Builder

    • In Control Settings, set focus on Control Name after clicking "Use suggestion" (#7060)

    • Variable completion in formulas doesn't show after $a+ (#6874)

    • Control Settings: long title causes fat dialog title (#7035)

    • Repeated grid menu incorrectly positioned in PDF Templates and Edit Choices dialogs (#7034)

    • "java.lang.StringIndexOutOfBoundsException: String index out of range: -1" in Form Builder (#7031)

    • Duplicate "Dropdown" appearance in Control Settings (#7026)

    • FB: Repeated grids in dialogs don't show (#7005)

    • "Service supports paging" option doesn't show correctly (#7003)

    • Dynamic Dropdown: "Service performs search" missing (#7002)

    • Actions Editor to make it clear why the Set Control Value isn't available (#6994)

    • Control Settings Next sometimes switches tab (#6973)

    • Appearance/description missing for Component/Schema type (#6967)

    • Support binding appearance and another attribute (#2479)

    • Number: user must not be able to select same decimal and grouping separator (#6961)

    • Dropdown with search empty in Actions Editor (#6959)

    • Form Settings: add language selector for title/description (#3613)

    • FB: crash when passing valid app/form names in URL (#6957)

    • Browser not to suggest email in Email Settings Email Subject field (#6944)

    • Test PDF dialog: show PDF template filename (#6941)

    • FB: icons occasionally showing in the wrong place (#6928)

    • FB: crash when pasting a section containing a section template (#6925)

    • "Generate token URL parameter" option in email template parameters not persisted correctly (#6919)

    • Form Builder doesn't show repeated grid or section iterations with custom name (#7067)

    • After pasting form definition, Actions Editor dialog appears partially empty (#7010)

    • Keyboard shortcuts to switch tabs to work also outside of dialogs (#6964)

  • Form Runner

    • Initial value not set when coming from service with a request parameter (#7083)

    • /reindex API should be a POST, not a GET (#6174)

    • In case of XPath error, log expression even if we don't know in which file is came from (#7059)

    • User without create but with update permission can't attach new files to existing data (#7057)

    • $form-resources doesn't point to the form resources (#7056)

    • Simple Actions: ability to call async submission provider (#7053)

    • Draft filesystem attachments are not supported (#7051)

    • SocketException, IOException, "Broken pipe" in request/response must not pollute log files (#1992)

    • Option not to kill form session if request sequence number is unexpected (#6965)

    • Test formatting Chinese time failing (#6986)

    • Demo forms: Use WebP for thumbnails (#6979)

    • Search API response doesn't include Content-Type (#6974)

    • If properties initialization fails, a missing license error also shows (#6968)

    • Error with "{a}" in message template (#6962)

    • Control variables in email template parameter formulas not interpreted (#6899)

    • Action Syntax: custom <xf:var> doesn't work (#6943)

    • Form metadata API: make <created> element optional (#6942)

    • Can't use doc() in Calculated Value (#6836)

    • Icon to copy link with token doesn't show right after saving (#6926)

    • Mark data unsafe for field being edited (#6960)

    • Allow list of choices to come from @fr:itemsetid (#7058)

    • Offline: ability to pass user credentials (#7072)

    • Processes: support $foo and fr:control-string-value() (#7068)

    • Purge deletes first 100 items and then stops (#7025)

    • Import

      • Excel Import: progress shows incorrectly during large import (#7029)

      • Import: error when choosing to delete existing records (#7022)

    • PDF

      • Input field with character counter doesn't show in PDF template output (#5025)

      • Calculated value doesn't show in PDF template (#6951)

      • PDF templates: signature field is not populated (#6922)

      • PDF: Empty optional signature can overflow (#6954)

    • Form controls/components

      • Dynamic Dropdown With Search: option to store label in all cases (#7014)

      • Support fr:is-readonly-mode() outside of Form Runner, to support fr:section in plain XForms (#6983)

      • Dynamic dropdown with search not to auto-select when readonly (#6958)

      • Dynamic dropdown with "With Search" and "Auto-select unique choice" doesn't show readonly (#6955)

      • Hint doesn't work for Dynamic Dropdown (#6920)

    • Embedding

      • Embedding demo to show Form Builder with JavaScript embedding API (#7028)

      • Embedding: Form Builder icons don't show upon hover (#7009)

      • Embedding: error when loading Form Builder (#7008)

      • Java embedding API doesn't work with Tomcat 10+ / WildFly 27+ (jakarta vs javax) (#7004)

      • Add Angular and React demos (#6938)

    • Offline

      • Offline: edit mode fails to load data (#7021)

      • Offline: attachments don't work anymore (#7006)

      • Offline: exception when running on the default HTTP port (#6987)

  • WebSphere, WildFly, DB2

    • WebSphere: missing current servlet error (#7052)

    • Async I/O requests can fail in Jakarta EE environment (#7030)

    • Support getting context path of the original request in Tomcat 10+ (#6990)

    • Db2: add indexes to DDL (#6985)

    • WildFly: exception when saving (#7033)

    • Integration with WildFly OIDC to support Keycloak and Cognito in addition to Entra ID (#6871)

  • Infrastructure

    • Run local HTTPBin during tests (#7039)

    • Docker error when mounting context.xml (#6904)

    • orbeon-embedding.war missing some dependencies (#7011)

    • XML test comparison to treat non-breaking spaces as equivalent to regular spaces (#6984)

    • Include JARs for Redis replication in Docker images (#6966)

    • Create PDF template with all controls (#1993)

    • Error with ResizeObserver in tests (#6952)

    • Build failing, maybe after Update fs2-core, fs2-io to 3.12.0 (#6939)

    • "showModal is not a function" error when running a replication test on 2024.1-pe branch (#6905)

    • Test result of PDF output (#5670)

    • third-party library updates

Compatibility and upgrade notes

Support of POST for /reindex API

The Reindexing API responds to a GET request at /fr/service/persistence/reindex. This was in error and is now deprecated. The service now responds also to a POST request at the same endpoint, which is the correct HTTP method for a side-effecting operation. The GET method is still supported for backward compatibility, but it is recommended to use POST instead.

You can download the latest version of Orbeon Forms from the downloads page, or use our Docker images.

Don't forget to grab a trial license for the PE version.

Please send feedback via Twitter, Bluesky, or the forum.

We hope you enjoy this release!

New components with builtin validation
Custom PDF field name