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
  • Introduction
  • Configuration of the toolbox
  • Cut, copy and paste
  • Undo and redo
  • Reloading the toolbox
  • Function
  • Orbeon Forms 2017.2 and newer
  • Orbeon Forms 2017.1 and earlier
  • Form structure
  • New Section button
  • New Grid button
  • New Repeated Grid button
  • Form controls
  • Drag and drop of controls
  • Text Controls
  • Utility Controls
  • Typed Controls
  • Date and time Controls
  • Selection Controls
  • Attachment Controls
  • Button Controls
  • Choices
  • Data dropdown
  • Autocomplete
  • Keyboard shortcuts
  • See also
  1. Form Builder
  2. Form editor

Toolbox

Introduction

The Form Builder toolbox provides the following:

  • Global icons:

    • Form Settings [SINCE Orbeon Forms 2017.2]

    • Cut/copy/paste

    • Undo/redo [SINCE Orbeon Forms 2017.2]

    • "Reload toolbox" [UNTIL Orbeon Forms 2017.1]

  • Form structure:

    • New Section

    • New Grid

    • New Repeated Grid

  • Form controls:

    • Form control (also known as form fields) you can add to your form.

  • Metadata:

    • Allows you to modify the application name and form name.

  • Advanced:

    • Includes advanced features like XML Schema, PDF and source code view.

  • Services and Actions:

    • Editors for simple services and actions.

Depending on your monitor or browser size, you can use the scrollbar to the right of the toolbox to see more toolbox content.

Configuration of the toolbox

The toolbox can be configured via:

Cut, copy and paste

Undo and redo

Reloading the toolbox

Function

The "Reload Toolbox" icon or button reloads all the components in the toolbox. After reloading:

[SINCE Orbeon Forms 2019.1]

  • The list of all available (published) versions of section templates is updated.

  • The currently-selected versions of section templates, if still available, are updated to reflect their latest published.

Orbeon Forms 2017.2 and newer

The "Reload Toolbox" button is located at the top of the "Advanced" tab.

Orbeon Forms 2017.1 and earlier

The "Reload Toolbox" icon is located at the top of the toolbox:

Form structure

New Section button

Pressing this button inserts a new section into the form. The section is inserted after the currently selected section, that is the section containing the currently selected control.

After insertion, the new section has an empty title. You can change the section title by clicking on it.

New Grid button

Pressing this button inserts a new grid into the form. The grid is inserted after the currently selected grid within the currently selected section, that is the section and grid containing the currently selected control.

New Repeated Grid button

Pressing this button inserts a new repeated grid into the form. The grid is inserted after the currently selected grid within the currently selected section (the section and grid containing the currently selected control).

[SINCE Orbeon Forms 2019.1]

Form controls

The toolbox contains the user interface controls you can insert into your form, grouped by category:

Category
Description

Text Controls

for capturing text

Utility Controls

for descriptions and calculations

Typed Controls

for capturing other data like numbers, emails, phone numbers, etc.

Date and Time

for capturing a date, a time or both

Selection Controls

for selecting one or more values, like dropdown menus, radio buttons, etc.

Attachments

for attaching images or files

Buttons

for action buttons

To add a control to your form, simply click on the control. The following insertion logic is implemented:

  • If the currently selected grid cell is empty, the control is inserted there.

  • Otherwise, if the cell to the right of the currently selected grid cell is empty, the control is inserted there.

  • Otherwise, if the control is the last control of the grid, a new grid row is inserted and the control is inserted in the first cell of the new row.

  • Otherwise, the controls in the toolbox are disabled and you cannot insert a new control.

Drag and drop of controls

Once a form control is inserted into the form, you can drag it to a different grid cell in the form: simply click on the arrow icon that shows when you hover over the grid cell, and drag it to the new location.

[SINCE Orbeon Forms 2022.1]

You can also drag a control directly from the toolbox to a grid cell in the form.

Text Controls

Name
Description

Input Field

single-line input field

Plain Text Area

multi-line plain text area

Formatted Text Area

formatted text area (AKA Rich Text Editor)

Password Field

input field that hides the characters you type

The controls appear like this at design time:

Utility Controls

Name
Description

Explanatory Text

Calculated Value

Like most other controls, this control has a label and hint, but unlike most controls it is not used to enter a value. Instead, it just shows a value, either fixed or calculated with a formula.

Hidden Field

Typed Controls

Name
Description

Number

number field with formatting, validation and rounding

Email Address

text field which validates that the content is an email address

Currency

US dollar currency

US Phone Number

US phone number with automatic formatting

US State

US state selector

The controls appear like this at design time:

Date and time Controls

Name
Description

Date

date field with date picker

Time

time field

Date and Time

combined date and time field

Dropdown Date

date chooser which uses dropdown menus

Fields Date

date chooser which uses separate text fields

The controls appear like this at design time:

Selection Controls

Name
Selection
Description

Dropdown Menu

single

dropdown menu

Radio Buttons

single

radio buttons

Radio Buttons with "Other"

single

radio buttons with "Other" option to a enter a custom option

Checkboxes

multiple

checkboxes

Scrollable Checkboxes

multiple

scrollable checkboxes

Yes/No Answer

single

a simple "Yes" or "No" choice

Dynamic Data Dropdown

single

dynamic dropdown bound to a REST service

Autocomplete

single

autocompletion

The controls appear like this at design time:

NOTE: The "Scrollable List" control is deprecated since Orbeon Forms 2016.1 and removed from the toolbox.

Attachment Controls

Name
Description

Single File Attachment

- file which can be attached to the form at design time or at runtime - the file can also be replaced or downloaded once attached

Multiple File Attachments

- [SINCE Orbeon Forms 2020.1] - files which can be attached to the form at design time or at runtime - the files can also be replaced or downloaded once attached

Image Attachment

- image which can be attached to the form at design time or at runtime - the image can also be changed at runtime once attached

Image

- image attached to the form at design time - it is not possible to change the image at runtime

Image Annotation

Handwritten Signature

signature drawn with a mouse or touch screen

The controls appear like this at design time:

Here is an example of attachment control with multiple selection enabled:

/form-runner/component/images/xbl-attachment-multiple.png

This is the Handwritten Signature control (which of course you usually leave blank at design time):

Button Controls

Name
Description

Button

standard button

Link Button

button appearing as a link

Buttons do not allow entering data, and by default do nothing significant, but they can be used to trigger actions with the Actions Editor.

NOTE: Buttons do not appear at all in preview mode.

The controls appear like this at design time:

Choices

Choices (sometimes called options) refer to the items which are part of a selection control such as a dropdown menu or checkboxes.

Data dropdown

From the perspective of people who will be filling out your form, the data dropdown works just like a regular dropdown. However, the data in the dropdown comes from a service. For instance, imagine you have a list to select a state and that you don't want to hard code the list of states in the form, either for convenience, or because the subset of selectable states is dynamic:

  1. Insert a data dropdown field.

  2. Click on cogwheel to bring up a Control Settings dialog, similar to the one shown to the right.

  3. In the Resource URI, enter the address of an HTTP service that returns the data you want to use to populate the dropdown. In most cases, the URL will look like http://your-host/your-service. If the address you specify start with a /, it is relative to the Orbeon Forms web app, which allows you to access a service you might have implemented in Orbeon Forms with XPL. For this example, let's assume your service returns a list of states that looks like:

<states>
    <state abbreviation="AK" name="Alaska"/>
    <state abbreviation="AL" name="Alabama"/>
    <state abbreviation="AR" name="Arkansas"/>
    ...
</states>
  1. In the Items field, enter an XPath expression that returns one node per state. In this case, it will be: /states/state.

  2. For each state (item), specify an expression relative to the node returning the label (shown to users in the dropdown) and the value (stored in the data). In this case, those expressions will be, respectively: @name and @abbreviation.

If the data in the dropdown depends on a value entered by users in another form field, you can pass that value to the service as a request parameter. For instance, let's say that in addition to the State dropdown, you have a City dropdown where you want to list all the cities in the currently selected state. If the service is at /xforms-sandbox/service/zip-cities and takes a request parameter state-abbreviation, assuming you named your State field state, in the Resource URI enter:

/xforms-sandbox/service/zip-cities?state-abbreviation={$state}

Autocomplete

The autocomplete control is a single item selection control that loads a list of suggestions from a service. It takes the same Resource URI, Items, Label, and Value configuration parameters as the [Data dropdown control][46]. You may want to pass the value of other controls to the service, but you'll always want to pass the currently typed value, as the suggestions should depend on what users typed so far. You access to the currently typed by value with $fr-search-value, as in the following example:

/xforms-controls/services/countries?country-name={`encode-for-uri($fr-search-value)}

Keyboard shortcuts

See also

PreviousForm areaNextButtons bar

Last updated 2 months ago

: for selecting and ordering the components that show in the toolbox.

: for the component names.

See .

See .

The list of controls in the toolbox updates to reflect changes to the .

The libraries update.

used in your form also update to their latest published version.

For more, see .

See also .

You can also switch a regular grid to be repeated. See .

Explanatory text which does not capture a value ()

This control supports most features of regular controls, but doesn't show in the form at runtime. See .

You edit the choices of most selection controls with the .

- image which can be attached to the form at design time or at runtime - the image can then be annotated with graphic objects - see also the - SINCE Orbeon Forms 2016.3

The attachment control with mulltiple selection enabled

For more, see the .

Limitation: you can't yet use a variable as shown in the above example, to refer to another fields value. Instead, if the control is in the same section use {../state}. If in a different section with name other-section, use {../../other-section/state}. See .

See .

: for the component names.

Blog post:

Blog post:

Component metadata
Cut, copy and paste
Undo and redo
section templates
Section templates
Repeated grids
Repeat settings
Choices editor
Itemset Editor
#431
Keyboard shortcuts
Form editor
Form area
Buttons bar
Section templates
Documented XBL components
XBL components
Component metadata
The new Multiple File Attachments control
Copying and pasting across forms
blog post
Hidden field component
blog post
Versioning of section templates
Properties
oxf.fb.toolbox.group properties
Form Builder toolbox properties