2009/05/20 - Apache Shale has been retired.

For more information, please explore the Attic.

Apache Shale (Version 1.0.3) Release Notes

1.0 Introduction

Welcome to the Apache Shale Framework. Shale is a next generation framework for building web applications using Java technology, and builds upon the framework and component APIs provided by JavaServer Faces.

To download the binary release artifacts, go here, select an appropriate mirror, download the corresponding zip files, and check the checksums and digital signatures. In addition, the individual JAR files are available in the default Maven 2 repositories, using artifact identifiers described below in Section 2.2.

This is the third milestone release of Shale, released to encourage experimentation and gather feedback on usage issues and requested features. A final vote on quality has yet to take place for this release, but it will likely be voted to be of "beta" quality due to the following issues:

However, many of the APIs in Shale are reasonably stable -- for details, see Shale API Target Audiences and Stability Ratings.

The largest change in this release is that Shale has switched over to using Maven 2 as its build tool. In turn, this has affected the content and format of the release artifacts themselves, and also introduces the availability of individual artifacts in publicly available Maven 2 repositories. See the following section for more information.

2.0 What Is Included

2.1 Release Artifacts

Shale is released as a series of zip files, each of which contains the binary deliverables, as well as the corresponding source code. In addition, if you have Maven 2 (version 2.0.4 or later) installed, you can rebuild the contents of each zip, by positioning to the top level directory in a command shell, and typing mvn install from there.

The following release artifacts are available:

2.2 Maven Repository Artifacts

Beginning with this release, the various JAR files that are included in the framework release artifact have also been published to public Maven 2 repositories. If you are using Maven 2 to build your apps, you need only declare dependencies on the following identifiers (group id, artifact id, and version number), and Maven 2 will automatically download Shale (and its dependencies) for you.

3.0 Changes From Previous Releases

Details on all of the included changes are in Section 5, below. The following sections highlight the most important changes.

3.1 New Features

Maven 2 Based Build Environment - Shale now uses Maven 2 to build its constituent artifacts, and is made available in public Maven 2 repositories to facilitate use in applications that are also built with Maven 2.

New Sample Applications - New sample applications to illustrate the use of Shale features:

3.2 Improvements

Exception Handling Strategy - Exceptions thrown by application event handlers will be accumulated during the request processing lifecycle. By default, control will be forwarded to the error handler page defined by the application, but this behavior can be customized.

Additional View Controller Events - By implementing an appropriate base class, model beans can receive init() and destroy() callbacks for request scope, session scope, or application scope. If you are using the Tiger Extensions library, these features are also available via annotations.

Test Framework Support for Cargo - It is now possible to build unit tests, using the Test Framework, that uses the Cargo Maven plugin to automatically start and stop your servlet container.

Clay Plug-In Improvements - FIXME ... identify the highlights of what has improved.

3.2 Bugfix Issues

View Controller event callbacks - Fixed various bugs where event callbacks were being done twice or not at all.

Token Component - Fixed issues with the Token component that prevented its use when an application returned to the current page with validation errors.

Commons Validator issues - Various problems with the integration of Commons Validator were fixed.

4.0 Known Issues In This Release

Follow this link for a detailed Road Map of upcoming versions of Shale. The following paragraphs highlight only the most important issues.

Dialog Feature - Several outstanding JIRA issues focus on functional problems with the implementation of the Dialog feature. Fixing these problems will be a high priority goal for the next release of Shale, although they might also require some backwards incompatible changes in the current Dialog APIs.

Standalone Tiles - Shale has a dependency on the Standalone Tiles package, currently in the Struts Sandbox and not yet released. This needs to be resolved before a General Availability release of Shale can occur.

5.0 Detailed Change Log

5.1 Bug

5.2 Improvement

5.3 New Feature

5.4 Task