This is not a final release of OPS 3.5. The purpose of OPS 3.5 M1 is to provide an intermediate milestone version of OPS on the path to OPS 3.5.
Changes in Version 3.5
1. Introduction
Welcome to Orbeon PresentationServer (OPS) 3.5 M1 (Milestone 1)!
OPS 3.5 M1 features many improvements over OPS 3.0.1, including XForms engine performance enhancements, bug-fixes, new features and enhanced browser support.
This document describes changes made between OPS 3.0.1 and OPS 3.5 M1.
2. Changes in Version 3.5
OPS 3.5 features the following changes:
-
XForms improvements, including:
-
Client-side performance improvements. The client-side event handling has been entirely reworked. Client-side JavaScript performance is now greatly improved and large forms that took seconds to load because of client-side JavaScript now loads almost instantly.
-
Server-side performance improvements. [TODO: details]
-
Safari and Opera support. Support for Safari 1.3 and above and Opera 8.5 and above in addition to Firefox and Internet Explorer. The main limitation is that the WYSIWYG HTML area does not work on Opera and Safari.
The Safari support was kindly sponsored by Object Consulting.
-
Support for Liferay portal. OPS, including XForms, now works within Liferay portal 3.6.1 and 4.1.0. A new epilogue pipeline,
epilogue-portlet-liferay.xpl
, can now be used to deploy JSR-168 portlets into liferay, including multiple OPS portlets at the same time.This feature was kindly sponsored by Atkins Transport Systems.
-
Read-only mode for forms. A read-only mode is now supported with the
xxforms:readonly-appearance
attribute. Withxxforms:readonly-appearance="static"
, read-only controls take a static appearance appropriate for read-only rendition of forms in HTML. See DMV Forms for an example.This feature was kindly sponsored by Esprit. [TODO: doc]
-
Insert and delete actions. Support for the XForms 1.1
context
andorigin
attributes onxforms:insert
andxforms:delete
. -
Autocomplete control. You enable this on
xforms:select1
with thexxforms:autocomplete
appearance. See XForms Controls and Google Suggests for examples.This feature was kindly sponsored by Mobydoc.
-
WYSIWYG HTML editor control. You enable this on
xforms:textarea
with thetext/html
mediatype. See XForms HTML Area for an example.This feature was kindly sponsored by Teleflex.
-
Tree control and menu control. You enable this on
xforms:select1
andxforms:select
(tree only) with thexxforms:tree
andxxforms:menu
apperances. [TODO: examples]This feature was kindly sponsored by Teleflex.
-
Conditional XForms actions. Support for XForms 1.1 conditional actions with the
if
(andexf:if
) attributes. [TODO: example] -
Switch within repeat. Enhanced support of
xforms:switch
withinxforms:repeat
. [TODO: example] -
Repeated XForms actions. Support for XForms 1.1 actions iterations with the
while
(andexf:while
) attributes. [TODO: example] -
HTTP authentication for instances and submissions.
xforms:instance
andxforms:submission
support thexxforms:username
andxxforms:password
to supply authorization credentials when using HTTP. -
Enhanced
xforms:output
support. Support forxforms:output
inxforms:label
,xforms:hint
,xforms:help
, andxforms:alert
. This allow you to dynamically build the value of labels, etc. For example:<xforms:trigger> <xforms:label>Dynamic label with a number (<xforms:output value="count(/*/*)"/>) in it! </xforms:label> </xforms:trigger>This feature was kindly sponsored by Esprit. [TODO: documentation]
-
AVTs on
xforms:submission
. Support for attribute value templates (AVT) onxforms:submission
action
,xxforms:username
andxxforms:password
attributes. -
HTTP DELETE method. Support for the XForms 1.1 HTTP
DELETE
method onxforms:submission
. -
xxforms:context()
extension function. Thexxforms:context()
XPath function allows you to obtain the evaluation context for an enclosingxforms:group
,xforms:repeat
, orxforms:switch
. -
xxforms:evaluate()
extension function. Thexxforms:evaluate()
andxxforms:serialize()
XPath functions allow you to respectively evaluate dynamic XPath expressions and serialize XML documents. -
xxforms:repeat-current()
extension function. [TODO] -
xxforms:script
extension action. A new extension actionxxforms:script
allows you to call client-side JavaScript code as a result of XForms events. -
Various extension attributes. Extension attributes on
xforms:input
andxforms:textarea
:xxforms:size
,xxforms:maxlenght
andxxforms:rows
,xxforms:cols
. [TODO: doc] -
HTML and XHTML within
xforms:help
Support for HTML and literal XHTML withinxforms:help
andxforms:hint
. See the XForms Reference for documentation.This feature was kindly sponsored by Teleflex.
-
JavaScript and CSS loading. JavaScript and CSS files related to particular XForms controls are loaded only when necessary. In addition, the property
oxf.xforms.minimal-resources
allows specifying whether "minimal" versions of those resources should be used when possible. [TODO: full documentation] - [TODO: new event context information; error summary; improved DMV Forms example; etc.]
-
-
Other enhancements:
-
XInclude processor. The XInclude processor now supports an extension attribute,
xxi:omit-xml-base
, which disables producingxml:base
attributes upon inclusion. This can be quite useful when performing schema validation on the result, or whenxml:base
resolution on the result must be performed relative to the URL base of the including document. -
New Execute processor. A new Execute processor has been added. It allows executing external commands and retrieving the command's standard output and standard error. [TODO: doc]
-
XUpdate processor. The XUpdate processor now supports an extension element,
xu:node-set
, which allows functions to return node-sets. [TODO: show example, add this to XUpdate doc] -
Delegation processor. When using the delegation processor to call web services, by default the processor throws an exception when the remote service returns a SOAP fault. Now the delegation processor can also be configured to return the SOAP fault document instead of throwing an exception.
-
Portlet preferences processor. Two processors,
oxf:portlet-preferences-generator
andoxf:portlet-preferences-serializer
, allow for reading and writing portlet preferences. [TODO: documentation]
-
-
Library upgrades:
-
Upgrade to the
http://developer.yahoo.com/yui/Yahoo! User Interface library
as a support library for the client-side part of the XForms engine. We no longer use Sarissa. -
The embedded eXist database has been upgraded to the 20060316 snapshot.
-
The embedded Saxon XSLT, XQuery and XPath engine has been upgraded to version 8.7.
-
Other JAR files have been updated to their latest versions, including dom4j, Jaxen, and ant. [TODO]
-
-
Bug-fixes, including:
- TODO: list major bug-fixes.