Isomorphic Software Logo SmartClient™ SDK Release Notes
Version 8.1/SDK Development Only (2011-08-02)

Welcome

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 in 8.1

SmartClient version 8.1 is a significant upgrade from 8.0, containing powerful new features and a wealth of bug fixes and general enhancements. A brief overview of the major changes: See below for features introduced in previous releases.

See the change log for a more extensive list of changes per release.

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 Runtime (JRE or 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).
  4. Create a bookmark or favorite in your web browser to the URL javascript:isc.showLog(), for easy access to the SmartClient Developer Console and integrated SmartClient Reference.

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.

The SmartClient Reference is the central reference and usage documentation for SmartClient developers.

Supported Clients

SmartClient 8.1 applications run in the following standard web browsers:
As new browser versions are released, Isomorphic evaluates the stability of the new browser and may announce official support, sometimes with patches or special settings required to work around browser flaws.

Support is available for earlier browser versions for customers with support contracts. Please contact Isomorphic for details.

Supported Servers

SmartClient 8.1 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.

Known Issues

Internet Explorer 6.0 Caching

If the browser cache is disabled, full, or corrupted, application performance will degrade as the client-side SmartClient engine, UI skin elements, and your application resources are repeatedly accessed from the server. This problem may be indicated by slow loading of repeated images, e.g. the node icons in a TreeGrid component.

This problem is most likely to occur in Internet Explorer browsers, due to bugs in the browser's cache implementation. If you encounter this problem, please take the following steps:
  1. close all instances of Internet Explorer
  2. open your Internet Options control panel
  3. click the Delete Files... button (under Temporary Internet Files)
  4. when the wait cursor clears (this may take 10 minutes or more on some systems), click the Delete Files... button again
  5. reduce your cache size to 200MB or less to avoid this Internet Explorer bug in the future

Mozilla Firefox 2.0 and accessKeys

SmartClient components and form items support an accessKey attribute which allows the user to focus on the widget in question via a keyboard shortcut.
As of Mozilla Firefox version 2.0, the key-combination to use is Shift+Alt+[accessKey]. This differs from all other supported browsers (including earlier versions of Mozilla) where the key-combination is Alt+[accessKey].
This is a change to the Firefox web browser that will also apply to any standard HTML elements with a specified accessKey attribute.

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.

Real-Time Messaging in Safari

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

XML Processing in Safari

Client-side XML loading, binding, parsing, and transformation utilities (primarily implemented in the XMLTools class) are not available in Safari web browsers older than version 3.0.3. Current alternatives include using Firefox on MacOS, or processing XML on the server. If you require XML processing capabilities in these older Safari web browsers, please contact Isomorphic.

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.

Also note that enabling RPC tracking (in the RPC tab of the DeveloperConsole) causes your application to keep extra state, increasing memory usage. This happens regardless of whether the Developer Console is open or not. This functionality is disabled by default. If you use it, be sure to turn RPC tracking off by unchecking the "track RPCs" checkbox in the RPC tag when you're done with your debugging.

What's New in 8.0

8.0 is another monster release, with spectacularly powerful new features and a gorgeous look & feel refresh. The following features have been added:

What's New in 7.0

  • Enterprise, SilverWave and BlackOps skins, three more professionally designed, free (LGPL) skins
  • Calendar component: complete drag and drop, databound event editing similar to Google Calendar
  • TileLayout & TileGrid components: display records as a series of tiles, with databinding, load on demand, filter and sort, and drag and drop capability
  • Advanced Filtering: client- and server-side support for field-operator-value filtering of data, including arbitrarily nested queries
  • Filter Builder: specialized form for end user construction of advanced filters of arbitrary complexity
  • SQL Templating: customize the SQL generated by SmartClient's SQL connector right in the DataSource file. Clause by clause overrides make it easy to add simple and complex joins, grouping and aggregation while retaining full search features and database independence
  • Transaction Chaining: a transaction where some operations depend on the results of other operations can be declared with simple XML in your DataSource
  • DataSource Wizards: generate fully functional DataSources from existing Hibernate entities or SQL tables with a simple point and click wizard in Visual Builder
  • Batch DataSource Generator: connect SmartClient to your entire object model in one step by generated DataSources from SQL tables, Java Beans or other metadata with a customizable process.
  • CSV / Excel Export: just call grid.exportData() to export the current contents of the grid to Excel via CSV, including current sort, filter criteria, column order and column visibility
  • Automatic databound dragging behaviors: grids and trees will now inspect data relations declared in DataSources and automatically "do the right thing" for a databound drag
  • Batch Uploader: provides an interface to upload a CSV, validate it and allow the user to make corrections before committing, all without coding.
  • Advanced Java Reflection: Java <-> JavaScript translation transparently handles JVM 1.5 features like Generics and Enums, including nested collections of objects.
  • ColumnTree component: ITunes™-like tree navigation (one column per level)
  • Hiliting: declare hiliting rules based on AdvancedCriteria. Completely client-side behavior that works automatically with data paging and filtering
  • Printing: comprehensive and customizable support for rendering printable views of SmartClient applications
  • Formula and Summary fields: built-in wizards for end users to define formula fields that can compute values using other fields, or summary fields that can combine other fields with intervening / surrounding text. Available in all DataBoundComponents, easy to persist as preferences
  • ColorPicker component: a full-spectrum color selection component similar to those found in graphics packages and other desktop software
  • HeaderSpans: second level headers in grids, for grouping related columns
  • Grid row rollover effects and controls: general purpose ability to attach SmartClient components to rows, allowing rounded selection, controls that appear on rollover, and more
  • Grid header rollover: drop-down menus appear on rollover, offering column show/hide, freezing and grouping options that previously required right click to discover
  • Data autofitting: horizontal and vertical autofitting to data for ListGrids
  • Grouping modes: built-in and custom grouping modes, such as the ability to group a date column by week, day, month or year
  • Visual Builder "toolskin": edit applications in any skin while Visual Builder itself retains consistent look and feel
  • Visual Builder "auto-add": double-click palette items to intelligently add to last, for ludicrously fast screen building
  • AutoFitTextAreaItem: autofits to contained text as the user types
  • Full Tree connectors: TreeGrid connectors support now optionally includes full connector lines
  • CubeGrid facet auto-derivation: greatly simplified creation of simple cubes

What's New in 6.5

  • New TreeFrog skin, the first of several planned, as well as several new skinning features
  • Dynamic frozen columns support for all ListGrids and TreeGrids
  • Dynamic group-by-field-value support for all ListGrids
  • New client and server side support for file upload
  • Inline editing and expanded APIs for data cubes / OLAP grids (CubeGrid component in Analytics module)
  • Significant performance improvements for rendering large CubeGrids, ListGrids, and TreeGrids; and smoother scrolling.
  • Support for Adobe AIR (desktop-installable versions of SmartClient applications)
  • Support for Firefox 3 (beta), Internet Explorer 8 (beta) and Windows Safari 3.1

What's New in 6.0

What's New in 5.7/5.7.1

What's New in 5.6

SmartClient 5.6 has the following major themes. See below for a detailed list of changes.

What's New in 5.5.1

SmartClient 5.5.1 is a maintenance release with small feature additions and documentation updates.

What's New in 5.5

SmartClient 5.5 implements the following themes and features:

1. SmartClient SDK Explorer

This small SmartClient application replaces the old SDK homepage with an interactive, window-based launcher for SmartClient developer resources. To use the SDK Explorer:

The source code for this application is located in index.html and docs/resources/, with some comments for the curious.
 

2. Rich look & feel

SmartClient GUI components and services have been broadly enhanced to support a range of new visual effects and customized themes, including:

The "SmartClient" theme has been upgraded to take advantage of these new features. This skin is now applied to the SDK Explorer, Demo Application, and Hello World examples. If you are interested in creating your own rich GUI themes, start by examining load_skin.js and skin_styles.css in isomorphic/skins/SmartClient. Check with technical support for the status of undocumented skinning interfaces.

The skinning interfaces will be documented separately in an upcoming release. For more information on the relevant APIs in this release, search the SmartClient Reference for the terms "edge", "shadow", "icon", or "src".

Note: The old "SmartClient" theme has been renamed "fleet", and is still available in isomorphic/skins/.
 

3. Animation effects

SmartClient visual components now implement a wide range of animation effects, to increase usability and improve user experience. For live examples of many of these effects, see SDK Explorer > Examples > Animation. The SDK Explorer itself demonstrates several window animation effects (expand, collapse, flash, and minimize).

To explore all SmartClient APIs related to animation, search for "animat" in the SmartClient Reference.
 

4. Background resource loading

In addition to background data operations and remote procedure calls, SmartClient provides interfaces for background loading of: without reloading your entire application. For more information, see the SmartClient Reference entries for: Simple usage examples are also provided in examples/uiLoading/.
 

5. Client-side XML/WSDL integration

SmartClient now provides easy interfaces to consume and process XML resources directly in the web browser, including: For more information, see the SmartClient Reference entries for:

Simple usage examples, including client consumption of RSS feeds, are provided in examples/dataBinding/. XML loading and XSLT transformations are also provided directly under the XML tab of the SmartClient Developer Console.

Note: These capabilities are not currently available in MacOS Safari web browsers.
 

6. Rich form controls

SmartClient 5.5 provides a collection of enhanced form controls, including:

ComboBoxItem, PickTreeItem, and SpinnerItem controls are used in the SmartClient Demo App in this package.

Please refer to the SmartClient Reference for more information on these new controls.
 

7. DataSource operation bindings

SmartClient DataSource objects now support custom bindings at the operation level. Each DataSource operation (Fetch, Add, Update, Remove) may be bound to a different WSDL operation, XML feed, or server object/method. For detailed documentation, see the SmartClient Reference entries for:

For an overview of all DataSource integration options, see the Client-Server Integration topic
 

8. Direct Method Invocation

SmartClient now provides a direct method invocation (DMI) path for server integration. DMI enables you to bind DataSource operations and RPCRequests directly to methods or attributes of your server objects. For detailed documentation, see RPC > DMI in the SmartClient Reference. This documentation also references the DMI code examples in:

Other features

In addition to the core feature areas listed above, SmartClient 5.5 provides an assortment of enhancements including:
  1. End user application layout with SectionItem and SectionStack components — see examples/demo_app/demo_app_JS_dragPanes.jsp for example SectionStack usage
  2. Flexible back button support — see examples/components/backButton.html for usage
  3. Deeper Struts integration — see examples/struts/ for integration of SmartClient Ajax form validation with existing ActionForms
  4. Modular Ajax client — separate Ajax client modules for independent loading of standard capabilities (Core, Foundation, Containers, Forms, Grids, DataBinding), advanced options (Analytics, FileLoader, RealtimeMessaging) and custom feature packages
  5. Resource preloading & caching — using the FileLoader service of the optional SmartClient Network Performance module
     

Sneak Preview: Visual SmartClient

This release also includes a "sneak preview" of the in-development Visual SmartClient application builder. You can launch this browser-based development tool from SDK Explorer > Tools > Visual Builder. This Visual SmartClient preview provides: Note: This preview is provided for evaluation only. Licensing and support of the Visual SmartClient tools are not yet formalized.

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.

©2010 and beyond 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.