Tuesday, February 16, 2021

Orbeon Forms 2019.2.3 PE

Today we released the Orbeon Forms 2019.2.3 PE maintenance release!

For details, see the release notes.

You can download the latest version of Orbeon Forms from the downloads page.

We hope you enjoy this release!

Monday, February 1, 2021

Orbeon Forms 2020.1.1 PE and Orbeon Forms 2020.1.1 CE

Today we released Orbeon Forms 2020.1.1 PE and Orbeon Forms 2020.1.1 CE!

For details, see the release notes.

You can download the latest version of Orbeon Forms from the downloads page.

We hope you enjoy this release!

Orbeon Forms can now determine files' mediatype based on the extension

When you attach a file to a form, as you might expect, the browser sends the content of the file to Orbeon Forms, but it also sends information about the file, including the file name, file size, and a description of the type of file it is sending called media type or MIME type. For instance, if you upload a JPEG image, the browser will tell the server that the media type of the file is image/jpeg.

However, there are times when the browser doesn't know the media type for a given file, and either doesn't provide that information to the server, or provides a generic media type, such as application/octet-stream. In those cases, starting in version 2020.1, Orbeon Forms infers the media type based on the file extension, thus increasing the likeliness that you end up with a correct media type.

For more on this, see the documentation section Mediatype determination.

Monday, January 25, 2021

Adding keyboard shortcuts to Form Builder

We believe that it is important for us to make Form Builder as easy as possible to use with a keyboard, this to improve:

  • accessibility,
  • the user experience for power users.

In Orbeon Forms 2020.1, we've started adding support for a few keyboard shortcuts for cut/copy/paste, save, undo/redo.

As you can see, this initial set is quite limited, but consider it as a start. We're planning to add more in the future, so, if you have a particular action for which you'd like us to add a keyboard shortcut for, please let us know.

Monday, January 11, 2021

New workflow capabilities in Orbeon Forms 2020.1

Orbeon Forms 2020.1 introduces a number of tools that make it easier to handle situations where you have a workflow around a form that involves multiple people who may be able to do different things, at different times, depending on a number of conditions.

Let's illustrate this with the example of an expense report, say:

  1. Employees can fill and submit new expense reports.
  2. Managers can review, but not edit, submitted expense reports, and either approve or reject them.
  3. If rejected, the employee who initially submitted the expense report can edit and resubmit it for approval.
  4. If approved, the expense report is marked as such, and becomes read-only.

An actual use case is most likely going to be more complicated than this, but this will suffice to illustrate the capabilities we want to discuss here.

Example of an expense report workflow, with stage transitions

First and foremost, Orbeon Forms 2020.1 introduces built-in support for the concept of stage. Our expense report can be in one of the following 3 stages: submitted, approved, and rejected. Looking again at the above workflow with those stages in mind:

  1. Employees start to fill an expense report, and submit it, at which point the stage becomes submitted.
  2. Managers can review expense reports with a submitted stage, and use the Approve button to change the stage to approved, or the Reject button to change the stage to rejected.
  3. If rejected, the employee can edit the form, submit it again, which changes the stage back to submitted.

This illustrates that stages can change with buttons at the bottom of the form, which brings us to a new workflow-related feature in Orbeon Forms 2020.1: the ability to change the stage with the set-workflow-stage(name = "…") action in a process, a process being the sequence of actions that runs when a button is pressed.

Finally, a combination of who the user is (an employee or a manager) and the current stage has an influence on what users can see and do, that is, whether they can edit the form, and what actions on the form are available to them. So you can implement those restrictions, Orbeon Forms 2020.1 introduces the fr:workflow-stage-value() function, which allows you to know what the current stage is. You can use this function anywhere you can use formulas, and in this example you can use it to:

  • If the user is a manager and the stage is submitted:
    • Show the Approve and Reject buttons.
  • If the user is an employee and the stage is different than submitted and approved:
    • Show the Submit buttons.
    • Allow users to edit the fields in the form.

To make this last item easier, Orbeon Forms 2020.1 introduces a form-level formula allowing you to set the whole form as read-only if a given condition is met. It was already possible to make specific fields or specific sections read-only, and it is now possible to do the same for the whole form, so you don't have to repeat the same formula on each section of the form.

Those are powerful tools, and we have even more workflow-related improvements in the works for future versions of Orbeon Forms, in particular to expose some of those features in Form Builder so they can be used more easily. We hope you'll find this useful, and are looking forward to seeing what you build using those new capabilities.

Wednesday, December 30, 2020

Orbeon Forms 2020.1

Today we released Orbeon Forms 2020.1 PE and Orbeon Forms 2020.1 CE!

This release includes improvements to attachment controls, Form Builder keyboard shortcuts and other usability improvements, and much more! We closed over 180 issues since Orbeon Forms 2019.2.

For details, see the complete release notes.

You can download the latest version of Orbeon Forms from the downloads page.

We hope you enjoy this release!

Thursday, August 27, 2020

Reloading resources for your form

Say you are overriding built-in resources:

  • because you'd like a button to be named differently,
  • or because you are localizing Form Runner in a new language,
  • or for some other reason want to change resources.

Then you might have noticed that your changes are not immediately taken into account, and you need to restart Tomcat, or other servlet container, before you can see your changes.

This is because, since resources don't change in production, they are aggressively cached by Orbeon Forms. However, if you're doing one of the aforementioned activities, having to restart the server to see changes done to your resources certainly isn't ideal.

Fortunately, since Orbeon Forms 2019.2, you can invalidate Orbeon Forms' resource cache for a given form, this from the Form Runner home page, by selecting the relevant form(s), and choosing Reload resources in the Operation menu.