Release NotesJuly, 2011
About Canoo RIA Suite ULC - Update 4
Please see the Canoo RIA Suite Update 3 release notes for previous release notes.
To migrate from Canoo RIA Suite Update 3 to Canoo RIA Suite ULC Update 4, please see the migration 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 CoreULC 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:
All UltraLightClient classes.
For convenience, contains all other modules (except samples).
The UltraLightClient core.
Always needed, for development and deployment.
Server-side integrations into Servlet container.
Only needed for server deployment.
Client-side integrations into environments, e.g. Applet, JNLP.
Only needed for client deployment.
Utilities and extensions, e.g. application framework, test framework, QTP integration.
Only needed on demand.
Samples demonstrating the usage of UltraLightClient, e.g. Hello, ULCSet, OnlineShop.
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 environement category.
A module directory contains subdirectories 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.
Contains classes to be deployed on the client side.
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.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.1With this package you can integrate an ULC Application into your enterprise web applications or your enterprise portal server.
Package ULC Office Integration 1.0This package bundles Apache POI and iText to produce PDF and MS Office documents integrated into your ULC Application.
|<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.|
|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|
|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. "foo.bar") 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|
|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|
- The whole deprecated package com.ulcjava.base.application.event.serializable has been removed.
- Deprecated methods UISession.sendBlockingEvent(int, int, int, Anything), UISession.sendEvent(int, int, int, Anything) and UISession.sendDeferredEvent(int, int, int, Anything) have been removed.
- Deprecated methods have been removed from following classes: AbstractAppletLauncher, AbstractStandaloneLauncher and AbstractJnlpLauncher.
- Deprecated constructors have been removed from class: com.ulcjava.base.client.FileContents
- Deprecated class com.ulcjava.base.development.DevelopmentBrowserService has been removed.
- Deprecated class com.ulcjava.base.shared.NestedException has been removed.
- Deprecated methods have been removed from class: com.ulcjava.testframework.AbstractServletTestCase
- Deprecated methods have been removed from class: com.ulcjava.testframework.AbstractTestCase
- Deprecated constructors have been removed from class: com.ulcjava.base.development.DevelopmentConnector
- Deprecated method has been removed from class: com.ulcjava.base.client.dnd.AbstractDropTargetListener
- convertXXX methods have been removed from class: com.ulcjava.base.client.UIProxy
You can find known problems and limitations in our issue database.
Product and company names herein may be trademarks of their respective owners.