Back-end
Application server URINOTE: To configure access to the application server, see Configuration Properties - Base and the oxf.url-rewriting.service.base-uri property.
<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).
<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"/>
<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.
<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:
- The name start with oxf.fr.resource.
- 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.
- The 2-letter code for the language for which you want to override the resource. For instance: en.
- 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 uri, username 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:
- The initial instance provided in the form can be used.
- The Base64-encoded XML documented POSTed to the "new form" URI can be used.
- 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.
|