Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • @IncludeJavaScriptLibrary and @IncludeStylesheet annotations (replaced by @Import)
  • @ApplicationState annotation (replaced with @SessionState)
  • "validateForm" event triggered by Form component (replaced with "validate" event)
  • Code and constants related to page poolingThe "suppress redirects" functionality, which allows component event requests to respond directly with HTML, as in Tapestry 4

In addition, some of the abstract base classes used with the tapestry-func library have changed into interfaces; you will want to recompile, but may also need to adjust your code, depending on your compiler settings and use of the standard Java @Override annotation.

Because of the upgrade to Prototype 1.7, existing JavaScript that uses value.toJSON() may break; replace with Object.toJSON(value).

...

  • The RenderSupport environmental (replaced with the JavaScriptSupport environmental)
  • ClassFactory service and ClassFab interface (replaced with the PlasticProxyFactory service and PlasticClass interface)
  • The "suppress redirects" functionality, which allows component event requests to respond directly with HTML, as in Tapestry 4.

New Features

User Alerts

Tapestry now has a central mechanism for handling user alerts; this includes the AlertManager service and the Alerts component. Just add an Alerts component to your application's standard layout component and Tapestry takes care of the rest. Alerts can be added during both traditional and Ajax requests, and may be transient (displayed for a few seconds), normal, or sticky (persist until the user expressly dismisses them). Alerts support three severities: info, warn(ing) and error; the look and feel can be customized by overriding Tapestry's default CSS rules.

...

Tapestry can now be configured to execute inside a folder, which can be useful when running Tapestry inside a web application that contains other servlets or filters, as a way to prevent conflicts.

Improved Quickstart Archetype

The Maven quickstart archetype has been brought up to date, and now demonstrates several new bits of common useful functionality.

Whitelisted Pages

The new @WhitelistAccessOnly annotation marks a page as accessible only from white-listed clients; the rules for the whitelist are extensible. The default rule is that only access from localhost is on the white-list. Use this annotation on pages that may expose sensitive data, such as built-in application dashboards and the like.

Page Catalog

Tapestry applications now include a built-in "PageCatalog" page, which lists all the loaded pages of the application, with details about construction time and number of components. The page requires whitelist access (see above comment), and some functionality is only available in development mode. PageCatalog can be used to load all pages of your application, which is useful to quickly spot problems in your pages (especially useful when upgrading from a prior release of Tapestry).

Removed Functionality

The integrated Blackbird client-side console has been removed. In its place are the floating console messages (used when Blackbird is disabled) combined with logging to the Firebug or WebKit console. This should make debugging client-side JavaScript much easier. In addition, Tapestry will now display a pop-up window containing the full exception report for a server-side error that occurs during an Ajax request.

...