Isomorphic Software Logo SmartClient™ SDK Release Notes
Version 5.2 evaluation (04/10/2005)
Java server edition

Welcome

SmartClient v5.2 is the latest general release of the SmartClient web presentation layer.

SmartClient provides an open DHTML/AJAX client engine, rich user interface components, and metadata-driven client-server databinding systems, for rich GUI, zero-install web applications.

Whether you are upgrading from an earlier release, or exploring SmartClient for the first time, these notes will help you to install and use this release more quickly and effectively. Please take a few minutes to review this file.

What's New

This v5.2 release includes the following major enhancements:

1) Expanded documentation
The new SmartClient Quick Start Guide (PDF format) provides a 70-page overview of SmartClient capabilities, coding, and concepts, appropriate for both new and current SmartClient developers. And on the API front, over 120 properties, methods, and components have been added to the SmartClient Reference (SmartClient HTML format), which provides relevance-scored search results.

2) Flexible server integration
The integration points for server-side binding of RPCs and DataSources have been expanded, clarified, and enhanced. See Section 8 (Data Integration) of the SmartClient Quick Start Guide, and check out the latest Server Integration Examples (server startup required), for more information.

3) Performance enhancements
Client-side loading and rendering has been accelerated by approximately 20% in large applications, with the largest improvements in Internet Explorer browsers. SmartClient v5.2 is the fastest DHTML/AJAX presentation layer available for rich web applications.

4) Additional branding control
Form drop-down controls (SelectItems) are now fully skinnable components. TabSets support both CSS and image-based skinning, with tabs on any side of the component. Button components and TreeGrid nodes provide additional support for embedded and customized icons. All form controls support optional, interactive helper icons.

Major enhancements from the recent v5.1 release also included:

5) Rich inline grid editing
Databound ListGrid components support the full set of editing controls, data types, validators, and keyboard interactions, for fast, asynchronous data entry and editing against server-side DataSources. Try it in the SmartClient Demo Application (server startup required): double-click the ListGrid to begin editing; arrow-up/arrow-down/Tab to navigate; and Enter/Esc to commit or discard edits.

6) Self-contained development environment
The SmartClient SDK includes a preconfigured application server, database engine, and object-relational datasource connector, for immediate evaluation, prototyping, and development of rich web applications.

7) Enhanced developer console
This essential tool for client-side development now provides an interactive component browser, integrated with the SmartClient API Reference.

If you are upgrading from a previous version of SmartClient, please see the Upgrade Notes below.

Quick Start

The SmartClient SDK distribution includes an embedded application server and database engine for rapid, stand-alone development and evaluation. To get started quickly:
  1. Download and install the Java 2 SDK 1.4+ if necessary. (Mac OS X users note: JDK 1.4 is already installed on your system)
  2. Start the embedded server by running start_embedded_server.bat (Windows), .command (MacOSX), or .sh (*nix).
  3. Open the open_ISC_SDK_from_server shortcut (Windows/MacOS) or open a web browser and browse to http://localhost:8080/index.html (all systems).

The SmartClient Quick Start Guide (PDF format) is your best starting point for an overview of the SmartClient SDK, system, and capabilities. This guide also covers common installation and configuration issues.

Supported Clients

SmartClient v5.2 applications run in the following standard web browsers:
Limited support is available for earlier browser versions. Please contact Isomorphic for details.

Supported Servers

SmartClient v5.2 server-side components require a Java Servlets 2.3 compatible server (complete list here).

SmartClient .zip and .tar.gz packages include an embedded Tomcat server for rapid stand-alone development, but SmartClient is also tested and supported on BEA WebLogic, IBM WebSphere, Oracle iAS, Sun AS, Caucho Resin, Mortbay Jetty, and JBoss servers. SmartClient .war and .ear packages without Tomcat are provided for deployment in existing server environments. See the Server Installation Notes for server-specific configuration and tested versions.

The SmartClient SDK includes an embedded HSQL database for rapid prototyping and evaluation using the SmartClient object-relational connector. This connector is also tested against DB2, Oracle, SQL Server, MySQL, and PostgreSQL databases. See the Server Installation Notes for database-specific configuration and tested versions.

Upgrade Notes

The main theme of this v5.2 release has been broad testing and bug fixing, across all supported browsers and functional areas. This is a stable build. Isomorphic recommends that all customers running earlier releases introduce v5.2 into current development lines as soon as possible, for optimal performance, stability, and cross-browser consistency.

If you are upgrading from a previous version of SmartClient, you should be aware of the following changes implemented in v5.1 and v5.2. Please contact
Isomorphic Support if any of these changes present compatibility issues for your applications.

TreeGrid opener icons - property and image names

APIs related to the icons that open and close tree nodes have been reworked for clarity, easier customization, better bidi/RTL support, and tree connector line support. The following properties have been deprecated and removed:
          arrowOpenImage         "[SKIN]arrow_open.gif"
          arrowClosedImage       "[SKIN]arrow_closed.gif"
          arrowClosedLeftImage   "[SKIN]arrow_closed.gif"
          arrowOpeningImage      "[SKIN]arrow_opening.gif"
They are replaced by the following new property:
          openerImage            "[SKIN]opener.gif"
The opened, closed, opening, and rtl states are automatically appended to the base openerImage file name. Default skin image files are therefore:
          opener_opened.gif
          opener_closed.gif
          opener_opening.gif
          opener_closed_rtl.gif
Note that this change affects both component properties and skin image file names. If you have edited any of the old skin image files, they must be renamed to be recognized.

Grid inline editing behavior

The following new or changed behaviors have been implemented for ListGrid/TreeGrid editing:

Grid appearance

The following changes have been made to default grid appearance and behavior:

Dropdown control appearance and behavior

The dropdown (single select) form control is now a synthetic, fully skinnable control by default. Appearance of this control is now determined by the current theme/skin, not by the underlying operating system.

General risk assessment

For your information, the following functional areas have seen extensive internal fixes or refactoring in this release: Isomorphic makes every effort to thoroughly test and ensure backwards compatibility. If you encounter any upgrade issues in these or other areas, please contact Isomorphic Support for immediate attention.

Known Issues

Browser Caching

If the browser cache is disabled, full, or corrupted, application performance may degrade as the client-side SmartClient engine, UI skin elements, and your static application resources are repeatedly accessed from the server. This problem is often indicated by visibly sequential loading of images (e.g., the node icons in a TreeGrid). If you encounter this problem:

Sun AS 8.1 - SQLException: The database is already in use by another process

The evaluation SDK provides an in-memory instance of the HSQLDB database to run examples and support rapid prototyping. Sun Application Server 8.1 does not correctly handle this in-process instance of HSQLDB. You may deploy the SDK on Sun AS 8.1 with no database, with a different database, or with a stand-alone instance of HSQLDB.

Page 'jumps' to display entire focused component

When a visual component is focused (by click or tab), the browser window will scroll if necessary to display the entire component. This is generally correct behavior, but it may provide an unsettling user experience in some cases, e.g., when selecting a row in a ListGrid that overlaps the edge of the window. To disable automatic focus behavior on any SmartClient component, set its canFocus property to false. Note that this will also disable accessKey shortcuts and keyboard navigation for that component.

Real-Time Messaging in Safari

The Real-Time Messaging module (server-push messaging) is not currently supported in Safari web browsers. You can approximate this capability on Safari with client polling via isc.Timer.setTimeout() and isc.RPCManager.sendRequest().

Developer Console performance impact

The SmartClient Developer Console continuously polls and inspects the running application, which impacts client-side application performance. If you are profiling your code, or testing an application on a slow system, you can close the Developer Console to minimize this impact.

Contact Us

If you have any questions, comments, or requests, please feel free to contact the SmartClient product team: We welcome your feedback, and thank you for choosing SmartClient.

©2005 Isomorphic Software, Inc.  All rights reserved.  Your use of this software is subject to the License Agreement. Isomorphic Software, SmartClient, and all Isomorphic-based names and logos that appear herein are trademarks or registered trademarks of Isomorphic Software, Inc. All other product or company names that appear herein may be claimed as trademarks or registered trademarks of their respective owners. This product includes software developed by the Apache Software Foundation (http://www.apache.org/). This product includes Hypersonic SQL.