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-appearanceattribute. 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
contextandoriginattributes onxforms:insertandxforms:delete. -
Autocomplete control. You enable this on
xforms:select1with thexxforms:autocompleteappearance. See XForms Controls and Google Suggests for examples.This feature was kindly sponsored by Mobydoc.
-
WYSIWYG HTML editor control. You enable this on
xforms:textareawith thetext/htmlmediatype. See XForms HTML Area for an example.This feature was kindly sponsored by Teleflex.
-
Tree control and menu control. You enable this on
xforms:select1andxforms:select(tree only) with thexxforms:treeandxxforms:menuapperances. [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:switchwithinxforms: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:instanceandxforms:submissionsupport thexxforms:usernameandxxforms:passwordto supply authorization credentials when using HTTP. -
Enhanced
xforms:outputsupport. Support forxforms:outputinxforms: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:submissionaction,xxforms:usernameandxxforms:passwordattributes. -
HTTP DELETE method. Support for the XForms 1.1 HTTP
DELETEmethod 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:scriptextension action. A new extension actionxxforms:scriptallows you to call client-side JavaScript code as a result of XForms events. -
Various extension attributes. Extension attributes on
xforms:inputandxforms:textarea:xxforms:size,xxforms:maxlenghtandxxforms:rows,xxforms:cols. [TODO: doc] -
HTML and XHTML within
xforms:helpSupport for HTML and literal XHTML withinxforms:helpandxforms: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-resourcesallows 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:baseattributes upon inclusion. This can be quite useful when performing schema validation on the result, or whenxml:baseresolution 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-generatorandoxf: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 libraryas 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.