Release NotesJanuary, 2013
About Canoo RIA Suite 2012 Update 1
Canoo RIA Suite 2012 Update 1 includes the following new features:
|Readiness for SSO environments||ULC's client-server communication functionality has been upgraded and made extensible such that Canoo RIA Suite applications can be readily deployed in enterprise servers with SSO security environments.|
|Print functionality||IMPORTANT NOTE: This is a major release for this package. If you want to use this
functionality, then you have to make sure that you are using Canoo RIA Suite Update 1 and
that you upgraded the corresponding licenses. Kindly get in touch with our Sales Department for any question on this.
ULC Office Integration package has been enhanced to provide print function.Apache's PDFBox based print
functionality is supported for PDF and text documents.
|JxBrowser has some issues with Mac OS X and Java 7||IMPORTANT NOTE: This is a major release for this package. If you want to profit from
this functionality, then you have to make sure that you are using Canoo RIA Suite Update
1 and that you upgraded the corresponding licenses. Kindly get in touch with our Sales Department for any question on this.
JxBrowser has been upgraded to v3.3 which solves a couple of issues related to Mac OS X and Java 7.
|Modularisation of library has been removed||The installation directory no longer contains directories like base, container,
environment, addon/applicationframework, addon/easydeployment and addon/testframework.
The software distribution is, actually, only composed of the all jar:
The experience with our customers has shown than the majority of them only use the all jar. In the future Canoo RIA Suite will no longer being distributed via InstallAnywhere, we will go for a repository based distribution.
Please see the Canoo RIA Suite 2012 release notes for previous release notes.
To migrate from Canoo RIA Suite 2012 to Canoo RIA Suite 2012 Update 1, please see the migration notes.
Canoo RIA Suite 2012 Update 1 requires the Java Runtime Environment (JRE) 1.6 or later on the server and on the client.
The deployment of a Canoo RIA Suite application requires a JEE server that supports at least the Servlet 2.4 specification.
Packages, Modules, Parts and Release Structure
UltraLightClient is part of the Canoo RIA Suite. It consist of the ULC Core that includes all components required to successfully develop and deploy UltraLightClient applications. Additionally there are several packages that provide extended functionalities. The UltraLightClient modules, parts, packages, and the structure of the current release are described in the following sections.
Package ULC CoreULC Core contains comprehensive widget set, application framework, test framework and integration into client and server containers.
The UltraLightClient release is split into modules. Each module belongs to exactly one of five categories:
All UltraLightClient classes.
For convenience, contains all the legacy modules: base (UltraLightClient core), container (server-side integrations into servlet container), environment (client-side integrations into environments), application framework, test framework and easy deployment.
Does neither contain the samples nor QTP integration.
Utilities and extensions, e.g. QTP integration.
Only needed on demand.
Samples demonstrating the usage of UltraLightClient, e.g. Hello, ULCSet, OnlineShop, and more.
Not needed during development or deployment.
The category and module names are reflected in the directory structure of the release, e.g. environment/applet for the applet module that belongs to the environment category.
A module directory contains sub-directories with the following contents:
Jar files that contain the module classes.
For sample and add-on modules the required libraries.
Only for sample modules: the required resources, e.g. images, property files
Either complete source code or source stubs.
The source stubs are used to enable code completions in IDEs.
Only for sample modules: ready to deploy web application, i.e. war files
Each of these modules can contain up to four parts:
Contains classes to be deployed on the client side.
Runs inside the sandbox. com.ulcjava.base.trusted package does not run inside the sandbox. The additional permissions required depend on the module.
Contains classes to be deployed on the server side.
Contains all classes needed during development, i.e. the client, trusted, and server parts plus some additional development classes.
The part names are reflected in the filename of the jar files in the lib and src directory of the corresponding module, e.g. ulc-applet-client.jar and ulc-applet-client-src.jar for the classes and source stubs of the applet module that have to be deployed on the client side.
Package ULC Table Plus 1.0.6 (JIDE Grids v3.4.8)ULC Table Plus integrates the JIDE grids library that provides a table with various extended features.
Package ULC Web Integration 1.1 (JxBrowser v3.3)ULC Web-Integration integrates the JxBrowser library. With this package you can integrate any web page directly into your ULC Application.
Package ULC Enterprise Portal Integration 1.0.4With this package you can integrate an ULC Application into your enterprise web applications or your enterprise portal server.
Package ULC Office Integration 1.1This package bundles Apache POI and iText to produce PDF and MS Office documents integrated into your ULC Application.
Package ULC Graph 1.0.0 (JGraph 184.108.40.206)This package integrates JGraph library. With this package you can create and draw various graph diagrams.
Package ULC Chart 1.0.0 (JFreeChart 1.0.12)This package integrates JFreeChart library. With this package you can create various business charts.
|<Canoo RIA Suite 2012>||RIA Suite installation directory|
|Add-ons to the UltraLightClient base framework|
|all||For convenience, all UltraLightClient classes|
|ext||contains the libraries of installed packages|
|license||the jar file with the deployment license key|
|previous_releasenotes||Previous release notes|
|Sample applications with ready to run Jetty Servlet container|
|thirdpartylicenses||licenses of included third party libraries|
|license manager tool|
|build.txt||Contains the build number|
|LicenseAgreementDevelopment.pdf||The Development license Agreement|
|LicenseAgreementEvaluation.pdf||The Evaluation license Agreement|
|UBA-723||Closing the browser that contains the Applet may results in a severe exception|
|UBA-6813||ULCTextField ingores setCursor() API|
|UBA-7554||TextFieldParameter methods that set a data type should install error manager from form|
|UBA-7569||ULCTreeOperator.selectRow(i) times out when called in succession.|
|UBA-7868||Text field asking for project name in 'Setup Information' dialog box should be more restrictive regarding accepted characters|
|UBA-7884||ULCTableTreeOperator.getTableHeader should return a more appropriate ULCTableHeaderOperator|
|UBA-7950||ULCDateDataType erases time value even if text field is not touched|
|UBA-7970||AbstractFormBuilder does not respect error manager if you specify a format pattern|
|UBA-7978||ULCComboBoxOperator does not work with null elements|
|UBA-8051||Exception when closing ULCSet applet when running from sample Jetty or running the war in Tomcat|
|UBA-8070||ULCTable Test of Visual Tests (Applet Deployment): Zebra Renderer (Integer) does not work|
|UBA-8097||Reusing a nested table header causes a NPE on the client.|
|UBA-8146||DefaultCategoryDataset looping logic wrong, does not display all results|
|UBA-8149||Setting header renderers on columns in ULCJideTable does not work|
|UBA-8194||Form does not support mapped properties|
|UBA-8214||Backgrounds are not painted correctly with ULCLayeredPane|
|UBA-8243||typeKey method on an operator changes the case of the character for the KEY_PRESSED event.|
|UBA-8280||ULC Office Integration Demo Application bug|
|UBA-8294||Registering an action listener on server side prevents the default action listener to be fired|
|UBA-8307||editable ComboBox as enabler does not work if there is a focus listener on the enabling target|
|UBA-8309||ULC client hangs if the connection is broken after a roundtrip has started.|
|UBA-8316||RadioButtons in Forms do not support resource bundles|
|UBA-8448||ULCJideTable constructor does not work|
|UBA-8546||setPaint on a ULCTabbedPane changes the background color of a ULCTextField in a Tab|
|UBA-8636||First time selecting a null item in ULCComboBox doesn't fire action event.|
|UBA-8654||In case of more than two radio buttons added to Form, the Reset and Ok button enables only if selection is made to last radio button.|
|UBA-8669||Setting a Long value on a textfield with Integer NumberDataType results in class cast exception.|
|UBA-8671||Any connection opened by ULC should assume that it could be triggered in a SSO environment|
|UBA-8681||Applet mode do no longer work on Mac OS X (Safari, Firefox, ...)|
|UBA-8683||OnlineShopDemo does not work on Mac with JRE 7|
|UBA-8688||DefaultListModel does not fire ListDataEvent in addAll and removeAll methods|
|UBA-8699||Possible Memory leak in DownloadManager|
|UBA-8702||InputBlocker does not propertly clean the KeyEventInfo list after KEY_RELEASED events for 'keep pressed' events|
|UBA-8709||IPopupMenuListener.popupMenuHasBecomeVisible does not work correctly on Mac|
|UBA-669||Entries of ComboBox cell editors should be selectable by single key stroke|
|UBA-693||Servlet container integration should provide better error messages|
|UBA-702||ULCTableTree should support default renderers / editors as ULCTable does|
|UBA-943||Add a hook that is invoked whenever an exception occurs in an ULC application on server side and on client side|
|UBA-6954||Make ULC's event queue approach extendable|
|UBA-7034||JNLP integration should not manage cookies in JRE 1.5|
|UBA-7433||IFileStoreHandler should provide a mean to prevent accidental target file overwrite|
|UBA-7736||Provide a better interface to add user parameters from launchers.|
|UBA-7885||ULC client should stop sending requests if he got ServletException: unable to get ulc session (session already terminated)|
|UBA-7906||Improve logging when the communication controller stops|
|UBA-7941||Improve client error message in case of communication errors|
|UBA-8158||provide a simple api for printing|
|UBA-8422||ULC loses Swing events when processing a round-trip|
|UBA-8423||Cookie should support HttpOnly|
|UBA-8471||Upgrade Jide libraries to the last version|
|UBA-8503||When embedded behind a portal, the user has to login twice: the first time in the portal itself (WAM, SSO) and the second time in the ULC application|
|UBA-8606||Provide server-side API to set both the ascending and the descending icons for sortable tables|
|UBA-8607||Show ascending and descending icons for columns with custom header renderer|
|UBA-8628||Get rid of all ULC artifacts but the core ones|
|UBA-8661||Get rid of com.ulcjava.base.application.util.serializable package|
|UBA-8664||Make JnlpLauncher and StandAloneLauncher easy to extend|
|UBA-8668||web.xml schema should be upgraded to a more modern version like v3.0|
|UBA-8672||Installer is not creating shortcut to doc directory in the startup menu for RIA Suite installation|
|UBA-8674||Optimise events sent by UIComboBox and UIComboBoxAdapter to server|
|UBA-8675||UIComboboxModelAdapter should provide getHasChangedListeners() method.|
|UBA-8676||Improve logging of cookie handling and url rewriting on both client and server|
|UBA-8690||BASIC HTTP authentication suffers the same problematic than UBA-8503 when performed externally to ULC application|
|UBA-8691||ServletConnector should be easier to extend/customize|
|UBA-8692||Update JxBrowser version from 2.9.1 to the current 3.x version|
|UBA-8700||ULC application testing in SSO environment with Form based authentication|
|UBA-8703||Add a notion of Filter to ULC logger|
ULCTableTreeOperator.getTableHeader()is not supported, instead use
- com.ulcjava.base.application.util.serializable package has been removed, instead use com.ulcjava.base.application.util.
- New method getHasChangedListeners() is added to the interface com.ulcjava.base.client.util.IHasChangedSource.
- com.ulcjava.container.servlet.client.AbstractRequestPropertyStore and its subclasses have been moved to com.ulcjava.base.client.launcher package.
- com.ulcjava.container.servlet.client.KeyValuePair has been moved to com.ulcjava.base.client.launcher package.
CALL_SCRIPT_KEYfield of class com.ulcjava.base.client.launcher.LauncherUtilities has been removed.
- com.ulcjava.base.client.launcher.AppletRequestPropertyStore has been removed.
- Following methods of interface com.ulcjava.base.client.IFileService have been
storeFile(FileChooserConfig, UIComponent, InputStream)
- Deprecated methods
setFocusTraversable(boolean)have been removed from com.ulcjava.base.client.UIButton.BasicButton. Use
- Deprecated methods
getCoderRegistryhave been removed from com.ulcjava.container.servlet.client.ServletConnector.
- Generally enforce use of com.ulcjava.base.shared.IClientConfiguration: corresponding constructors have been deprecated in com.ulcjava.container.servlet.client.ServletConnector and corresponding empty constructors have been removed/changed in launchers.
- Deprecate use of
createConnectorCommandFailureStrategyProvider()in launchers. Use client configuration if you want to specify your own implementation.
- Deprecated method
com.ulcjava.container.servlet.shared.UrlUtilitieshas been moved to
- Deprecated fields and constructor have been removed from com.ulcjava.base.client.FileContents.
You can find known problems and limitations in our issue database.
Product and company names herein may be trademarks of their respective owners.