Changes in Version 2.8
1. XForms
-
It is now possible to have multiple <xforms:alert> in an
XForms control. They will be all kept by the XForms engine and transformed
into <f:alert>. The theme can then decide which one should
be displayed. The default theme displays all the alerts.
You can use multiple <xforms:alert> for internationalization
by adding on each <xforms:alert> an xml:lang
attribute (e.g. xml:lang="en", xml:lang="fr") and
selecting in your theme the appropriate message to display for the current
user based on his preferred language.
-
XForms schema validation can now be used to validate attributes in the XForms
instance. Note that the xxforms:valid="false" attribute is
still only added on invalid elements in the XForms instance. The XForms
engine does not annotate the XForms instance for invalid attributes.
-
Instance nodes of type xs:date and xs:time bound
to an XForms input control are rendered with an appropriate date or time widget. You
set the type of an instance node with a <xforms:bind
nodeset="/path/to/your/node" type="xs:date"/> in your XForms model.
-
As the XForms engine validates the XForms instance with a schema and
evaluates the model item properties on the instance, it annotates the
instance with attributes using the xxforms prefix. For
instance, if an element is validated, an attribute
xxforms:valid="true|false" is added on the element. In previous
versions of PresentationServer you could override the value set by the
XForms engine in the MVC model or MVC view by modifying the value of those
attributes in the instance. As the instance can be modified in the MVC
model and view, the model item properties are reevaluated and the instance
revalidated with the schema after the MVC view, in the epilogue. At that
point, for example, if there is a xxforms:valid="false"
attribute on a given element, but validation with the schema and model
item properties returns "true", the XForms engine does not know if the
content of the element was modified in the MVC model or view and the error
corrected (in which case the element should be considered valid), or if the
xxforms:valid="false" was added by the MVC model or view to
tell the XForms engine that this element is invalid (in which case the
element should be considered invalid).
To solve this problem, starting with PresentationServer 2.8, you cannot
override the annotations added by the XForms engine on the instance. Those
annotations should be considered read-only. Instead, to instruct the XForms
engine that a given node is invalid, use the method described in the Custom Validation section of
the XForms reference. The benefit of this method is that it does not require
the use of proprietary XForms extensions and that it can be used on elements
as well as attributes.
2. Move to ObjectWeb and Product Name
3. Performance Improvements
Memory usage has been improved, which leads to significant performance improvements
under heavy load or when the JVM is running with a relatively small heap, as the JVM
spends less time doing garbage collection. Our testing shows performance
improvement that range from 5% to 20% over version 2.7.
4. Miscellaneous Bug Fixes