Tuesday, November 13, 2018

Orbeon Forms 2018.1.3 PE

Today we released Orbeon Forms 2018.1.3 PE. This update to Orbeon Forms 2018.1 PE contains bug-fixes and is recommended for all Orbeon Forms 2018.1 PE users.

This release addresses the following issues since Orbeon Forms 2018.1.2 PE:

Form Runner:
  • Properly handle showing dialog and setting focus on page load (#3792)
  • Malformed PDF output if cells all have colspan (#3799)
  • PDF template: number field not filled (#3800)
  • CP-1252 filtering should also happen in `HTMLFragmentSerializer` (#3817)
  • None.get when duplicating from the Summary page (#3819)
  • Date picker doesn't use right language when embedded (#3787)
Form Builder:
  • No undo for cutting grid (#3786)
  • Initial value in repeated grid resets when control is moved (#3781)
  • Copy/paste grid containing fr:explanation doesn't update the control name (#3808)
  • Copy/paste of grid duplicates itemsets (#3810)
You can download the latest version of Orbeon Forms from the downloads page.

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

Please send feedback:
We hope you enjoy this release!

Friday, November 9, 2018

Multiple PDF templates

Form Runner can produce PDF files in two ways:

  1. Automatically. The PDF is produced based on the appearance of the form in your web browser. This is similar to printing a read-only version of your form. See also Automatic PDF.

  2. From PDF templates. You upload one or more PDF files using the “Attach PDF Templates” dialog. At runtime, Form Runner fills-out Acrobat fields in the template. See also PDF Templates.

Since Orbeon Forms 2018.1, you can attach more than one PDF template to a form definition. Templates are differentiated by a name and/or a language, which you specify when attaching the PDF.

Attach PDF Templates Dialog
Attach PDF Templates Dialog

When producing the PDF at runtime, as part of a “Send” or “Submit” process, [1] you can specify a name to pick from the available PDF templates. Then the form’s current language is used to pick from the remaining PDF templates, if they specify a language.

This enables two types of scenarios. The first one is that you can have localized PDF templates. Say your form supports English and Spanish, then you can have a PDF template in English and a PDF template in Spanish, and the appropriate PDF will be used depending on the language of the user.

The second scenario consists in producing different PDFs depending on which button the user is activating, or depending on specific data in the form. For example, you could produce both a short summary PDF, and a full PDF with all the information captured with the user.

Along with this change to PDF templates you can also decide, in a process, to use the automatic PDF instead of a PDF template, even if one or more templates are present. This provides you with more flexibility for PDF production.

For more about PDF templates, see the documentation. We hope you will enjoy this feature of Orbeon Forms 2018.1!


  1. Processes in Orbeon Forms are configurable and can be associated with buttons that appear at the bottom of the form. For details, see Buttons and processes.  ↩

Monday, November 5, 2018

Email templates

Orbeon Forms can send emails, typically as part of a “Send” or “Submit” process. [1] Such emails can contain text and attachments, including a PDF version of the form filled by the user.

So far, while Orbeon Forms offered quite a bit of flexibility as to the recipients of the emails, [2] the subject and body of the email were not as configurable as often desired.

The good news is that with Orbeon Forms 2018.1, the email subject and email body can now be dynamic. This means that they can be expressed in the form of templates, where elements in the templates can contain values from form controls or be calculated with a formulas. The template syntax is simple and used in other place in Form Builder as well.

In addition, instead of configuring the subject and email in configuration properties, you can now enter the email subject and body directly within Form Builder, in the “Email Settings” dialog. Each language can have separate subjects and bodies, and HTML emails are supported.

Dynamic email body
Dynamic email body
Dynamic email subject
Dynamic email subject

For more about email templates, see the documentation. We hope you will enjoy this feature of Orbeon Forms 2018.1!


  1. Processes in Orbeon Forms are configurable and can be associated with buttons that appear at the bottom of the form. For details, see Buttons and processes.  ↩

  2. Recipients can be statically defined or come from fields or selection controls in the form. For details, see Control settings.  ↩

Thursday, October 25, 2018

Automatic calculation dependencies

If you have ever worked with a spreadsheet such as Microsoft Excel or Google Sheets, you know that values that depend on each other update automatically when you make changes.

This is also a feature often requested in forms, where you might have calculations such as totals that depend on values entered in other places in the form. Here is an example:

Form with totals
Form with totals

Orbeon Forms has had support for such automated dependencies for a long time,[1] but this wasn’t enabled this by default. Well, better late than never: Orbeon Forms 2018.1 enables such dependencies by default for new forms, and you can use a form setting to change this for your existing forms.

How does this work? In concept, it is simple: at form compilation time, Orbeon Forms goes through all the calculated and initial values formulas you have in your form, and makes what is called a topological sort of the formulas. This determines an evaluation or re-evaluation order for all calculated values. When a value changes in the form, Orbeon Forms knows which formulas to recalculate first so that things show as expected. [2]

The beauty of this is that this works no matter where in the forms the dependent values are: they can be before, after, or between values they depend on. Reordering form fields has no effect on the result of the calculations.

For more details, see the documentation.

We hope you will find this feature of Orbeon Forms 2018.1 useful!


  1. Since Orbeon Forms 4.10.  ↩

  2. The underlying form processor used by Orbeon Forms is based on the XForms standard, which calls for computing such dependencies. The difference here is that Orbeon Forms uses variable references in formulas to compute this dependency order, instead of just references to nodes in an XML data model. But the concept is identical.  ↩

Friday, October 19, 2018

Resizing cells with drag & drop in Form Builder

In Orbeon Forms 2017.2, in Form Builder, we started using a web technology called CSS grid layout. This gave us a modern and solid foundation to implement new grid-related features in Form Builder. We already leveraged that new foundation in Orbeon Forms 2017.2 to switch to a 12-column layout.

We took this one step further in Orbeon Forms 2018.1 allowing form authors to change the size of the cells with drag & drop. This is simply done by grabbing the border of a cell, and dropping it in one of the possible destinations, which while dragging are indicated by an orange bar. For instance, here we make the size of the Middle name slightly smaller, to leave more space for the Last name:


And this works in both directions: you can resize cells to make them wider or narrower, as shown above, but also to make them taller or shorter. For more on this, see the documentation on the 12-column layout.

Friday, October 5, 2018

Orbeon Forms 2018.1.2 PE

Today we released Orbeon Forms 2018.1.2 PE. This update to Orbeon Forms 2018.1 PE contains bug-fixes and is recommended for all Orbeon Forms 2018.1 PE users.

This release addresses the following issues:
  • JavaScript error with mirrorContainer (#3758)
  • Copy/paste of control with multiple alerts is done incorrectly (#3737)
  • Copy/paste fr:explanation doesn’t update the control name (#3760)
  • Control Settings always shows puzzle icon for appearances (#3771)
  • Not enough space between repeated section separator an next section (#3745)
  • Show section titles properly to the right (#3306)
You can download the latest version of Orbeon Forms from the downloads page.

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

Please send feedback:
We hope you enjoy this release!

Thursday, October 4, 2018

Dynamic labels, hints, and help messages

A form field typically has an associated label which indicates what the field is about. For example "Name" or "Street" or "Comments". Usually, labels are defined once in for all for a given language.

But there are cases where it is useful to allow those to change dynamically, depending for example on the value of other controls. For example, make a selection:
Then use the value of that control in the label of another control (typically in a subsequent wizard step). Here the "chocolate" part comes from the previous selection:
You express this in the Control Settings dialog by writing the label as a template, and by specifying what value should go in the placeholders.


The template uses curly brackets enclosing a parameter name. You assign values to each parameter in the template. This allows localizing the label, while not having to repeat the template parameters assignments.

The value of a template parameter can be:
  • the value of another form control
  • a formula
With Orbeon Forms 2018.1, this feature doesn't only apply to control labels:
  • Form controls can have dynamic labels, hints, and help messages.
  • Sections can have dynamic labels and help messages.
Learn more about this feature in the documentation: