Canoo RIA-Suite Logo

Release Notes

March, 2014


About Canoo RIA-Suite 2014

Canoo RIA-Suite 2014 is a major release of RIA-Suite. Its license version is 8.0. To use this release you will need to upgrade your license. Please contact

Canoo RIA-Suite includes the following new features:

Feature Description
RIA-Suite + OpenDolphin RIA-Suite now includes OpenDolphin. OpenDolphin is an open source library that keeps the application logic on the server but presenting it with all the capabilities of the client device. OpenDolphin is UI technology agnostic thus allowing you to write your UI in technology of choice such as JavaFx or HTML5/JavaScript and at the same time have a shared presentation model on the server.
ULCOpenDolphin ULCOpenDolphin package contains UlcOpenDolphinAdapter which allows your ULC application to integrate with OpenDolphin applications. It enables you to present the state of your ULC application through OpenDolphin based applications thus allowing different channels (JavaFx and JavaScript) on different devices (Desktop, Tablets, Mobiles). Please have a look at a demo.
ULCServerPush ULCServerPush enables pushing of server side events/data to the ULC client without requiring the ULC client to initiate a roundtrip. This helps in writing ULC applications that are highly responsive to high frequency events/data on the server side. Please have a look at a demo.
New Product Packaging RIA-Suite includes the packages ULC Core, ULCChart, ULCPortalIntegration, ULCWebIntegration powered by ULCFxBrowser, ULCServerPush and ULCOpenDolphin. ULCOpenDolphin includes open source OpenDolphin libraries.

RIA-Suite Business includes RIA-Suite and packages ULCGraph and ULCOfficeIntegration.

ULCWebIntegration feature is now powered by ULCFxBrowser instead of JxBrowser.

New Release Structure Individual libraries for modules base, environment and container are no longer provided. Instead, all inclusive client side jar ulc-core-client.jar, all inclusive server side jar ulc-core-server.jar and all inclusive development jar ulc-core-development.jar are provided.
New features in ULCTable Facility to show and hide columns from the client side

Adjusting column widths from the client side

Please see the Canoo RIA-Suite 2013 Update 2 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 2014 and Canoo RIA-Suite 2013 Update 2.


Version Notes

Canoo RIA-Suite 2014 requires the Java Runtime Environment (JRE) 1.7 or later on the server and on the client. It is recommended to use Java version 1.7.0_25 or later.

The deployment of a Canoo RIA-Suite application requires a JEE server that supports at least the Servlet 2.4 specification.

Since JRE 1.7.0_51, to be able to run ULC applications in jnlp and applet mode you need to:

  1. sign all client side jars with a certificate issued from a recognized certification authority.
  2. include Permissions and Codebase properties in the manifest of each client side jar.
  3. include the security tag in the jnlp file.

    Packages and Release Structure

    UltraLightClient (ULC) is part of the Canoo RIA-Suite. It consists of 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 packages and the structure of the current release are described in the following sections.

    ULC Core

    ULC 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
      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.
      It does not contain the samples.
    • addon
      Utilities like the project generator.
      Only needed on demand.
    • sample
      Samples demonstrating the usage of UltraLightClient, e.g. Hello, ULCSet, OnlineShop, and more.
      Not needed during development or deployment.
    • ext
      ULC Extension packages

    A module directory contains sub-directories with the following contents:

    • lib
      Jar files that contain the module classes.
      For sample and add-on modules, the required libraries.
    • resource
      Only for sample modules: the required resources, e.g. images, property files
    • src
      Either complete source code or source stubs.
      The source stubs are used to enable code completions in IDEs.
    • webapp
      Only for sample modules: ready to deploy web application, i.e. war files


    Package ULC Enterprise Portal Integration 1.0.6

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


    Package ULC Chart 1.0.2 (JFreeChart 1.0.12)

    This package integrates JFreeChart library. With this package you can create various business charts.


    Package ULCFxBrowser 1.0.2 (JavaFX JRE 1.7)

    ULCFxBrowser integrates the JavaFX Web component into ULC. With this package you can integrate any web page directly into your ULC Application.


    Package ULCOpenDolphin 1.0.0

    Integration with OpenDolphin.


    Package ULCServerPush 1.0.0

    Server Push feature based on long polling.


    Package ULC Office Integration 1.1.2

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


    Package ULC Graph 1.0.2 (JGraph

    This package integrates JGraph library. With this package you can create and draw various graph diagrams.


    Release Structure

    <canoo-ria-suite-2014> RIA-Suite installation directory
       all All UltraLightClient classes. Development : ulc-core-development.jar, Client : ulc-core-client.jar, Server : ulc-core-server.jar
    RIA-Suite documentation
       ext Contains libraries of RIA-Suite add-on 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 - used to install RIA-Suite licenses
       build.txt Contains the build number
       LicenseAgreementDevelopment.pdf The Development license Agreement
       LicenseAgreementEvaluation.pdf The Evaluation license Agreement
       releasenotes.html This document


    Fixed Bugs

    • [UBA-8777] - Multiple ActionEvents on Button during a server roundtrip when there is a dealy on clientside in a roundtrip.
    • [UBA-8779] - ULCTextField as cell editor throws NPE on clientside when Enter key is typed
    • [UBA-8785] - JTableTree.getBackground() / getForeground()
    • [UBA-8788] - Adding a node to ULCTableTree after expandAll is adding duplicate nodes on the client side.
    • [UBA-8791] - NPE when null IActionListener is ULCComponent.registerKeyboardAction
    • [UBA-8795] - ULCTableTree- NodeStructureChanged Event on server, results in NPE on client side.
    • [UBA-8797] - ULCTree throws NPE when setting a model after initially setting a null model and cellrenderer
    • [UBA-8798] - Renderers are not fetched after nodes are removed and added to a ULCTree.
    • [UBA-8802] - NPE in ULCTableTree if row is out of range.


    Implemented Feature Requests

    • [UBA-8752] - Provide a ULC to OpenDolphin-Event-Bus Adapter component
    • [UBA-8753] - Provide Server Push feature in ULC
    • [UBA-8763] - Provide Show/Hide columns and ColumnWidthAdjustment feature on client side in ULCTable
    • [UBA-8780] - FileChoooser should optionally allow appending of specified extension to chosen file if it does not have one
    • [UBA-8805] - Provide API for direct call from JS to Java in ULCFxBrowser
    • [UBA-8809] - Provide methods on ULCScrollPane to set opaque and background on the ViewPort


    Migration Notes

    • ULCWebIntegration feature is now supported by ULCFxBrowser based on JavaFx WebView. ULCWebIntegration based on JxBrowser has been discontinued. Use com.ulcjava.ext.fxbrowser.server.ULCFxBrowser class in place of com.ulcjava.ext.webintegration.server.ULCBrowser.
    • ULCTablePlus based on JideTable is no longer bundled with release. It is available to existing license holders from Canoo's Nexus repository. Please contact
    • Separate jar files for base, container and environment modules are not part of the release any more. Instead use ulc-core-client.jar (all client side classes), ulc-core-server.jar (all server side classes) and ulc-core-development.jar (all client+server side classes).


    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