# Publishing

## Introduction

The notion of *publishing* is central to Form Builder/Form Runner.

* As a form author, you first work on a form definition in a special space where the form can be modified, saved, and tested.
* Once the form definition is ready, you *publish it* to Form Runner.
* After that moment:
  * the form becomes available by form users for data entry
  * Form Builder is no longer part of the equation

## First publish

When you start publishing a form with the Publish button at the bottom of Form Builder, a dialog opens to confirm the application name form name:

![Creating a new version](https://4129616727-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LEkBiSDvlXs3VWiO0Zu%2F-LEkBmMpnaxnftLGDglW%2F-LEkBwwFI7nLPJYpV74P%2Fpublish-initial-no-versioning.png?generation=1528743327436235\&alt=media)

\[SINCE Orbeon Forms 2017.2] You can decide whether the published form is available to end users. You can later change the availability of the published form either in Form Builder by re-publishing it, or from the [Form Runner runner home page](https://doc.orbeon.com/~/revisions/-LF_uc1WMpa4Sd-n5tDb/form-runner/features/home-page#controlling-form-definitions-availability).

If you decide to go ahead with publishing, simply use the Publish button.

## Versioning

### New version or override

When versioning is enabled, you have a choice, when publishing, of whether to create a new form version or to override an existing one.

![Creating a new version](https://4129616727-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LEkBiSDvlXs3VWiO0Zu%2F-LEkBmMpnaxnftLGDglW%2F-LEkBwwLIDKHC9nZMEPp%2Fpublish-version-next.png?generation=1528743328368439\&alt=media)

![Overwriting an existing version](https://4129616727-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LEkBiSDvlXs3VWiO0Zu%2F-LEkBmMpnaxnftLGDglW%2F-LEkBwwNtxUT8onzoITk%2Fpublish-version-overwrite.png?generation=1528743328386773\&alt=media)

\[SINCE Orbeon Forms 2016.1]

You can overwrite not only the latest published version, but any previous version.

### Versioning comments

\[SINCE Orbeon Forms 2016.2]

You can add or update a textual comment associated with the given published version. Adding a comment is not required, but setting a comment can help the form author understand what changes a given form version includes.

When creating a new version, the field is initially empty:

![Empty comment](https://4129616727-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LEkBiSDvlXs3VWiO0Zu%2F-LEkBmMpnaxnftLGDglW%2F-LEkBwwPzY0ZOvAs9PoU%2Fpublish-comment-1.png?generation=1528743335754976\&alt=media)

You can set an explanatory comment:

![Empty comment](https://4129616727-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LEkBiSDvlXs3VWiO0Zu%2F-LEkBmMpnaxnftLGDglW%2F-LEkBwwRV9Eb2XlxCBGK%2Fpublish-comment-2.png?generation=1528743336770889\&alt=media)

When overriding an existing form version, the existing comment, if any, is read back from the published form definition and you can update it before publishing:

![Empty comment](https://4129616727-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LEkBiSDvlXs3VWiO0Zu%2F-LEkBmMpnaxnftLGDglW%2F-LEkBwwTOFNTxdrc_XXK%2Fpublish-comment-5.png?generation=1528743337293276\&alt=media)

## See also

* [Form versioning](http://blog.orbeon.com/2014/02/form-versioning.html) blog post
* [Choosing the best versioning option when publishing a form](http://blog.orbeon.com/2015/01/choosing-best-versioning-option-when.html) blog post
* [Versioning comments](http://blog.orbeon.com/2016/09/versioning-comments.html) blog post
