The upcoming Smart GWT 4.1 / SmartClient 9.1 release is getting close to feature complete, so today we’re announcing details of several of the new features in this release. These features are ready to use in the latest nightly builds, complete with samples and documentation. As always, our nightly development builds are more stable than the word “nightly” might imply – these builds must pass 10’s of thousands of automated tests in order to become available for download.
To try out the new features, grab the latest nightly builds from:
Smart GWT 4.1d:
If you have any issues or feedback with these new features, please post to the Forums. When posting, be sure to indicate that you are using a nightly build, and the exact date of the build.
Declarative Grouping and Sums (Power Edition and above)
For example, working with the orderItem sample DataSource, you could declare an operationBinding to create a fetch operation that will return the total sales for a set of orderItem’s:
You can also programmatically request such queries via new APIs on the DSRequest object (setGroupBy(), setSummaryFunctions()).
DataSource FormatStrings with Export Support
You can now declare the visual format for dates and numbers via DataSourceField.format, using “format strings” like Java’s SimpleDateFormat and DecimalFormat.
In Pro Edition and above, these same formats are applied for spreadsheet exports (XLS and OOXML), so you can have high fidelity exports and have spreadsheet programs such as Excel correctly recognize that your formatted values should be treated as dates or numbers when sorting, grouping or applying other spreadsheet features.
includeFrom with Aggregation (Power Edition and above)
This extremely powerful feature allows you to declare that a field that is calculated from values in a related DataSource, with a single property includeSummaryFunction.
For example, give a DataSource “order” and related DataSource “orderItem”, the “itemCount” field below will show the total number of items in each order.
This feature is supported for SQL, Hibernate and JPA DataSources. Some other common uses:
- using “max” to show the most recent “order” for a “customer”
- using “avg” to show the average order size for a “customer”
TileGrid with Custom Tiles
The new Smart GWT Reflection capabilities that appeared in 4.0 made a lot of new scenarios possible. One was the ability to use a completely custom class as the “Tile” in a TileGrid. A new Smart GWT sample in the SDK, “Data View / Tiling -> Custom Tiles” demonstrates this capability.
New Data Paging Mode for Trees
Trees have always supported a load-on-demand mode that loads the children of each folder only when the folder is opened. However, some trees have so many children under a single folder that it’s necessary to load those children incrementally, like a ListGrid does.
This is now supported via ResultTree.fetchMode:"paged". Due to some very sophisticated logic we’ve implemented on the client-side, this mode continues to work with a “dumb server” that has no tree-specific logic, and only knows how to fetch ranges of rows matching criteria – the same facilities required by a ListGrid.
For a full overview of this feature, see the newly expanded Tree Databinding overview:
- SmartClient: in the SDK, search for “Tree DataBinding” in the SmartClient Reference.
A Note for customers with Smart GWT 3.x / SmartClient 8.x Licenses:
Smart GWT 4.x / SmartClient 9.x is a paid upgrade for Smart GWT 3.x / SmartClient 8.x license holders. If you upgraded or purchased licenses on or after November 21, 2012 then you already have a Smart GWT 4.x / SmartClient 9.x license. Otherwise, please contact us for upgrade pricing. Upgrade prices are based upon the date of your previous purchase. Get access to the entire Smart GWT 4.x / SmartClient 9.x series by upgrading now!
You can get more details about the new features in Smart GWT 4.x / SmartClient 9.x in our previous Smart GWT 4.0 / SmartClient 9.0 release announcement. As always, please send us any bug reports or feedback in the Forums. Please be clear about what product and version you’re using when reporting issues, including the exact date of the build.
- To order an upgrade from a previous version and for more options, please contact sales.
- For more information about how our licenses work, please see the Product & Licensing FAQ.
Download Smart GWT 4.1d or SmartClient 9.1d to get started using our newest features today!
The Isomorphic Team