Comments? Feedback?

This wiki does not yet support public comments (a limitation of Google Sites), so we encourage you to post your comments on Twitter by responding to @orbeon.

Recent site activity

Configuration Properties - Form Runner

Back-end

Application server URI

NOTE: To configure access to the application server, see Configuration Properties - Base and the oxf.url-rewriting.service.base-uri property.

Persistence

<property as="xs:anyURI" name="oxf.fr.persistence.app.uri.*.*.*" value="/fr/service/exist"/>
<property as="xs:anyURI" name="oxf.fr.persistence.app.uri.orbeon.builder.form" value="/fr/service/resource"/>
<property as="xs:anyURI" name="oxf.fr.persistence.app.uri.orbeon.bookcast.form" value="/fr/service/resource"/>
<property as="xs:anyURI" name="oxf.fr.persistence.app.uri.orbeon.bookcast.data" value="/fr/service/exist"/>

Configuration of the persistence layer. See this page for more details. The third wildcard matches on either "form" (form type or form definition) or "data" (form data).

Summary page

Summary page size

<property as="xs:integer" name="oxf.fr.summary.page-size.*.*" value="10"/>

Number of rows shown in the summary page.

Created and Last Modified columns

By default, the summary page shows a Created and Last Modified columns:


You can remove either one of those columns by setting the value appropriate property to false:

<property as="xs:boolean" name="oxf.fr.summary.show-created.*.*"        value="true"/>
<property as="xs:boolean" name="oxf.fr.summary.show-last-modified.*.*"  value="true"/>

Default language

<property as="xs:string" name="oxf.fr.default-language.*.*" value="en"/>

Form Runner's default language.

Detail page

Show Table of Contents

<property as="xs:integer" name="oxf.fr.detail.toc.*.*" value="0"/>

If the number of table of contents entries are greater than this value, then show the Table of Contents at the top of the form. Can be omitted or set to -1 to never show the TOC.

Choose Table of Content appearance

<property as="xs:string" name="oxf.fr.detail.toc.appearance.orbeon.audit-poc" value="normal"/>


Select whether the table of content should appear as a tabulated ("tabulate"), a choice between different section ("onle-selected") or normal (default).

Position of Error Summary

<property as="xs:string" name="oxf.fr.detail.error-summary.*.*" value="bottom"/>

Where to place the error summary: top, bottom, both, or none.

Buttons on Detail page

<property as="xs:string"  name="oxf.fr.detail.buttons.*.*" value="close clear print pdf save submit"/>

The property configures which buttons are included on the summary page, and in what order they are shown. Possible buttons are:
  • refresh - Update the form (only makes sense in no-script mode).
  • close - Attempts to close the window. If the browser does not allow Form Runner to close the window, then close the form and loads the summary page in the current window. In most cases, this will:
    • If the detail page was opened from the summary page: close the browser window, and users will be able the view the summary window.
    • If the detail page was opened from a bookmark or similar: keep the current window open, and load the summary page in that window.
  • clear - Sets all the field values to their default value.
  • print - Opens a print view of the form in a new window or tab.
  • pdf - Open a PDF version of the form in a new window or tab.
  • save - Saves changes to the form.
  • save-locally - Allows users to save the data in the current form as an HTML file on their local machine. When they open the HTML file, they will be taken to the "new form" page, but the form will be pre-filled with the data they had saved.
  • submit - Saves the form and shows a dialog (more on the configuration of the submit button below).
  • workflow-review - Go to a read-only review page with the data filled-out.
In addition, when the page is in view mode:
  • workflow-edit - Go back to edit mode.
  • workflow-send - Send the form (see properties below).

Submit Dialog - Message

The submit button saves the data (like the save button) and then shows a configurable dialog.

The message shown in the dialog is either a static message informing users that the data has been submitted (the default), or is a message returned by the persistence layer. In the later case, it is assumed that the persistence layer responds to a CRUD PUT operation with the HTML to display in the dialog. None of the persistence implementations that ship with Orbeon Forms do that, so this property is only relevant if you implement your own persistence layer. Otherwise, you will want to leave this property to its default value:

<property as="xs:boolean" name="oxf.fr.detail.submit.content-from-persistence.*.*" value="false"/>

Display hints inline

<property as="xs:boolean" name="oxf.fr.detail.hints.inline.*.*" value="true"/>

Whether to display control hints inline, rather than as tooltips. Default is true.

Submit Dialog - Buttons

The following property defines which buttons are shown in the dialog and which order they appear:

<property as="xs:string"  name="oxf.fr.detail.submit.buttons.*.*" value="go"/>

Possible values are:
  • clear - Sets all the fields to their default value and closes the dialog.
  • keep - Keeps the field values as they are and closes the dialog.
  • go - Go to a URI (see below for how the URI can be configured)
  • close-window - Closes the window. For this to work, JavaScript must be enabled and the form window must have been opened by another page you created.

PDF and barcode


The following property specifies whether a barcode must be included on PDF files.

<property as="xs:boolean" name="oxf.fr.detail.pdf.barcode.*.*" value="false"/>

Submit Dialog - "Go" URI

When the "go" button is pressed, users will be taken to the URI specified by the following property. The value of the property is an XPath expression evaluated in the context of the form instance. This allows you both to have a "dynamic" URI (which depends on the initial data or data entered by users) or a "static" URI in the form of a URI between single quote in the XPath expression.

<property as="xs:string"  name="oxf.fr.detail.submit.go.uri-xpath.*.*" value="/book/details/link"/>
 

All pages

Show Orbeon Forms version

<property as="xs:boolean" name="oxf.fr.version.*.*" value="true"/>

Whether to show the Orbeon Forms version at the bottom.

Default logo

<property as="xs:anyURI" name="oxf.fr.default-logo.uri.*.*" value="/apps/fr/style/orbeon-logo-trimmed-transparent-42.png"/>

Default logo URI. This logo appears on the summary and detail pages for a given form if no form-specific logo was uploaded in Form Builder. You can omit (or comment out) this property or set its value to "" if you don't want a default logo at all.

Default CSS

<property as="xs:string" name="oxf.fr.css.uri.*.*" value="/ops/css/yui/reset-fonts-grids.css
    /apps/fr/style/form-runner-base.css
    /apps/fr/style/form-runner-orbeon.css"/>

Default CSS stylesheet URIs, space-separated.

The Form Runner CSS stylesheet is split into two parts:
  • YUI base CSS: /ops/css/yui/reset-fonts-grids.css
  • Base layout: /apps/fr/style/form-runner-base.css
  • Presentational aspects (colors, fonts, ...): /apps/fr/style/form-runner-orbeon.css
You can set this to another value, or to the empty string, using this property. This allows customizing presentational aspects globally, per application, or per form.

Overriding resources

In some cases, it might make sense to change some of the resources provided out of the box by Form Runner. For instance, the detail page can have a submit button, which in English has a label "Submit". For your application, another label might make more sense, for instance "Send". To override Form Runner resources, you define properties with a name that has the following structure:
  1. The name start with oxf.fr.resource.
  2. Followed by the name of the application and form for which you want to redefine the resource. You can use * for either if you want the redefinition to apply to all the applications or all the forms. For instance: *.*, or my-app.my-form.
  3. The 2-letter code for the language for which you want to override the resource. For instance: en.
  4. A dot-separated path corresponding to the path of the resource you want to override as defined by Form Runner in apps/fr/i18n/resources.xml.
For instance, to change the label of the submit button to be "Send" in English for all applications and forms, write:

<property as="xs:string"  name="oxf.fr.resource.*.*.en.detail.labels.submit-document" value="Send"/>

Sending forms

The following properties control if and where to send form data when the workflow-send button is in use:

<property as="xs:boolean" name="oxf.fr.detail.send.pdf.*.*"             value="true"/>
<property as="xs:boolean" name="oxf.fr.detail.send.email.*.*"           value="true"/>
<property as="xs:boolean" name="oxf.fr.detail.send.alfresco.*.*"        value="true"/>
<property as="xs:anyURI"  name="oxf.fr.detail.send.uri.*.*"             value="/my/confirmation"/>

The pdf property controls whether a PDF is produced and made available on a confirmation page.

The email property specifies whether an email must be sent (see below).

The alfresco property specifies whether data must must be sent to Alfresco (see below).

The uri property specifies the URL of a confirmation page.

Email settings

These properties control email sending in Form Runner:

<property as="xs:string"  name="oxf.fr.email.smtp.host.*.*"        value="my.outgoing.smtp.server.org"/>
<property as="xs:string"  name="oxf.fr.email.smtp.username.*.*"    value="jdoe"/>
<property as="xs:string"  name="oxf.fr.email.smtp.credentials.*.*" value="secret"/>
<property as="xs:string"  name="oxf.fr.email.from.*.*"             value="john@example.org"/>
<property as="xs:string"  name="oxf.fr.email.to.*.*"               value="mary@example.org,nancy@example.org"/>
<property as="xs:boolean" name="oxf.fr.email.attach-pdf.*.*"       value="true"/>
<property as="xs:boolean" name="oxf.fr.email.attach-xml.*.*"       value="true"/>

The host, username and credentials properties control the connection to the SMTP server.

The from property specifies the sender email address(es) appearing in the email sent.

The to property specifies the recipient email address(es) of the email sent.

The attach-pdf and attach-xml properties control whether PDF and/or XML versions of the form data are attached to the email.

Alfresco settings

These properties control sending data to Alfresco in Form Runner through Alfresco's web services API:

<property as="xs:anyURI"  name="oxf.fr.alfresco.uri.*.*"         value="http://internal.mycompany.com/alfresco"/>
<property as="xs:string"  name="oxf.fr.alfresco.username.*.*"    value="jdoe"/>
<property as="xs:string"  name="oxf.fr.alfresco.credentials.*.*" value="secret"/>
<property as="xs:string"  name="oxf.fr.alfresco.path.*.*"        value="/app:company_home/cm:..."/>
<property as="xs:boolean" name="oxf.fr.alfresco.send-pdf.*.*"    value="true"/>
<property as="xs:boolean" name="oxf.fr.alfresco.send-xml.*.*"    value="false"/>

The uriusername and credentials properties control the connection to the SMTP server.

The path property specifies the path with Alfresco.

The send-pdf and send-xml properties control whether PDF and/or XML versions of the form data are sent.

Noscript and Ajax modes

Show Noscript link

<property as="xs:boolean" name="oxf.fr.noscript-link.*.*" value="true"/>

Whether to show the link to the noscript/full version. 

Noscript: use table layout

<property as="xs:boolean" name="oxf.fr.detail.noscript.table.*.*" value="true"/>

Whether forms in noscript mode are allowed to use a layout based on tables. If false, no tables are used. WYSIWYG is lost, but the form may be more accessible. Default is true.

Noscript: allow sections to collapse

<property as="xs:boolean" name="oxf.fr.detail.noscript.section.collapse.*.*" value="true"/>

Whether sections in noscript mode are allowed to collapse. A value of false may make sections more accessible and less confusing to screen reader users. Default is true.

Ajax mode: allow sections to collapse

<property as="xs:boolean" name="oxf.fr.detail.ajax.section.collapse.*.*" value="true"/>

Whether sections in Ajax mode are allowed to collapse. Default is true.

Ajax mode: allow sections to animate

<property as="xs:boolean" name="oxf.fr.detail.ajax.section.animate.*.*" value="true"/>

Whether sections in Ajax mode are allowed to open and close with an animation. Default is true. A value of false is more efficient with slow browsers / large forms.

Initial instance

When creating a new form (for instance going to the URL http://localhost:8080/orbeon/fr/orbeon/bookcast/new/), the initial form instance can come from 3 different places:
  1. The initial instance provided in the form can be used.
  2. The Base64-encoded XML documented POSTed to the "new form" URI can be used.
  3. A service can be called to get the initial instance.

Initial instance posted to the New Form page

The instance provided in the form is used by default. The POSTed XML document is used if there actually is an XML document being POSTed and if the following property is set to true:

<property as="xs:boolean" name="oxf.fr.detail.new.accept-post.*.*" value="false"/>

For security, this property is set to false by default; this prevents ill-intentioned users from forcing the form to start with an instance of their own creation. You need to enable this property if you are using including the save-locally button in your detail pages.

The document needs to be POSTed as browser would when submitting an HTML form like:

<form method="post" action="/path/to/new">
    <input type="hidden" name="form-data" value="Base64-encoded XML"/>
</form>

The value of the form-data request parameter is the Base64-encoded XML document.

Initial instance from service

With the following properties, you can configure Form Runner to call a service instead of using the default instance provided as part of the form:

<property as="xs:boolean" name="oxf.fr.detail.new.service.enable.*.*" value="false"/>
<property as="xs:string"  name="oxf.fr.detail.new.service.uri.*.*"    value="/fr/service/custom/my-app/new"/>

Set the first property above to true to enable this behavior and have the second property point to your service.

The following property defines a space-separated list of request parameters to be passed to the service. Say the new page was invoke with request parameters foo=42 and bar=84, if you set the value of this property to foo bar, these two request parameters will be passed along as request parameters to the service. The request parameters can either get to the new page in a POST or GET request. The service is always called with GET, consequently request parameters will be passed on the URI.

<property as="xs:string"  name="oxf.fr.detail.new.service.passing-request-parameters.*.*" value=""/>

Enabling oxf.fr.detail.new.service.enable doesn't change the behavior with regard to POSTed instance: even if you are calling a service to get the initial instance, if oxf.fr.detail.new.accept-post.*.* is set to true, the POSTed instance will be used when a document is POSTed to the corresponding "new form" page.