XForms Engine

Introducing XForms Engine

The EMC Documentum XForms Engine (also known as Formula) is a pure client-side XForms implementation that runs entirely from within a web browser. It is capable of rendering very flexible and dynamic forms without the need for a plugin or processing outside of the browser.

EMC provides the EMC Documentum XForms Engine free of charge for development purposes (see attachment at the bottom of this document). For licensed runtime use, the XForms Engine can be deployed as a component of EMC Documentum Dynamic Delivery Services. The XForms Engine is also available for standalone deployments by OEM customers who wish to embed it in their products and solutions.

 

Features

The features of XForms Engine include:

 

Open format

XForms is a W3C recommendation, which means it is a non-proprietary, open standard. Since XForms is an XML standard you can read, create or manipulate forms using an regular editor or you can easily generate forms using programming logic or query languages like XQuery.


Validation

XForms enables form validation before submitting any data to a server. Based on validation results, submission can be enabled or disabled, and actions can be triggered to notify the user. Validation can be based on standard XML data types, XML Schema or evaluation of XPath expressions. XPath is a language for selecting nodes from an XML document.

 

Events

A complete event model is available in XForms, which enables definition of custom, dynamic behavior. Events can be triggered based on user actions, validation results or changes in data. When an event is caught, one or more user-defined actions can be executed, such as moving the focus in the user interface or modifying data.


XForms 1.1 standard support

Formula implements most of the XForms 1.1 specification. For details, see the XForms 1.1 Test Suite results for Formula:

http://www.w3.org/MarkUp/Forms/2008/XForms11ImplReports/EMC/ResultsTable.html

(Note: XForms 1.1 standard support has been improved again since these results were published.)

Easy integration

Formula comes with Java and JavaScript application programming interfaces which make it easy to embed Formula in various types of web applications.

New Features and Changes

A list of new features, changes and fixed problems in the latest version of XForms Engine can be viewed here: XForms Engine Changes.

The list can also be found in the file changes.txt included in the distribution.

Architecture

The figure below shows the architecture of Formula and its individual components.
xformsarch.png
Google Web Toolkit

Formula has been built using Google Web Toolkit. Google Web Toolkit enables developers to create and maintain relatively large web applications easily using Java and common development tools. While there is a performance penalty to emulating the Java in JavaScript, GWT also offers speed advantages as a result of compiler optimizations.


XPath 1.0 Engine

Formula has a built-in XPath 1.0 engine. The XPath engine provides support for evaluating XPath 1.0 expressions.


XForms 1.1 Logic

The XForms Engine aims to be fully compliant with XForms 1.1, while supporting as many constructions of the XForms 1.0 specification as is possible.

 

XHTML support
Support for XHTML element is available to allow for more flexibility in layout.


User Interface Components

The user interface components are implemented separately from the XForms logic, to ensure a cleaner and more flexible overall architecture.

 

Supported Environment

Any Java 6 or higher platform (for Google Web Toolkit based development).

Demo

An online demo can be found here (currently using an older version):

 

demo.png

Other resources

 

EMC Documentum XForms Engine overview

How to integrate the EMC Documentum XForms Engine

 

Download EMC Documentum XForms Engine

 

The XForms Engine can be downloaded directly from this page (see the attachment below).

Please use the XML Technologies Community forum for support questions and comments.

 

 

formula-edn.png