[STATUS: PRELIMINARY]
Form Runner pagesIntroductionForm Runner features a number of different pages: - Summary page:
- the summary page shows the form data for a given form
- Detail page:
- "new" mode: create new form data, starting usually with a blank form
- "edit" mode: edit existing form data loaded from the database
- "view" mode: same as "edit", but read-only, to review the data entered in edit mode
- Home page
- show all the forms and actions available to the current user
- NOTE: This is only available for the Oracle and MySQL persistence layer as of 2012-02.
Summary pageThe following buttons are available on the summary page: - New
- Review
- PDF
- Test (Form Builder only)
- Delete
- Import
You configure the presence of these buttons on the page via properties. Detail pageNew[TODO] Home pageSecuring Form Runner
Using an Apache front-end
Example Apache configuration to proxy requests to Tomcat:
ProxyPass / ajp://localhost:8099/
ProxyPassReverse / ajp://localhost:8099/
Example Tomcat connector configuration:
<Connector port="8099" protocol="AJP/1.3" redirectPort="8443" maxThreads="10"
enableLookups="false" backlog="50" tomcatAuthentication="true" address="127.0.0.1"/>
The address="127.0.0.1" attribute limits requests to Tomcat's from the local server.
Securing services
It is important to prevent external access to Form Runner services, including the eXist database (if used) and services used internally by Form Runner.
Here is an example of Apache configuration using mod_rewrite:
# Don't allow eXist REST API from outside
RewriteRule ^/exist/rest/.* - [F]
# Don't allow Form Runner REST API from outside
RewriteRule ^/orbeon/fr/service/.* - [F]
In addition:
- the eXist database, if used, must be secured properly. See Configuring a Form Runner eXist database
- you can use an IP filter to make sure that requests to services are coming only from authorized computers
Form Runner access and authentication
Features
As of November 2010, Form Runner does not have a built-in user management system, but it can integrate with such systems using standard Java servlet authentication and/or a front-end such as Apache.
Form Runner exposes URLs that are friendly to path matching, so simple authentication scenarios are easy to cover with path-based (URL-based) authorization.
NOTE: We hope to provide built-in user management as an option in the future.
Scenario: protecting forms from anonymous access
Example Apache configuration ensuring that Form Runner paths require a logged user:
<LocationMatch /orbeon/fr/.*)>
A similar configuration can be done on the servlet side, e.g. with Tomcat.
[TODO]
[TODO: also mention new Liferay access control since 2011-05]
Scenario: data capture only
In this scenario, you want users (logged in or anonymous) to be able to:
- enter form data
- review the data
- submit the data
But not:
- view/edit data already submitted
- view other users' data
In this case, you want to allow paths of the form:
- http://server.com/orbeon/fr/[APP_NAME]/[FORM_NAME]/new
But disallow any other path.
Example Apache configuration requiring a valid user except for the "new" paths:
<LocationMatch /orbeon/fr/orbeon/register(?!/new/?)>
AuthUserFile .htpasswd
AuthGroupFile .htgroups
Require valid-user
Scenario: users have full access to specific forms
[TODO] Form structure
[TODO]
Data structure
[TODO]
[TODO: also mention new custom XML/binds since 2011-05] Data saved to the persistence layerWhen Form Runner saves XML data to the persistence layer, or sends it through the workflow-send button: - saving/sending works only if the data is valid
- the data for non-visible sections and controls is not pruned from the XML document
Customizing the form's look and feel
Configuring the presentation of automatic PDF output
Internationalization
Form Runner is an internationalized application. This means that it supports multiple languages. This is done at two levels:
- Form Runner interface: navigation buttons, etc.
- The actual labels, help, etc. of the form being shown
[TODO]
|
|