Comments? Feedback?

This wiki does not yet support public comments (a limitation of Google Sites), so we encourage you to post your comments either:

On Twitter by responding to @orbeon.

On our community mailing list: subscribe sending an email to ops-users-subscribe@ow2.org (content of subject/body doesn't matter), you'll get a response with the email to use to send your message to the community mailing list.

Recent site activity

Configuration Properties - Form Runner

Default values

For the latest configuration, see properties-form-runner.xml.

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.

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 the 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. See: submit button.
  • workflow-review - Go to a read-only view page with the data filled-out.
  • workflow-send - Go to another page you provide, passing along the data filled out in this form to that other page. See: workflow send button.

Display hints inline

This property set whether the control hints are shown inline, rather than as tool-tips. The default is true.

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


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"/>

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 the browser would when submitting an HTML form that looks like:

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

The value of the fr-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 a 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.

View page

Buttons the view page

You configure which buttons are shown on the view page with the following property:

<property as="xs:string"  name="oxf.fr.detail.buttons.view.*.*" value="back workflow-edit pdf"/>

You can use all the buttons available on the detail page. In addition, the following buttons
  • workflow-edit - Go back to edit mode.
  • workflow-send - Send the form (see properties below).

All pages

Buttons configuration

Submit Button

The submit button saves the data (like the save button) and then shows a configurable dialog. You can customize:
  • The message shown in the dialog, which can either be a static message informing users that the data has been submitted (the default), or 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"/>
  • The buttons shows in the submit dialog, which can be:

    • 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 URL (see below for how the URL can be configured)
    • close-window - Closes the window. For this to work, JavaScript must be enabled, and the window in which the form is shown must have been opened by another page you created.
<property as="xs:string"  name="oxf.fr.detail.submit.buttons.*.*" value="go"/>
  • The go URI, if you have enabled the go button. 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"/>

Workflow send button

Use the workflow send button to save the data, and hand off the data entered by users to another page or web site. When users press the button:
  1. Data is saved through the persistence layer, as if users had pressed the save button.
  2. A PDF is generated if either one of the following properties is true: oxf.fr.detail.send.pdf, oxf.fr.email.attach-pdf, or oxf.fr.alfresco.send-pdf.
  3. Data is sent to Alfresco if the following property is true: oxf.fr.detail.send.alfresco. For more on this, see Alfresco integration.
  4. An email is sent if the following property is true: oxf.fr.detail.send.email. To configure how the email is sent, see: email settings.
  5. Another page is loaded in the web browser. You specify the URI of that page with the oxf.fr.detail.send.uri property (the value of this property is a literal URI, not an XPath expression returning the URI). The other page receives a POST with an XML document in the POST body. That document contains either:

    • If no PDF is generated: the document with the data entered by users.
    • If a PDF is generated: a simple document which contains a URI to be used to retrieve the generated PDF. In that case, the document looks like:

      <?xml version="1.0" encoding="UTF-8"?>
      <url>/xforms-server/dynamic/567f14ee46c6b21640c1a5a7374d5ad8</url>

    Note that in both cases the POST is done from Orbeon Forms (not from the browser), so there is no risk here of the user even being able to access this data. For security reasons, if you setup Orbeon Forms to POST the XML document with the data entered by users to your service, then your page might want to check that the POST is coming from Orbeon Forms, to avoid the possibility of someone fabricating data and posting it to your page.

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/yui/reset-fonts-grids/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"/>

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.

Oracle settings

For the Oracle persistence configuration, see Oracle Persistence Layer.

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.


  Sign in   Recent Site Activity   Revision History   Terms   Report Abuse   Print page  |  Powered by Google Sites