Canoo RIA Suite Logo

Release Notes

July, 2011


About Canoo RIA Suite ULC - Update 4

Please see the Canoo RIA Suite Update 3 release notes for previous release notes.

The sections Fixed Bugs and Implemented Feature Requests give an overview of the most important differences between Canoo RIA Suite ULC Update 3 and Canoo RIA Suite ULC Update 4.

To migrate from Canoo RIA Suite Update 3 to Canoo RIA Suite ULC Update 4, please see the migration notes.


Version Notes

Canoo RIA Suite ULC Update 4 requires the Java Runtime Environment (JRE) 1.5 or later on the server and on the client.

To deploy an Canoo RIA Suite ULC application in 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 extension 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 Core

ULC Core contains everything that was in previous version of ULC enhanced with the new features: extended visual Effects, Charts, Animations and export to Google App engine.


The UltraLightClient release is split into modules. Each module belongs to exactly one of five categories:

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 environement category.

A module directory contains subdirectories with the following contents:



Each of these modules can contain up to four parts:

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.3 (JIDE Grids v3.0.4)

ULC Table Plus integrates the JIDE grids library that provides a table with various extended features.


Package ULC Web Integration 1.0.2 (JxBrowser v2.8)

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.1

With this package you can integrate an ULC Application into your enterprise web applications or your enterprise portal server.


Package ULC Office Integration 1.0

This package bundles Apache POI and iText to produce PDF and MS Office documents integrated into your ULC Application.


Release Structure

<ULC_HOME> UltraLightClient home directory
Add-ons to the UltraLightClient base framework
   base UltraLightClient base framework
   all For convenience, all UltraLightClient classes
Server integrations including Servlet container integration and integration into local container for stand-alone (single JVM) ULC applications.
UltraLightClient documentation
Client environment integration for applet deployment, JNLP deployment, and standalone deployment.
   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
   LicenseAgreement.pdf The license Agreement
   releasenotes.html This document


Fixed Bugs

PR Description Comments
UBA-7142 Sending Collections.EMPTY_LIST argument to client-side extension causes exception  
UBA-7854 Fluent API in LayoutParameter class ignores parameter  
UBA-8100 The errormanger of a mandatory field in a Form is wrongly set on other fields.  
UBA-8101 Error display on an invalid mandtory field in a Form gets wrongly reset  
UBA-8134 Error in the AppDevGuide on Page 58: For the FileChooserConfig.FileFilterConfig, the file extension strings to be selected/filtered have to be listed without ".", e.g. "txt" but not ".txt"  
UBA-8285 ULC throws an IllegalArgument exception if it cannot recognize the DataFlavor of the dropped data.  
UBA-8303 ServerApplicationEvent.getSource() returns a Class object in development mode  
UBA-8323 ULCToggleButton should upload group attribute before selected attribute.  
UBA-8375 The tutorial app when deployed in GoogleAppEngine does not work properly  
UBA-8395 ULC project generator does not put client-side package libs on the class path of -client project.  
UBA-8396 ULCQTPIntegration is missing the installation scripts in the release  
UBA-8411 ULCBrowserIntegration: Error with safari integration on mac osx in development runner  
UBA-8412 Flaws in ULCApplicationdevelopmentGuide  
UBA-8413 Nested properties in resource maps (e.g. "") leads to exception if intermediate properties (e.g. "foo") are null  
UBA-8420 ULC Table Plus demo does not longer work with the new release  
UBA-8421 Changing the main table model with header/footer columns make the row header/row footer tables rendering empty cells  
UBA-8425 ClientContext.setModelUpdateMode(tableModel, UlcEventConstants.SYNCHRONOUS_MODE) does not work with ULCJideTable resp. ULCTableScrollPane  
UBA-8428 AllPermissionsFileService.getFileContent should close the InputStream  
UBA-8430 previous release notes with broken links  
UBA-8436 ULCTextField with DataType and ErrorManager when used as enabler in an ULCAndEnabler results wrong Error visualization  
UBA-8439 In JxBrowser v 2.7 calling BrowserServices.getInstance().getProxyConfig() after dispose() results in exception.  
UBA-8440 MemoryLeak due to static Map in MultiLayerUI  
UBA-8449 Resent request in DefaultConnectionCommandFailuerStrategy leads to incosistent client/server state.  
UBA-8450 ProxyConfig.setAutoConfigUrl with Mozilla Browser throws NoClassDefFoundError  


Implemented Feature Requests

PR Description Comments
UBA-7664 AbstractFormBuilder should work with null model  
UBA-7807 Replace all StringBuffer with StringBuilder once we no longer support Java1.4  
UBA-7831 Binding should better support null in nested properties  
UBA-7874 The bean inside a form model should be optional  
UBA-7928 ULC should automatically use SerializationCoder for Serializable classes.  
UBA-8155 Get rid of package com.ulcjava.base.application.event.serializable  
UBA-8269 ULCAlert does not dispose when application finishes  
UBA-8281 ULC allows DnD on diabled/non-editable TextField.  
UBA-8308 Document how the custom filter conditions combobox is populated.  
UBA-8347 Open TableBinding API  
UBA-8349 Provide factory method in FrameView to create frame instance  
UBA-8370 Remove deprecation on ClientInfo.setSystemProperties(systemProperties)  
UBA-8376 Improve ULCAppGuide documentation with respect to GoogleAppEngine deployment  
UBA-8377 ConnectorCommand.execute should close the stream in a finally statement  
UBA-8378 Update our Canoo internal ULC site license with new JxBrowser license so that BrowserIntegration can be run with 64-bit Java.  
UBA-8398 Generic List with DefaultTableModel should work with a list of lists of any Type instead of only list of lists of Objects  
UBA-8400 CoderRegistry not available in ULCProxy/UIProxy extensions  
UBA-8401 TableBinding.ColumnBinding.mapper() does not return the ColumnBinding, thus breaks the method chaining  
UBA-8408 Improve the explanation of synchronous event delivery in ULC ApplicationDevelopment Guide.  
UBA-8409 Controlling generation of table columns in subclasses of ULCTableScrollPane is broken  
UBA-8410 Setting data in one go in a table model behaves strangely  
UBA-8426 It should be possible to overwrite through the ULC application configuration file properties which have been specified in a client/server application listener  
UBA-8427 ServletContainerContext.getServletContext() yields NPE in Development Mode  
UBA-8429 Robust splash screen  
UBA-8433 Review all System.setErr resp. System.setOut usages  
UBA-8435 com.ulcjava.base.application.table.TableRowFilter and its subclasses are Serializable but do not have a serialVersionUID  
UBA-8437 Upgrade Jide libs to the last version (v3.0.4)  
UBA-8441 Provide a client-side hook in UIJideTable to customize AutoFilterTableHeader  
UBA-8444 Investigate usage of buffered streams in DefaultDataStreamProvider  


Migration Notes

Known Problems and Limitations

You can find known problems and limitations in our issue database.

Product and company names herein may be trademarks of their respective owners.

Copyright (c) 2000-2015 Canoo Engineering AG