Release NotesMay 27, 2010
About Canoo RIA Suite ULC
Canoo RIA Suite ULC includes the following new features:
|Charts||ULC Core now includes the JFreechart library. That allows you
to enrich your application with various charts.
|Animation||Based on the TimingFramework, ULC Core allows you to define
animations and easily trigger them.
|Extended visual effects||The visual appearance of a ULCComponent can be enhanced with
advanced features as translucency, rounded corners, background images
|Google App Engine Deployment||ULC Core contains an ant script to integrate and deploy your ULC Application to Google's App Engine.|
|ULC Table Plus Package||This package integrates the JIDE grids library that gives you
tables with various extended features like header columns, footer
table, multicolumn sort and autofilters.
|ULC Web-Integration Package||This package integrates the JxBrowser component that allows
you to include any web page into your application.
|ULC Enterprise Portal-Integration Package||This package allows you to integrate an ULC Application into your enterprise web applications or your enterprise portal server.|
|ULC Office-Integration Package||This package bundles Apache POI and iText to produce PDF and MS Office documents integrated into your ULC Application.|
Please see the UltraLightClient '08 Update 4 release notes for previous release notes.
To migrate from UltraLightClient '08 Update 4 to UltraLightClient 2010, please see the migration notes.
UltraLightClient requires the Java Runtime Environment (JRE) 1.5 or later on the server and on the client.
To deploy an UltraLightClient application in a JEE server, the server needs to support either at least the Servlet 2.4 specification or at least the EJB 2.1 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 containers, e.g. Servlet, EJB.
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 PlusULC Table Plus integrates the JIDE grids library that provides a table with various extended features.
Package ULC Web-IntegrationULC Web-Integration integrates the JxBrowser library. With this package you can integrate any web page directly into your ULC Application.
Package ULC Enterprise Portal-IntegrationWith this package you can integrate an ULC Application into your enterprise web applications or your enterprise portal server.
Package ULC Office-IntegrationThis 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 EJB container integration and 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 Tomcat Servlet container|
|thirdpartylicenses||licenses of included third party libraries|
|license manager tool|
|build.txt||Contains the build number|
|LicenseAgreement.pdf||The license Agreement|
|UBA-7972||'UIRangeConverter' does not work correctly with the new class types introduced and 'setMax' does not work for Long|
|UBA-7964||'setGroupingUsed(true)' on 'ULCNumberDataType' with 'BigDecimal' as class type makes it useless|
|UBA-7954||UINumberFormatConverter cannot handle infinity|
|UBA-7953||NPE when a modal JDialog popups during ULC initialization process|
|UBA-7909||ULCTableTree messes selection when firing a node structure changed event|
|UBA-7903||Specifying '/' as client resources directory in ULC application configuration file throws a NPE on server side|
|UBA-7902||HttpSessionStore.unregister throws ConcurrentModificationException|
|UBA-7900||Serialisation of Sorted Tables is broken.|
|UBA-7869||ULCStringDataType does not enforce MaxLength on entering � and ULCStringDataType.ALL_UPPER_CASE|
|UBA-7867||ErrorDialog does not show stacktrace of a cutom Throwable which does not force flushing in its printStackTrace method.|
|UBA-7865||Table header disappear after maximizing the before iconified internal frame|
|UBA-7859||ULCSlider shows wrong values and the client and server side values can be out of synch.|
|UBA-7735||ULCPercentDataType with an error manager should let Erromanger display feedback and return invalid input as default value|
|UBA-7715||TestFramework's JNLP environment does not handle Cookies by default even when running with Java 5 (or higher)|
|UBA-7969||ULCNumberDataType having Double class and ErrorManager displays wrong error message for value > max value.|
|UBA-7921||Update Javadoc of ULCTextComponent to explain that valueChanged event could be fired even though the textfield has not lost focus.|
|UBA-7883||Make the mouse listener on ULCTableHeader's client proxy easy to extend.||A new method
protected TableHeaderMouseListener createTableHeaderMouseListener()is introduced into UITableHeader.java
|UBA-7877||'keep-alive' command should not use the Swing Timer.|
|UBA-7857||ULCRectangle implementation doesn't have an own equals-method.|
|UBA-7508||ULCNumberDataType should support BigDecimal values.|
|UBA-7297||Provide only one JavaDoc for all modules instead of several JavaDocs.|
|UBA-8064||Support javaFileListFlavor when dragged into ULCApplication.|
|UBA-8005||Set look and feel specified in .xml file in EDT.|
- On ULCNumberDataType the deprecated methods public void setInteger(boolean newIntValue) and public boolean isInteger() have been removed. Users must explicitly set the class type with public void setClassType(Class<T> classType) except for the defalut value Double.class .
- The jar files in all/lib containing the all the ULC Core classes are now named ulc-core-development.jar , ulc-core-client.jar and ulc-core-server.jar in place of the former naming ulc-allJREVersion- . ULC Core and the extension packages are requiring Java 1.5 on both client and server side.
You can find known problems and limitations in our issue database.
Product and company names herein may be trademarks of their respective owners.