> For the complete documentation index, see [llms.txt](https://doc.orbeon.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.orbeon.com/features.md).

# Index of features

## Purpose

The purpose of this page is to index features, their documentation and [blog posts](https://blog.orbeon.com/) in a central location so that you can get an idea of what Orbeon Forms offers at a glance.

## See also

* [Orbeon website](https://www.orbeon.com/)
* [Orbeon blog](https://blog.orbeon.com/)

## Status

As of 2016-04-19 this page is still being updated.

## List of Orbeon Forms features

### Form Builder and Form Runner

* Security features
  * Protecting against attacks: [doc](/configuration/advanced/security.md)
  * Content-Security-Policy header: [doc](/configuration/advanced/security/content-security-policy.md), [blog post](https://blog.orbeon.com/2018/08/improving-security-with-content.html)
  * Field-level encryption: [doc](/form-builder/advanced/field-level-encryption.md)
* Inserting and reordering grid rows: [blog post](https://blog.orbeon.com/2013/11/inserting-and-reordering-grid-rows.html)
* Repeated grids and sections
  * Repeat settings: [doc](/form-builder/form-editor/container-settings.md)
  * Repeated grids: [doc](/form-builder/form-editor/repeated-grids.md), [older blog post](https://blog.orbeon.com/2012/04/support-for-repeats-lands-in-form.html)
  * Repeated sections: [blog post](https://blog.orbeon.com/2014/01/repeated-sections.html)
  * Options for new repeat repetitions: [blog post](https://blog.orbeon.com/2015/10/repeated-grids-and-sections-just-got.html)
  * Minimal appearances of repeated grids and sections: [blog post](https://blog.orbeon.com/2015/12/leaner-repeated-sections-and-grids.html)
  * Frozen repetitions
* Section Templates:
  * main feature: [doc](/form-builder/advanced/section-templates.md)
  * merging: [doc](/form-builder/advanced/section-templates.md#merging-section-templates)
* Singleton forms: [doc](/form-runner/advanced/singleton-form.md)
* Versioning of form definitions: [doc](/form-runner/features/versioning.md), [blog post about concept](https://blog.orbeon.com/2014/02/form-versioning.html), [blog post about publish options](https://blog.orbeon.com/2015/01/choosing-best-versioning-option-when.html)
  * overwriting of existing version: [doc](/form-builder/form-editor/publishing.md#versioning)
  * associating a comment with a given form version: [doc](/form-builder/form-editor/publishing.md#versioning), [blog post](https://blog.orbeon.com/2016/09/versioning-comments.html)
  * simple data migration: [doc](/form-runner/features/simple-data-migration.md), [blog post](https://blog.orbeon.com/2018/09/simple-data-migration.html)
* Viewing data revision history: [doc](/form-runner/features/revision-history.md)
* Form field validation: [doc](/form-builder/form-editor/validation.md), [blog post](https://blog.orbeon.com/2013/07/enhanced-validation-in-form-builder-and.html)
  * required fields (also via formula, see [blog post](https://blog.orbeon.com/2014/09/control-required-values-with-formulas.html))
  * whitespace trimming: [doc](/form-builder/form-editor/validation.md#trimming-leading-and-trailing-spaces), [blog post](https://blog.orbeon.com/2016/02/required-fields-more-subtle-than-you.html)
  * data types such as string, number, date, etc.
  * multiple constraints with formulas
  * common constraints: [doc](/form-builder/form-editor/validation.md#commonconstraints), [blog post](https://blog.orbeon.com/2015/07/how-common-constraints-work.html)
    * minimum/maximum length
    * positive, positive or zero, negative or zero, or negative value
    * maximum fractional digits
    * attachment sizes and file types
  * errors, warnings, and informational validations
  * custom alert messages per validation
* Access control
  * Owner / group permissions: [doc](/form-runner/access-control/owner-group.md), [blog post](https://blog.orbeon.com/2013/09/ownergroup-based-permissions-aka-see.html)
  * Organizations: [doc](/form-runner/access-control/organization.md)
* Persistence (databases)
  * persistence API: [doc](/form-runner/api/persistence.md)
  * persistence implementations: [doc](/form-runner/persistence/db-support.md)
  * relational database support: [doc](/form-runner/persistence/relational-db.md), [blog post about new indexes](https://blog.orbeon.com/2016/06/new-indexes-boost-performance-with.html)
* Datasets: [doc](/form-runner/features/datasets.md), [blog post](https://blog.orbeon.com/2017/01/datasets.html)
* Multitenancy: [doc](/form-runner/features/multitenancy.md)
* User menu: [doc](https://github.com/orbeon/orbeon-forms-doc/blob/master/form-runner/access-control/login-logout/README.md)

### Form Builder

* 12-column layout: [doc](/form-builder/form-editor/form-area.md#the-12-column-layout), [blog post](https://blog.orbeon.com/2018/05/the-12-column-layout.html)
  * Drag & drop of cell boundaries: [blog post](https://blog.orbeon.com/2018/10/resizing-cells-with-drag-drop-in-form.html)
* Summary page: [doc](/form-builder/summary-page.md)
* Toolbox:
  * features: [doc](/form-builder/form-editor/toolbox.md)
  * configurability: [doc](/form-builder/advanced/extensibility/metadata.md)
  * XBL components: [doc](/xforms/xbl.md)
  * undo and redo: [doc](/form-builder/form-editor/undo-redo.md), [blog post](https://blog.orbeon.com/2017/12/new-orbeon-forms-20172-feature-undo-and.html)
  * cut, copy and paste: [doc](/form-builder/form-editor/cut-copy-paste.md)
* Form Settings: [doc](/form-builder/form-settings.md)
  * General Settings
  * HTML form description
  * Form Options: [doc](/form-builder/form-settings.md#form-options)
    * Singleton forms: [doc](/form-runner/advanced/singleton-form.md)
    * Wizard view: [doc](/form-runner/features/wizard-view.md)
  * Control Settings
  * View Options
  * PDF Options
  * About this Form
* Control Settings: [doc](/form-builder/form-editor/control-settings.md)
  * control name
  * Summary page options
  * custom CSS classes
  * easy switching of control appearances: [blog post](https://blog.orbeon.com/2015/06/how-new-form-builder-appearance.html)
  * validation: [doc](/form-builder/form-editor/validation.md)
  * formulas: [doc](/form-builder/formulas.md)
  * help text (plain text and rich text)
    * appearance of help messages: [blog post](https://blog.orbeon.com/2014/01/improving-how-we-show-help-messages.html)
* Choices editor: [doc](/form-builder/form-editor/itemset-editor.md)
  * Hints for checkboxes and radio buttons: [blog post](https://blog.orbeon.com/2014/02/hints-for-checkboxes-and-radio-buttons.html)
* Section Settings: [doc](/form-builder/form-editor/section-settings.md)
  * whether section is collapsible
  * whether section is initially collapsed
* Publishing a form definition: [doc](/form-builder/form-editor/publishing.md)
* Explanation text: [blog post](https://blog.orbeon.com/2015/04/adding-explanatory-text-to-your-forms.html)
* Extension API: [doc](/form-builder/advanced/extensibility/extension-api.md)
* Access control for editing forms: [doc](/form-runner/access-control.md)
* Internationalization (i18n) / localization (l10n): [doc](/form-builder/localization.md)
* Services and actions
  * HTTP Services: [doc](/form-builder/advanced/services-and-actions/http-services.md)
    * JSON support (for reading only): [doc](/xforms/submission/submission-standard.md#json-support)
    * setting URL parameters
  * Database Services: [doc](/form-builder/advanced/services-and-actions/database-services.md)
  * Simple Actions: [doc](/form-builder/advanced/services-and-actions/actions.md)
* XML Schema Support: [doc](/form-builder/advanced/xml-schema-support.md)
* Source code editor: [doc](/form-runner/component/source-code-editor.md)whether section is collapsible
* Extension API: [doc](/form-builder/advanced/extensibility/extension-api.md)
* Basic keyboard shortcuts
  * Cut/Copy/Paste: [doc](/form-builder/form-editor/cut-copy-paste.md#keyboard-shortcuts)
  * Undo/Redo: [doc](/form-builder/form-editor/undo-redo.md#keyboard-shortcuts)
  * Save button: [doc](/form-builder/form-editor.md#keyboard-shortcuts)

### Form Runner

* Standard look & feel
* Automatic calculations dependencies: [doc](/form-runner/features/automatic-calculations-dependencies.md), [blog post](https://blog.orbeon.com/2018/10/automatic-calculation-dependencies.html)
* Custom XBL components: [doc](/xforms/xbl.md)
* Summary page: [blog post](https://blog.orbeon.com/2014/06/the-form-builder-summary-page-and-form.html)
  * search
* Detail page
  * Responsive design for mobile devices such as smartphones: [doc](/form-runner/features/responsive-design.md), [blog](https://blog.orbeon.com/2015/08/responsive-design.html)
    * show numeric keypad/numbers and punctuation" keyboard pane when possible: [doc](/form-runner/component/number.md#mobile-support), [blog post](https://blog.orbeon.com/2016/01/better-numeric-input-on-mobile.html)
  * Review mode (printable)
  * Wizard view: [doc](/form-runner/features/wizard-view.md), [introduction blog post](https://blog.orbeon.com/2012/12/form-runner-wizard-view.html)
    * validated mode: [blog post](https://blog.orbeon.com/2015/03/new-wizard-validated-mode.html), [doc](https://github.com/orbeon/orbeon-forms-doc/blob/master/feature/wizard-view.md#validated-mode)
    * highlighting of sections in error/accessible sections
    * buttons appearing only on the wizard's last page
    * status information for each section
    * subsection navigation
    * optional separate table of contents
* File scan API: [doc](/form-runner/api/other-apis/file-scan-api.md)
* Forms Admin page: [doc](/form-runner/form-runner-pages/forms-admin-page.md), [blog post](https://blog.orbeon.com/2014/06/the-form-builder-summary-page-and-form.html)
* Published Forms page: [doc](/form-runner/form-runner-pages/published-forms-page.md), [blog post](https://blog.orbeon.com/2014/06/the-form-builder-summary-page-and-form.html)
* Landing page: [doc](/form-runner/form-runner-pages/landing-page.md)
* Excel and XML Import: [doc](/form-runner/features/excel-xml-import.md)
* Excel and XML Export: [doc](/form-runner/features/excel-xml-export.md)
* Buttons and Processes: [doc](/form-runner/advanced/buttons-and-processes.md), [blog post](https://blog.orbeon.com/2013/04/more-powerful-buttons.html)
* Autosave: [doc](/form-runner/persistence/autosave.md), [blog post](https://blog.orbeon.com/2013/10/autosave.html)
* Export
  * [Export of form definitions and form data](/form-runner/features/exporting-form-definitions-and-form-data.md)
  * Excel export
  * XML export
* [Purging historical data](/form-runner/features/purging-historical-data.md)
* PDF
  * Production: [doc](/form-runner/features/pdf-production.md)
    * Automatic
    * Template-based: [doc](/form-runner/features/pdf-templates.md)
      * multiple PDF templates
  * Automatic highlighting of links [blog post](https://blog.orbeon.com/2015/04/automatic-web-links-in-pdf-files.html)
  * Customizable file name: [doc](https://github.com/orbeon/orbeon-forms-doc/blob/master/configuration/properties/form-runner/form-runner-detail-page.md#custom-pdf-filename)
  * TIFF production: [doc](/form-runner/features/tiff-production.md)
  * Ability to send to services: [blog post](https://blog.orbeon.com/2016/08/submitting-pdf-file-to-external-service.html)
* Validation
  * as-you-type validation
  * explicit validation: [doc](https://github.com/orbeon/orbeon-forms-doc/blob/master/configuration/properties/form-runner/form-runner-detail-page.md#validation-mode)
  * centralized error summary showing currently relevant errors: [component doc](/form-runner/component/error-summary.md), [blog post on warnings/infos enhancements](https://blog.orbeon.com/2013/07/enhanced-validation-in-form-builder-and.html)
* Sending emails
  * controlling which attachments are included: [Form Builder doc](/form-builder/form-editor/control-settings.md#basic-options), [Form Runner doc](https://github.com/orbeon/orbeon-forms-doc/blob/master/configuration/properties/form-runner/form-runner-detail-page/form-runner-email/README.md#attachment-properties)
  * controlling To, Cc, Bcc, From: [doc](/form-builder/form-editor/control-settings.md), [blog post](https://blog.orbeon.com/2017/05/more-flexible-email-senders-and.html)
  * Email templates: [doc](https://doc.orbeon.com/form-builder/advanced/email-settings), [blog post](https://blog.orbeon.com/2018/11/email-templates.html)
* Captcha: [properties doc](https://github.com/orbeon/orbeon-forms-doc/blob/master/configuration/properties/form-runner/form-runner-detail-page.md#captcha), [component doc](/form-runner/component/captcha.md), [blog post](https://blog.orbeon.com/2011/12/stop-spammer-by-adding-captcha-to-your.html)
* Appearance of repeated sections: [properties doc](/configuration/properties/form-runner.md#appearance-of-repeated-sections), [component doc](/form-runner/component/grid.md#repeated-mode)
* Appearance of repeated grids: [properties doc](/configuration/properties/form-runner.md#appearance-of-grids-sections), [component doc](/form-runner/component/section.md#repeated-mode)
* Function library: [doc](/xforms/xpath/extension-functions/extension-form-runner.md), [blog post](https://blog.orbeon.com/2016/08/a-stable-function-library-for-form.html)
* Repeated content synchronization: [doc](/form-builder/advanced/services-and-actions/synchronize-repeated-content.md)
* Grids
  * HTML tables-free layout: [blog post](https://blog.orbeon.com/2016/06/saying-farewell-to-html-tables.html))
* Services and APIs
  * [Duplicate form data API](/form-runner/api/other-apis/duplicate-form-data.md)
  * [Generate XML Schema API](/form-runner/api/other-apis/duplicate-form-data.md)
  * [List form data attachments API](/form-runner/api/persistence/list-form-data-attachments.md)
  * [Publish form definition API](/form-runner/api/other-apis/publish.md)
  * [Run form in the background API](/form-runner/api/other-apis/run-form-background.md)

### Form controls

* Text controls
  * Text field
  * Plain text area
  * Formatted text area
  * Password field
* Utility controls
  * Explanatory text
  * Calculated value
  * Hidden field: [doc](/form-runner/component/hidden.md), [blog post](https://blog.orbeon.com/2019/02/hidden-fields.html)
* Typed controls
  * Number
    * control rounding when formatting/capturing data
    * left/right alignment
  * Email address
  * Currency
  * US phone number
  * US state
* Date and time controls
  * Date, time, date and time
    * date picker
    * option to exclude dates from the date picker: [doc](/form-builder/form-editor/validation.md#dates-to-exclude-constraint)
    * date control: [doc](/form-runner/component/date.md)
    * time control: [doc](/form-runner/component/time.md)
  * Dropdown date
  * Fields date
* Selection controls [doc](/form-builder/form-editor/toolbox.md#selection-controls)
  * Dropdown menu
  * Radio buttons
  * Radio buttons with "Other": [doc](/form-runner/component/open-select1.md)
  * Checkboxes
  * Scrollable checkboxes
  * Yes/No answer: [doc](/form-runner/component/yesno-input.md)
  * Single checkbox: [doc](/form-runner/component/checkbox-input.md)
  * Dynamic data dropdown
  * Autocomplete
* Attachments
  * File attachment
  * Image attachment
  * Static image
  * Static video
  * Handwritten signature: [doc](/form-runner/component/handwritten-signature.md)
  * Image annotation: [blog post](https://blog.orbeon.com/2013/08/new-image-annotation-control.html)
  * Control maximum size and file types: [blog post](https://blog.orbeon.com/2017/04/improved-constraints-on-attachments.html)
* Buttons
  * Button
  * Link button
* Other
  * Character counter: [doc](/form-runner/component/character-counter.md)
  * Custom components: [doc](/xforms/xbl.md)
    * support JavaScript Companion Classes: [doc](/xforms/xbl/advanced-topics/javascript.md)

### Databases

* Database support: [doc](/form-runner/persistence/db-support.md)
* SQL Server support in Orbeon Forms: [blog post](https://blog.orbeon.com/2014/05/sql-server-support-in-orbeon-forms.html)
* PostgreSQL support in Orbeon Forms: [blog post](https://blog.orbeon.com/2014/12/postgresql-support-in-orbeon-forms.html)

### Form handling

* Session heartbeat: [doc](/configuration/advanced/state-handling.md)
* Browser back/forward button support: [doc](/configuration/advanced/state-handling.md)

### Embedding

* Server side Embedding: [doc](/form-runner/link-embed/java-api.md), [blog post](https://blog.orbeon.com/2014/09/embedding-support-in-orbeon-forms-47.html), [Form Builder embedding blog post](https://blog.orbeon.com/2017/02/form-builder-embedding.html)
* Liferay proxy portlet: [doc](/form-runner/link-embed/liferay-proxy-portlet.md)
* Liferay full portlet: [doc](/form-runner/link-embed/liferay-full-portlet.md)

### Performance

* Limiter filter to limit the number of concurrent form requests: [doc](/configuration/advanced/limiter-filter.md)
* Internal service requests: [blog post](https://blog.orbeon.com/2015/01/saying-goodbye-to-internal-http.html)

### Misc

* Loading indicator and spinners: [blog post](https://blog.orbeon.com/2016/04/how-do-you-tell-users-something-is.html)
* Namespaced jQuery to avoid conflicts with other jQuery versions
* Run modes: [doc](/configuration/advanced/run-modes.md), [blog](https://blog.orbeon.com/2012/05/run-modes.html)
