Modified: websites/production/tapestry/content/integrating-with-jpa.html
==============================================================================
--- websites/production/tapestry/content/integrating-with-jpa.html (original)
+++ websites/production/tapestry/content/integrating-with-jpa.html Mon Mar 10 
18:18:17 2025
@@ -162,11 +162,11 @@
     <div class="param-body"></div>
 
 </div><p>Tapestry provides a built-in integration with the Java Persistence 
API (JPA) through the <strong>Tapestry-jpa</strong> module. This module 
supersedes the 3rd-party <a class="external-link" 
href="http://www.tynamo.org/tapestry-jpa+guide/"; rel="nofollow">Tynamo JPA 
module</a>.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1741544020730 {padding: 0px;}
-div.rbtoc1741544020730 ul {margin-left: 0px;}
-div.rbtoc1741544020730 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630422813 {padding: 0px;}
+div.rbtoc1741630422813 ul {margin-left: 0px;}
+div.rbtoc1741630422813 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1741544020730">
+/*]]>*/</style></p><div class="toc-macro rbtoc1741630422813">
 <ul class="toc-indentation"><li><a 
href="#IntegratingwithJPA-Downloading">Downloading</a>
 <ul class="toc-indentation"><li><a 
href="#IntegratingwithJPA-SelectingaJPAImplementation">Selecting a JPA 
Implementation</a></li></ul>
 </li><li><a href="#IntegratingwithJPA-ConfiguringJPA">Configuring JPA</a>

Modified: 
websites/production/tapestry/content/integrating-with-spring-framework.html
==============================================================================
--- websites/production/tapestry/content/integrating-with-spring-framework.html 
(original)
+++ websites/production/tapestry/content/integrating-with-spring-framework.html 
Mon Mar 10 18:18:17 2025
@@ -190,11 +190,11 @@
 
 
 <p>For integrating Spring Security into your application, see <a 
href="security.html">Security</a>.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1741544026964 {padding: 0px;}
-div.rbtoc1741544026964 ul {margin-left: 0px;}
-div.rbtoc1741544026964 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630429035 {padding: 0px;}
+div.rbtoc1741630429035 ul {margin-left: 0px;}
+div.rbtoc1741630429035 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1741544026964">
+/*]]>*/</style></p><div class="toc-macro rbtoc1741630429035">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a href="#IntegratingwithSpringFramework-SpringVersion">Spring 
Version</a></li><li><a href="#IntegratingwithSpringFramework-Usage">Usage</a>
 <ul class="toc-indentation"><li><a 
href="#IntegratingwithSpringFramework-Requireddependency">Required 
dependency</a></li><li><a 
href="#IntegratingwithSpringFramework-Updateyourweb.xmlfile">Update your 
web.xml file</a></li><li><a 
href="#IntegratingwithSpringFramework-AccessingtheSpringApplicationContext">Accessing
 the Spring Application Context</a></li><li><a 
href="#IntegratingwithSpringFramework-Injectingbeans">Injecting 
beans</a></li><li><a 
href="#IntegratingwithSpringFramework-InjectingTapestryservicesinSpringbeans">Injecting
 Tapestry services in Spring beans</a></li></ul>

Modified: 
websites/production/tapestry/content/integration-with-existing-applications.html
==============================================================================
--- 
websites/production/tapestry/content/integration-with-existing-applications.html
 (original)
+++ 
websites/production/tapestry/content/integration-with-existing-applications.html
 Mon Mar 10 18:18:17 2025
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 
id="Integrationwithexistingapplications-Integrationwithexistingapplications">Integration
 with existing applications</h1><h2 
id="Integrationwithexistingapplications-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1741544214055 {padding: 0px;}
-div.rbtoc1741544214055 ul {margin-left: 0px;}
-div.rbtoc1741544214055 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630618379 {padding: 0px;}
+div.rbtoc1741630618379 ul {margin-left: 0px;}
+div.rbtoc1741630618379 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1741544214055">
+/*]]>*/</style></p><div class="toc-macro rbtoc1741630618379">
 <ul class="toc-indentation"><li><a 
href="#Integrationwithexistingapplications-HowdoImakeaformonaJSPsubmitintoTapestry?">How
 do I make a form on a JSP submit into Tapestry?</a></li><li><a 
href="#Integrationwithexistingapplications-HowdoIshareinformationbetweenaJSPapplicationandtheTapestryapplication?">How
 do I share information between a JSP application and the Tapestry 
application?</a></li><li><a 
href="#Integrationwithexistingapplications-HowdoIputtheTapestryapplicationinsideafolder,toavoidconflicts?">How
 do I put the Tapestry application inside a folder, to avoid 
conflicts?</a></li></ul>
 </div><p>You may have an existing JSP (or Struts, Spring MVC, etc.) 
application that you want to migrate to Tapestry. It's quite common to do this 
in stages, moving some functionality into Tapestry and leaving other parts, 
initially, in the other system. <a href="request-processing-faq.html">You may 
need to prevent Tapestry from handling certain requests</a>.</p><h2 
id="Integrationwithexistingapplications-HowdoImakeaformonaJSPsubmitintoTapestry?">How
 do I make a form on a JSP submit into Tapestry?</h2><p>Tapestry's Form 
component does a lot of work while an HTML form is rendering to store all the 
information needed to handle the form submission in a later request; this is 
all very specific to Tapestry and the particular construction of your pages and 
forms; it can't be reproduced from a JSP.</p><p>Fortunately, that isn't 
necessary: you can have a standard HTML Form submit to a Tapestry page, you 
just don't get to use all of Tapestry's built in conversion and validation 
logic.</p><p>
 All you need to know is how Tapestry converts page class names to page names 
(that appear in the URL). It's basically a matter of stripping off the 
<em>root-package</em>.<code>pages</code> prefix from the fully qualified class 
name. So, for example, if you are building a login screen as a JSP, you might 
want to have a Tapestry page to receive the user name and password. Let's 
assume the Tapestry page class is 
<code>com.example.myapp.pages.LoginForm</code>; the page name will be 
<code>loginform (although, since&#160;</code><span>Tapestry is case 
insensitive, LoginForm would work just as well)</span><span>, and the URL will 
be </span><code>/loginform</code><span>.</span></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>LoginForm.tml</b></div><div 
class="codeContent panelContent pdl">
 <pre><code class="language-xml">&lt;form method="post" action="/loginform"&gt;

Modified: websites/production/tapestry/content/javascript-faq.html
==============================================================================
--- websites/production/tapestry/content/javascript-faq.html (original)
+++ websites/production/tapestry/content/javascript-faq.html Mon Mar 10 
18:18:17 2025
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 
id="JavaScriptFAQ-JavaScript">JavaScript</h1><p>Main articles: <a 
href="client-side-javascript.html">Client-Side JavaScript</a>, <a 
href="legacy-javascript.html">Legacy JavaScript</a></p><h2 
id="JavaScriptFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1741544216173 {padding: 0px;}
-div.rbtoc1741544216173 ul {margin-left: 0px;}
-div.rbtoc1741544216173 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630620262 {padding: 0px;}
+div.rbtoc1741630620262 ul {margin-left: 0px;}
+div.rbtoc1741630620262 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1741544216173">
+/*]]>*/</style></p><div class="toc-macro rbtoc1741630620262">
 <ul class="toc-indentation"><li><a 
href="#JavaScriptFAQ-WhydoIgeta&quot;Tapestryisundefined&quot;erroronformsubmit?(5.3andearlier)">Why
 do I get a "Tapestry is undefined" error on form submit? (5.3 and 
earlier)</a></li><li><a 
href="#JavaScriptFAQ-What'sthedifferencebetweentheT5objectandtheTapestryobjectinthebrowser?(5.3andearlier)">What's
 the difference between the T5 object and the Tapestry object in the browser? 
(5.3 and earlier)</a></li></ul>
 </div><h2 
id="JavaScriptFAQ-WhydoIgeta&quot;Tapestryisundefined&quot;erroronformsubmit?(5.3andearlier)">Why
 do I get a "Tapestry is undefined" error on form submit? (5.3 and 
earlier)</h2><p>This client-side error is clear but can be awkward to solve. It 
means your browser has not been able to load the tapestry.js file properly. The 
question is, why? It can be due to multiple reasons, some of them 
below:</p><ul><li>First, check if 'tapestry.js' is present in the head part of 
your resulting HTML page.</li><li><p>If you have set the <a 
href="configuration.html">tapestry.combine-scripts</a> configuration symbol to 
true, Tapestry generates one single URL to retrieve all the JS files. 
Sometimes, this can produce long URLs that browsers are unable to retrieve. Try 
setting the symbol to false.</p><div class="confluence-information-macro 
confluence-information-macro-note"><span class="aui-icon aui-icon-small 
aui-iconfont-warning confluence-information-macro-icon"></span><div 
class="confluenc
 e-information-macro-body"><p>This only applies to Tapestry 
5.1.</p></div></div></li><li>If you have included jQuery in conjunction with 
Tapestry's prototype, that will cause a conflict with the '$' selector used by 
both. In this case, you should put jQuery on top of the stack and turn on the 
<a class="external-link" href="http://api.jquery.com/jQuery.noConflict/"; 
rel="nofollow">jQuery.noConflict</a> mode.</li><li>Also, if you have included a 
custom or third-party JS library on top of the stack that causes the JavaScript 
parsing to fail, then check the JavaScript syntax in that library.</li><li>If 
you have used a tool to minimize your JavaScript libraries, this can lead to 
JavaScript syntax errors, so check if it works with all the JavaScript files 
unpacked.</li></ul><h2 
id="JavaScriptFAQ-What'sthedifferencebetweentheT5objectandtheTapestryobjectinthebrowser?(5.3andearlier)">What's
 the difference between the <code>T5</code> object and the 
<code>Tapestry</code> object in the browser? (
 5.3 and earlier)</h2><p>Both of these objects are <em>namespaces</em>: 
containers of functions, constants, and nested namespaces.</p><p>The 
<code>T5</code> object is a replacement for the <code>Tapestry</code> object, 
starting in release 5.3. Increasingly, functions defined by the 
<code>Tapestry</code> object are being replaced with similar or equivalent 
functions in the <code>T5</code> object.</p><p>This is part of an overall goal, 
spanning at least two releases of Tapestry, to make Tapestry JavaScript 
framework agnostic; which is to say, not depend specifically on Prototype or 
jQuery. Much of the code in the <code>Tapestry</code> object is specifically 
linked to Prototype and Scriptaculous.</p><p>The <code>T5</code> object 
represents a stable, documented, set of APIs that are preferred when building 
components for maximum portability between underlying JavaScript frameworks. In 
other words, when building component libraries, coding to the <code>T5</code> 
object ensures that your c
 omponent will be useful regardless of whether the final application is built 
using Prototype, jQuery or something else.</p></div>
             </div>

Modified: websites/production/tapestry/content/javascript-rewrite-in-54.html
==============================================================================
--- websites/production/tapestry/content/javascript-rewrite-in-54.html 
(original)
+++ websites/production/tapestry/content/javascript-rewrite-in-54.html Mon Mar 
10 18:18:17 2025
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This is a historical document in 
which Tapestry's Howard Lewis Ship describes the motivations and plan for 
significantly changing Tapestry's client-side functionality starting in 
Tapestry 5.4. This plan closely matches the actual results delivered in 
Tapestry 5.4, but this document is mostly kept for historical 
reference.</p></div></div><h2 
id="JavaScriptRewritein5.4-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1741544024833 {padding: 0px;}
-div.rbtoc1741544024833 ul {margin-left: 0px;}
-div.rbtoc1741544024833 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630426978 {padding: 0px;}
+div.rbtoc1741630426978 ul {margin-left: 0px;}
+div.rbtoc1741630426978 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1741544024833">
+/*]]>*/</style></p><div class="toc-macro rbtoc1741630426978">
 <ul class="toc-indentation"><li><a 
href="#JavaScriptRewritein5.4-TapestryandJavaScript">Tapestry and 
JavaScript</a></li><li><a 
href="#JavaScriptRewritein5.4-TapestryJavaScriptLimitations(through5.3)">Tapestry
 JavaScript Limitations (through 5.3)</a>
 <ul class="toc-indentation"><li><a 
href="#JavaScriptRewritein5.4-DependenceonPrototype/Scriptaculous">Dependence 
on Prototype/Scriptaculous</a></li><li><a 
href="#JavaScriptRewritein5.4-LackofDocumentation">Lack of 
Documentation</a></li><li><a 
href="#JavaScriptRewritein5.4-LackofModuleStructure">Lack of Module 
Structure</a></li><li><a 
href="#JavaScriptRewritein5.4-ComplexInitialization">Complex 
Initialization</a></li></ul>
 </li><li><a 
href="#JavaScriptRewritein5.4-JavaScriptImprovementsfor5.4">JavaScript 
Improvements for 5.4</a>

Modified: websites/production/tapestry/content/limitations.html
==============================================================================
--- websites/production/tapestry/content/limitations.html (original)
+++ websites/production/tapestry/content/limitations.html Mon Mar 10 18:18:17 
2025
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 
id="Limitations-Limitations">Limitations</h1><h2 
id="Limitations-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1741544069366 {padding: 0px;}
-div.rbtoc1741544069366 ul {margin-left: 0px;}
-div.rbtoc1741544069366 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630472170 {padding: 0px;}
+div.rbtoc1741630472170 ul {margin-left: 0px;}
+div.rbtoc1741630472170 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1741544069366">
+/*]]>*/</style></p><div class="toc-macro rbtoc1741630472170">
 <ul class="toc-indentation"><li><a 
href="#Limitations-HowdoIaddnewcomponentstoanexistingpagedynamically?">How do I 
add new components to an existing page dynamically?</a></li><li><a 
href="#Limitations-Whydoesn'tmyserviceimplementationreloadwhenIchangeit?">Why 
doesn't my service implementation reload when I change it?</a></li><li><a 
href="#Limitations-HowdoIrunmultipleTapestryapplicationsinthesamewebapplication?">How
 do I run multiple Tapestry applications in the same web 
application?</a></li></ul>
 </div><h2 
id="Limitations-HowdoIaddnewcomponentstoanexistingpagedynamically?">How do I 
add new components to an existing page dynamically?</h2><p>The short answer 
here is: <strong>you don't</strong>. The long answer here is <strong>you don't 
have to, to get the behavior you desire</strong>.</p><p>One of Tapestry basic 
values is high scalability: this is expressed in a number of ways, reflecting 
scalability concerns within a single server, and within a cluster of 
servers.</p><p>Although you code Tapestry pages and components as if they were 
ordinary POJOs (<span>Plain Old Java Objects -- Tapestry does not require you 
to extend any base classes or implement any special interfaces)</span><span>, 
as deployed by Tapestry they are closer to a traditional servlet: a single 
instance of each page services requests from multiple threads. Behind the 
scenes, Tapestry transforms you code, rewriting it on the 
fly.</span></p><p>What this means is that <em>any</em> incoming request must be 
handled 
 by a <em>single page instance</em>. Therefore, Tapestry enforces the concept 
of <strong>static structure, dynamic behavior</strong>.</p><p>Tapestry provides 
quite a number of ways to vary what content is rendered, well beyond simple 
conditionals and loops. It is possible to "drag in" components from other pages 
when rendering a page (other FAQs will expand on this concept). The point is, 
that although a Tapestry page's structure is very rigid, the order in which the 
components of the page render does not have to be top to bottom.</p><h2 
id="Limitations-Whydoesn'tmyserviceimplementationreloadwhenIchangeit?">Why 
doesn't my service implementation reload when I change it?</h2><p>Main article: 
<a href="service-implementation-reloading.html">Service Implementation 
Reloading</a></p><p>Live service reloading has some limitations:</p><ul><li>The 
service must define a service interface.</li><li>The service implementation 
must be on the file system (not inside a JAR).</li><li>The implementatio
 n must be instantiated by Tapestry, not inside code (even code inside a module 
class).</li><li>The service must use the default <a 
href="limitations.html">scope</a> (reloading of perthread scopes is not 
supported).</li></ul><p>Consider the following example module:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <pre><code class="language-java">public static void bind(ServiceBinder binder)

Modified: websites/production/tapestry/content/link-components-faq.html
==============================================================================
--- websites/production/tapestry/content/link-components-faq.html (original)
+++ websites/production/tapestry/content/link-components-faq.html Mon Mar 10 
18:18:17 2025
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 
id="LinkComponentsFAQ-LinkComponents">Link Components</h1><p>Main Articles: <a 
href="page-navigation.html">Page Navigation</a>, <a 
href="component-parameters.html">Component Parameters</a></p><h2 
id="LinkComponentsFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1741544033420 {padding: 0px;}
-div.rbtoc1741544033420 ul {margin-left: 0px;}
-div.rbtoc1741544033420 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630435539 {padding: 0px;}
+div.rbtoc1741630435539 ul {margin-left: 0px;}
+div.rbtoc1741630435539 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1741544033420">
+/*]]>*/</style></p><div class="toc-macro rbtoc1741630435539">
 <ul class="toc-indentation"><li><a 
href="#LinkComponentsFAQ-HowdoIaddqueryparameterstoaPageLinkorActionLink?">How 
do I add query parameters to a PageLink or ActionLink?</a></li><li><a 
href="#LinkComponentsFAQ-HowdoIcreateaLinkbacktothecurrentpagefromacomponent?">How
 do I create a Link back to the current page from a component?</a></li></ul>
 </div><h2 
id="LinkComponentsFAQ-HowdoIaddqueryparameterstoaPageLinkorActionLink?">How do 
I add query parameters to a PageLink or ActionLink?</h2><p>These components do 
not have parameters to allow you to specify query parameters for the link; they 
both allow you to specify a <em>context</em> (one or more values to encode into 
the request path).</p><p>However, you can accomplish the same thing with a 
little code and markup. For example, to create a link to another page and pass 
a query parameter, you can replace your PageLink component with a standard 
<code>&lt;a&gt;</code> tag:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <pre><code class="language-xml">&lt;a href="${profilePageLink}"&gt;Display 
Profile (w/ full details)&lt;/a&gt;

Modified: websites/production/tapestry/content/maven-support-faq.html
==============================================================================
--- websites/production/tapestry/content/maven-support-faq.html (original)
+++ websites/production/tapestry/content/maven-support-faq.html Mon Mar 10 
18:18:17 2025
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 
id="MavenSupportFAQ-MavenSupport">Maven Support</h1><h2 
id="MavenSupportFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1741544182858 {padding: 0px;}
-div.rbtoc1741544182858 ul {margin-left: 0px;}
-div.rbtoc1741544182858 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630587502 {padding: 0px;}
+div.rbtoc1741630587502 ul {margin-left: 0px;}
+div.rbtoc1741630587502 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1741544182858">
+/*]]>*/</style></p><div class="toc-macro rbtoc1741630587502">
 <ul class="toc-indentation"><li><a 
href="#MavenSupportFAQ-WhydoMavenprojectnamesandotherdetailsshowupinmypages?">Why
 do Maven project names and other details show up in my pages?</a></li></ul>
 </div><h2 
id="MavenSupportFAQ-WhydoMavenprojectnamesandotherdetailsshowupinmypages?">Why 
do Maven project names and other details show up in my pages?</h2><p>Tapestry 
and maven both use the same syntax for dynamic portions of files: the 
<code>${...</code>} syntax. When Maven is copying resources from 
<code>src/main/resources</code>, and when filtering is <em>enabled</em> (which 
is not the default), then any expansions in <em>Tapestry templates</em> that 
match against Maven project properties are substituted. If you look at the 
deployed application you'll see that <code>${name</code>} is gone, replaced 
with your project's name!</p><p>The solution is to update your 
<code>pom.xml</code> and ignore any .tml files when copying and 
filtering:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>pom.xml 
(partial)</b></div><div class="codeContent panelContent pdl">
 <pre><code class="language-xml">  &lt;resource&gt;

Modified: 
websites/production/tapestry/content/page-and-component-classes-faq.html
==============================================================================
--- websites/production/tapestry/content/page-and-component-classes-faq.html 
(original)
+++ websites/production/tapestry/content/page-and-component-classes-faq.html 
Mon Mar 10 18:18:17 2025
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 
id="PageAndComponentClassesFAQ-PageAndComponentClasses">Page And Component 
Classes</h1><p>Main article: <a href="component-classes.html">Component 
Classes</a></p><h2 
id="PageAndComponentClassesFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1741543965415 {padding: 0px;}
-div.rbtoc1741543965415 ul {margin-left: 0px;}
-div.rbtoc1741543965415 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630366589 {padding: 0px;}
+div.rbtoc1741630366589 ul {margin-left: 0px;}
+div.rbtoc1741630366589 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1741543965415">
+/*]]>*/</style></p><div class="toc-macro rbtoc1741630366589">
 <ul class="toc-indentation"><li><a 
href="#PageAndComponentClassesFAQ-What'sthedifferencebetweenapageandacomponent?">What's
 the difference between a page and a component?</a></li><li><a 
href="#PageAndComponentClassesFAQ-HowdoIstoremypageclassesinadifferentpackage?">How
 do I store my page classes in a different package?</a></li><li><a 
href="#PageAndComponentClassesFAQ-Whydomyinstancevariableshavetobeprivate?">Why 
do my instance variables have to be private?</a></li><li><a 
href="#PageAndComponentClassesFAQ-Whydon'tmyinformalparametersshowupintherenderedmarkup?">Why
 don't my informal parameters show up in the rendered markup?</a></li><li><a 
href="#PageAndComponentClassesFAQ-WhydoIgetjava.lang.LinkageErrorwhenIinvokepublicmethodsofmypageclasses?">Why
 do I get java.lang.LinkageError when I invoke public methods of my page 
classes?</a></li><li><a 
href="#PageAndComponentClassesFAQ-Whichisbetter,usingmagicmethodnames(i.e.,beginRender())orannotations(i.e.BeginRender)?">Which
 is better, using 
 magic method names (i.e., beginRender()) or annotations (i.e. 
BeginRender)?</a></li><li><a 
href="#PageAndComponentClassesFAQ-WhydoIhavetoinjectapage?Whycan'tIjustcreateoneusingnew?">Why
 do I have to inject a page? Why can't I just create one using 
new?</a></li></ul>
 </div><h2 
id="PageAndComponentClassesFAQ-What'sthedifferencebetweenapageandacomponent?">What's
 the difference between a page and a component?</h2><p>There's very little 
difference between the two. Pages classes must be in the 
<em>root-package</em>.<code>pages</code> package; components must be in the 
<em>root-package</em>.<code>components</code>. Pages may provide event handlers 
for certain page-specific events (such as activate and passivate). Components 
may have parameters.</p><p>Other than that, they are more equal than they are 
different. They may have templates or may render themselves in code (pages 
usually have a template, components are more likely to render only in 
code).</p><p>The major difference is that Tapestry page templates may be stored 
in the web context directory, as if they were static files (they can't be 
accessed from the client however; a specific rule prevents access to files with 
the <code>.tml</code> extension).</p><div class="confluence-information-macro co
 nfluence-information-macro-warning"><span class="aui-icon aui-icon-small 
aui-iconfont-error confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>It is possible that this feature 
may be removed in a later release. It is preferred that page templates be 
stored on the classpath, like component templates.</p></div></div><h2 
id="PageAndComponentClassesFAQ-HowdoIstoremypageclassesinadifferentpackage?">How
 do I store my page classes in a different package?</h2><p>Tapestry is very 
rigid here; you can't. Page classes must go in 
<em>root-package</em>.<code>pages</code>, component classes in 
<em>root-package</em>.<code>components</code>, etc.</p><p>You are allowed to 
create sub-packages, to help organize your code better and more logically. For 
example, you might have 
<em>root-package</em>.<code>pages.account.ViewAccount</code>, which would have 
the page name "account/viewaccount". (<span>Tapestry would also create an alias 
"account/view", by stripping of
 f the redundant "account" suffix. Either name is equally valid in your code, 
and Tapestry will use the shorter name, "account/view" in 
URLs.)</span></p><p>In addition, it is possible to define additional root 
packages for the application:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre><code class="language-java">public static void 
contributeComponentClassResolver(Configuration&lt;LibraryMapping&gt; 
configuration) {
@@ -194,13 +194,13 @@ public class DBImage
 
 
 
-<span class="gliffy-container" id="gliffy-container-23527573-3859" 
data-fullwidth="750" data-size="L" data-ceoid="23335008" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" data-filename="Class Loaders">
+<span class="gliffy-container" id="gliffy-container-23527573-9049" 
data-fullwidth="750" data-size="L" data-ceoid="23335008" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" data-filename="Class Loaders">
 
-    <map id="gliffy-map-23527573-5080" name="gliffy-map-23527573-5080"></map>
+    <map id="gliffy-map-23527573-7195" name="gliffy-map-23527573-7195"></map>
 
-    <img class="gliffy-image" id="gliffy-image-23527573-3859" width="750" 
height="425" data-full-width="750" data-full-height="425" 
src="https://cwiki.apache.org/confluence/download/attachments/23335008/Class%20Loaders.png?version=4&amp;modificationDate=1283534469000&amp;api=v2";
 alt="Class Loaders" usemap="#gliffy-map-23527573-5080">
+    <img class="gliffy-image" id="gliffy-image-23527573-9049" width="750" 
height="425" data-full-width="750" data-full-height="425" 
src="https://cwiki.apache.org/confluence/download/attachments/23335008/Class%20Loaders.png?version=4&amp;modificationDate=1283534469000&amp;api=v2";
 alt="Class Loaders" usemap="#gliffy-map-23527573-7195">
 
-    <map class="gliffy-dynamic" id="gliffy-dynamic-map-23527573-3859" 
name="gliffy-dynamic-map-23527573-3859"></map>
+    <map class="gliffy-dynamic" id="gliffy-dynamic-map-23527573-9049" 
name="gliffy-dynamic-map-23527573-9049"></map>
 </span>
 
 </p><p>In a Tapestry application, most application classes are loaded from the 
middle class loader. Additional class loaders are used to support live service 
reloading, and live component reloading (along with component class 
transformation).</p><p>When a page or component is passed as a parameter to a 
service, a failure occurs (how it is reported varies in different JDK releases) 
because of the class mismatch.</p><p>The solution is to define an interface 
with the methods that the service will invoke on the page or component 
instance. The service will expect an object implementing the interface (and 
doesn't care what class loader loaded the implementing class).</p><p>Just be 
sure to put the interface class in a non-controlled package, such as your 
application's <em>root-package</em> (and <strong>not</strong> 
<em>root-package</em>.<code>pages</code>).</p><h2 
id="PageAndComponentClassesFAQ-Whichisbetter,usingmagicmethodnames(i.e.,beginRender())orannotations(i.e.BeginRender)?">Which
 is
  better, using magic method names (i.e., <code>beginRender()</code>) or 
annotations (i.e. <code>BeginRender</code>)?</h2><p>There is no single best 
way; this is where your taste may vary. Historically, the annotations came 
first, and the method naming conventions came later.</p><p>The advantage of 
using the method naming conventions is that the method names are more concise, 
which fewer characters to type, and fewer classes to import.</p><p>The main 
disadvantage of the method naming conventions is that the method names are not 
meaningful. <code>onSuccessFromLoginForm()</code> is a less meaningful name 
than <code>storeUserCredentialsAndReturnToProductsPage()</code>, for 
example.</p><p>The second disadvantage is you are more susceptible to 
off-by-a-character errors. For example, <code>onSucessFromLoginForm()</code> 
will <em>never</em> be called because the event name is misspelled; this would 
not happen using the annotation approach:</p><div class="code panel pdl" 
style="border-width:
  1px;"><div class="codeContent panelContent pdl">

Modified: websites/production/tapestry/content/page-navigation.html
==============================================================================
--- websites/production/tapestry/content/page-navigation.html (original)
+++ websites/production/tapestry/content/page-navigation.html Mon Mar 10 
18:18:17 2025
@@ -244,11 +244,11 @@
 
 
 <p>In essence, a Tapestry application is a number of related pages, working 
together. To some degree, each page is like an application unto 
itself.</p><p>Any individual request will be targeted at a single page. 
Requests come in two forms:&#160;</p><ul><li><em>component event</em> requests 
target a specific component on a specific page, triggering an event within that 
component</li><li><em>render</em> requests target a specific page, and stream 
the HTML markup for that page back to the client</li></ul><p>This dichotomy 
between component event requests and render requests alleviates a number of 
problems in traditional web applications related to the browser back button, or 
to the user hitting the refresh button in their browser.</p><h3 
id="PageNavigation-Contents">Contents</h3><h2 
id="PageNavigation-Contents|RelatedArticlesLogicalPageNameShortening"><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1741544252297 {padding: 0px;}
-div.rbtoc1741544252297 ul {margin-left: 0px;}
-div.rbtoc1741544252297 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630657245 {padding: 0px;}
+div.rbtoc1741630657245 ul {margin-left: 0px;}
+div.rbtoc1741630657245 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></h2><div class="toc-macro rbtoc1741544252297">
+/*]]>*/</style></h2><div class="toc-macro rbtoc1741630657245">
 <ul class="toc-indentation"><li><a 
href="#PageNavigation-Contents|RelatedArticlesLogicalPageNameShortening">Logical
 Page Name Shortening</a></li><li><a 
href="#PageNavigation-ComponentEventRequests&amp;Responses">Component Event 
Requests &amp; Responses</a>
 <ul class="toc-indentation"><li><a href="#PageNavigation-1.Nullresponse">1. 
Null response</a></li><li><a href="#PageNavigation-2.Stringresponse">2. String 
response</a></li><li><a href="#PageNavigation-3.Classresponse">3. Class 
response</a></li><li><a href="#PageNavigation-4.Pageresponse">4. Page 
response</a></li><li><a href="#PageNavigation-5.HttpError">5. 
HttpError</a></li><li><a href="#PageNavigation-6.Linkresponse">6. Link 
response</a></li><li><a href="#PageNavigation-7.Streamresponse">7. Stream 
response</a></li><li><a href="#PageNavigation-8.URLresponse">8. URL 
response</a></li><li><a href="#PageNavigation-9.Objectresponse">9. Object 
response</a></li></ul>
 </li><li><a href="#PageNavigation-PageRenderRequests">Page Render 
Requests</a></li><li><a href="#PageNavigation-PageActivation">Page 
Activation</a></li><li><a href="#PageNavigation-PageNavigationPatterns">Page 
Navigation Patterns</a>

Modified: websites/production/tapestry/content/release-notes-50.html
==============================================================================
--- websites/production/tapestry/content/release-notes-50.html (original)
+++ websites/production/tapestry/content/release-notes-50.html Mon Mar 10 
18:18:17 2025
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><p>This is the 
consolidated list of changes between Tapestry versions 5.0.3 and 5.0.19. Before 
upgrading, be sure to review the&#160;<a href="how-to-upgrade.html">How to 
Upgrade</a> instructions.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1741544005164 {padding: 0px;}
-div.rbtoc1741544005164 ul {margin-left: 0px;padding-left: 5px;}
-div.rbtoc1741544005164 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630407012 {padding: 0px;}
+div.rbtoc1741630407012 ul {margin-left: 0px;padding-left: 5px;}
+div.rbtoc1741630407012 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1741544005164">
+/*]]>*/</style></p><div class="toc-macro rbtoc1741630407012">
 <ul class="toc-indentation"><li><a 
href="#ReleaseNotes5.0-TapestryVersion5.0.19">Tapestry Version 
5.0.19</a></li><li><a href="#ReleaseNotes5.0-TapestryVersion5.0.18">Tapestry 
Version 5.0.18</a></li><li><a 
href="#ReleaseNotes5.0-TapestryVersion5.0.17">Tapestry Version 
5.0.17</a></li><li><a href="#ReleaseNotes5.0-TapestryVersion5.0.16">Tapestry 
Version 5.0.16</a></li><li><a 
href="#ReleaseNotes5.0-TapestryVersion5.0.15">Tapestry Version 
5.0.15</a></li><li><a href="#ReleaseNotes5.0-TapestryVersion5.0.14">Tapestry 
Version 5.0.14</a></li><li><a 
href="#ReleaseNotes5.0-TapestryVersion5.0.13">Tapestry Version 
5.0.13</a></li><li><a href="#ReleaseNotes5.0-TapestryVersion5.0.12">Tapestry 
Version 5.0.12</a></li><li><a 
href="#ReleaseNotes5.0-TapestryVersion5.0.11">Tapestry Version 
5.0.11</a></li><li><a href="#ReleaseNotes5.0-TapestryVersion5.0.10">Tapestry 
Version 5.0.10</a></li><li><a 
href="#ReleaseNotes5.0-TapestryVersion5.0.9">Tapestry Version 
5.0.9</a></li><li><a href="#ReleaseNotes5.0-Tapest
 ryVersion5.0.8">Tapestry Version 5.0.8</a></li><li><a 
href="#ReleaseNotes5.0-TapestryVersion5.0.7">Tapestry Version 
5.0.7</a></li><li><a href="#ReleaseNotes5.0-TapestryVersion5.0.6">Tapestry 
Version 5.0.6</a></li><li><a 
href="#ReleaseNotes5.0-TapestryVersion5.0.5">Tapestry Version 
5.0.5</a></li><li><a href="#ReleaseNotes5.0-TapestryVersion5.0.4">Tapestry 
Version 5.0.4</a></li><li><a 
href="#ReleaseNotes5.0-TapestryVersion5.0.3">Tapestry Version 
5.0.3</a></li></ul>

[... 3 lines stripped ...]
Modified: websites/production/tapestry/content/release-notes-51.html
==============================================================================
--- websites/production/tapestry/content/release-notes-51.html (original)
+++ websites/production/tapestry/content/release-notes-51.html Mon Mar 10 
18:18:17 2025
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><p 
class="confluence-link">This is the consolidated list of changes between 
Tapestry versions 5.0 and 5.1. Before upgrading, be sure to review the&#160;<a 
href="how-to-upgrade.html">How to Upgrade</a> 
instructions.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1741544014833 {padding: 0px;}
-div.rbtoc1741544014833 ul {margin-left: 0px;}
-div.rbtoc1741544014833 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1741630416812 {padding: 0px;}
+div.rbtoc1741630416812 ul {margin-left: 0px;}
+div.rbtoc1741630416812 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1741544014833">
+/*]]>*/</style></p><div class="toc-macro rbtoc1741630416812">
 <ul class="toc-indentation"><li><a 
href="#ReleaseNotes5.1-TapestryVersion5.1.0.5">Tapestry Version 
5.1.0.5</a></li><li><a href="#ReleaseNotes5.1-TapestryVersion5.1.0.4">Tapestry 
Version 5.1.0.4</a></li><li><a 
href="#ReleaseNotes5.1-TapestryVersion5.1.0.3">Tapestry Version 
5.1.0.3</a></li><li><a href="#ReleaseNotes5.1-TapestryVersion5.1.0.2">Tapestry 
Version 5.1.0.2</a></li><li><a 
href="#ReleaseNotes5.1-TapestryVersion5.1.0.1">Tapestry Version 
5.1.0.1</a></li><li><a href="#ReleaseNotes5.1-TapestryVersion5.1.0.0">Tapestry 
Version 5.1.0.0</a></li></ul>
 </div><h2 id="ReleaseNotes5.1-TapestryVersion5.1.0.5">Tapestry Version 
5.1.0.5</h2><h3 id="ReleaseNotes5.1-BugsFixed">Bugs Fixed</h3><ul><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-604";>TAP5-604</a> &#8211; 
ValidationMessages_da.properties contains invalid format strings</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-664";>TAP5-664</a> &#8211; 
Incorrect "legacy" URI specified in the templates documentation</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-665";>TAP5-665</a> &#8211; IE 6 
on a tapestry SSL page complains about non-secure items (caused by blackbird 
js-logging component)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-666";>TAP5-666</a> &#8211; 
Property expression can not pass a boolean constant into a method</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-668";>TAP5-668</a> &#8211; 
BeanModel documentation s
 hould be more clear that a property must exist when using 
add(String).</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-670";>TAP5-670</a> &#8211; 
ParallelExecutorTest can't be compiled due to cast errors</li></ul><h3 
id="ReleaseNotes5.1-ImprovementsMade">Improvements Made</h3><ul><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-214";>TAP5-214</a> &#8211; 
Document use of asset: and context: to reference assets directly from a 
template file</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-506";>TAP5-506</a> &#8211; 
Italian localization for DateField component</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-531";>TAP5-531</a> &#8211; Add 
cookbook documentation to show how to use the delegate component for 
switch-like behaviour</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-579";>TAP5-579</a> &#8211; 
Finnish internationalization 
 is missing some of the keys in 5.1</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-651";>TAP5-651</a> &#8211; If 
component documentation: identify the use of the p: namespace</li></ul><h3 
id="ReleaseNotes5.1-NewFeaturesAdded">New Features Added</h3><ul><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-223";>TAP5-223</a> &#8211; 
Allow properties files (on classpath or in the context) to be used as 
SymbolProviders</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-580";>TAP5-580</a> &#8211; Add 
get() method to TestBase to allow read access to private fields of objects via 
reflection</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-601";>TAP5-601</a> &#8211; Add 
German translation for client-side JavaScript messages</li></ul><h2 
id="ReleaseNotes5.1-TapestryVersion5.1.0.4">Tapestry Version 5.1.0.4</h2><h3 
id="ReleaseNotes5.1-BugsFixed.1">Bugs Fixed</h3><ul><li><a cla
 ss="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-130";>TAP5-130</a> &#8211; 
Tapestry component report fails if the project's path name contains 
spaces</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-353";>TAP5-353</a> &#8211; 
Description of volatile parameter for the Grid component is misleading, should 
be clear that application is responsible for the tracking the row</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-500";>TAP5-500</a> &#8211; 
Small typo in javadoc comments for Cookies service.</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-501";>TAP5-501</a> &#8211; In 
the Component interface javadoc the sentence "This interface is likely to 
change without notice." should be deleted or the interface be moved to an 
internal package</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-524";>TAP5-524</a> &#8211; 
Published parameters exposed fr
 om embedded components not included in Component Reference</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-571";>TAP5-571</a> &#8211; 
Misplaced &lt;t:parameter&gt; results in an inscrutable exception</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-613";>TAP5-613</a> &#8211; 
Returning a Link to a secure page from an ajax event handler method causes the 
redirect to be invalid if the event is sent from an insecure page</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-622";>TAP5-622</a> &#8211; 
Client ids should not contain the ':' character, as that can confuse 
WebKit-based browsers</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-631";>TAP5-631</a> &#8211; 
Contributed ApplicationInitializer not always executed when using 
tapestry-spring</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-640";>TAP5-640</a> &#8211; DOM 
manipulati
 on during rendering can NPE</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-641";>TAP5-641</a> &#8211; 
Inherited parameters that are themselves inherited will appear null</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-644";>TAP5-644</a> &#8211; When 
using PageTester, an exception in the page is hidden by an exception rendering 
the exception report page (pt. 2)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-646";>TAP5-646</a> &#8211; When 
Tapestry is combining JavaScript files, it should check for a JS file that ends 
with an unterminated comment, and add the comment terminator</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-647";>TAP5-647</a> &#8211; 
Quickstart archetype should not include the tapestry-test dependency, as the 
Jetty embedded inside Selenium gets in the way of RunJettyRun inside 
Eclipse</li><li><a class="external-link" href="https://issu
 es.apache.org/jira/browse/TAP5-648">TAP5-648</a> &#8211; Tapestry should be 
more careful about where, inside the &lt;head&gt;, it adds new 
elements</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-649";>TAP5-649</a> &#8211; 
Forms containing loop components which contain no form elements still encode 
into t:formdata hidden field</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-652";>TAP5-652</a> &#8211; 
Script tag is missing required attribute type</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-653";>TAP5-653</a> &#8211; 
Appending a context to an URL of the Index page results in too many 
slashes</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-659";>TAP5-659</a> &#8211; In 
some servlet containers, access to virtual assets can result in a GZIP-related 
exception</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-660";>TAP5-660</
 a> &#8211; Type coercion from String to DateFormat will always coerce using 
the server's default locale, rather than the current per-thread 
locale</li></ul><h3 id="ReleaseNotes5.1-ImprovementsMade.1">Improvements 
Made</h3><ul><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-274";>TAP5-274</a> &#8211; 
Application State Object is a misleading term; rename @ApplicationState to 
@SessionState</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-612";>TAP5-612</a> &#8211; 
URLRewriting should distinguish between incoming and outgoing 
requests</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-629";>TAP5-629</a> &#8211; 
Ensure blackbird console appears on top of other page elements</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-654";>TAP5-654</a> &#8211; 
Improve component classes documentation to be clearer about relationship 
between @Component and t:id</li><li><a class="e
 xternal-link" 
href="https://issues.apache.org/jira/browse/TAP5-655";>TAP5-655</a> &#8211; 
Quickstart archetype should set the application version number to match the 
module version number</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-657";>TAP5-657</a> &#8211; The 
FieldFocusPriority enum should include an additional value, OVERRIDE, to 
indicate a manually focused field (with highest priority)</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-661";>TAP5-661</a> &#8211; A 
number of minor documentation typos</li></ul><h3 
id="ReleaseNotes5.1-NewFeaturesAdded.1">New Features Added</h3><ul><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-624";>TAP5-624</a> &#8211; 
Support for javascript callbacks on zone update</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-642";>TAP5-642</a> &#8211; 
Document how to configure Glassfish 2.1 to deploy Tapestry 
applications</li><li><
 a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-662";>TAP5-662</a> &#8211; 
Component documentation should identify the events that may be triggered by a 
component</li></ul><h2 id="ReleaseNotes5.1-TapestryVersion5.1.0.3">Tapestry 
Version 5.1.0.3</h2><h3 id="ReleaseNotes5.1-BugsFixed.2">Bugs 
Fixed</h3><ul><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-469";>TAP5-469</a> &#8211; 
ResponseCompressionAnalyzer: application/json responses should be 
uncompressable by default</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-596";>TAP5-596</a> &#8211; 
Misleading description of allowNull parameter of Parameter annotation in 
javadoc</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-602";>TAP5-602</a> &#8211; 
Contributing to TypeCoercer with service fails even with 
@InjectService</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-603";>TAP5-603</a> &#8
 211; BeanEditForm ordering behaviour inconsistent with 
documentation</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-608";>TAP5-608</a> &#8211; 
Quickstart archetype is broken for 5.1.0.2: missing 
META-INF/maven/archetype.xml</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-610";>TAP5-610</a> &#8211; URLs 
are not being fully optimized, "/index" is not being stripped off when it 
should</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-615";>TAP5-615</a> &#8211; 
Tapestry template parse should ignore the case of any Tapestry-specific 
elements (such as t:body, t:content, etc.)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-616";>TAP5-616</a> &#8211; 
Hidden component does not properly decode submitted data</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-621";>TAP5-621</a> &#8211; When 
using PageTester, an exception in the page i
 s hidden by an exception rendering the exception report page</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-625";>TAP5-625</a> &#8211; The 
quickstart archetype should not put the Apache copyright into the web.xml (or 
other files)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-626";>TAP5-626</a> &#8211; The 
copyright message in Layout.tml is "groupid" not the expanded groupId 
value</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-630";>TAP5-630</a> &#8211; 
Blackbird error console class names are too generic and can easily 
conflict</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-636";>TAP5-636</a> &#8211; 
Using Element.forceAttribute() with a null value can cause a later NPE during 
rendering under some circumstances</li></ul><h3 
id="ReleaseNotes5.1-ImprovementsMade.2">Improvements Made</h3><ul><li><a 
class="external-link" href="https://issues.apache.org/
 jira/browse/TAP5-432">TAP5-432</a> &#8211; Allow setting the id of a 
FormFragment component</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-483";>TAP5-483</a> &#8211; 
Maven warning in build: [WARNING] Using platform encoding (MacRoman actually) 
to copy filtered resources, i.e. build is platform dependent!</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-614";>TAP5-614</a> &#8211; 
Spacer image should have a blank alt attribute to meet w3c accessability 
standards</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-634";>TAP5-634</a> &#8211; 
Google App Engine Support: ability to disable code that creates new 
threads</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded.2">New Features 
Added</h3><ul><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-548";>TAP5-548</a> &#8211; 
Textual messages inside tapestry.js should be split out into a seperate .js 
file that is localizab
 le</li></ul><h3 id="ReleaseNotes5.1-TasksCompleted">Tasks 
Completed</h3><ul><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-617";>TAP5-617</a> &#8211; Move 
cobertura from 2.2-SNAPSHOT to 2.2</li></ul><h3 
id="ReleaseNotes5.1-Wish">Wish</h3><ul><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-619";>TAP5-619</a> &#8211; Add 
parameter to PropertyEditor to allow custom BeanBlockSource to be used in place 
of the default one</li></ul><h2 
id="ReleaseNotes5.1-TapestryVersion5.1.0.2">Tapestry Version 5.1.0.2</h2><h3 
id="ReleaseNotes5.1-BugsFixed.3">Bugs Fixed</h3><ul><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-39";>TAP5-39</a> &#8211; Add 
JSON support for literals (often, inline function definitions) that are used to 
configure some client-side objects (even if they aren't truly JSON)</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-573";>TAP5-573</a> &#8211; 
NullPointerExc
 eption during AJAX form submit</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-578";>TAP5-578</a> &#8211; If a 
component class is abstract, trying to instantiate it (by including it in a 
template) yields an inscrutable InstantiationError</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-590";>TAP5-590</a> &#8211; A 
JavaScript error for non-required fields will force Ajax form submits to be 
handled as a full-page request instead</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-593";>TAP5-593</a> &#8211; 
Calling ApplicationStateManager.exists() will throw an exception when the 
session has been invalidated</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-598";>TAP5-598</a> &#8211; 
Hard-coded messages inside tapestry.js are not localized</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-600";>TAP5-600</a> &#8211; The 
new Blackbird
  console makes Safari JavaScript completely non-functional</li></ul><h3 
id="ReleaseNotes5.1-ImprovementsMade.3">Improvements Made</h3><ul><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-265";>TAP5-265</a> &#8211; Add 
a Hidden component, used to synchronize a value between the server and the 
client</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-398";>TAP5-398</a> &#8211; 
Tapestry should check that the service scope is consistent with the service 
(throwing an exception if the scope requires a service interface and the 
service doesn't provide one)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-566";>TAP5-566</a> &#8211; 
TextField documentation should explain why the required value parameter is not 
bound in the example</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-581";>TAP5-581</a> &#8211; 
Quickstart archetype should include testng.xml and webdefault.xml</
 li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-584";>TAP5-584</a> &#8211; Omit 
generator meta (from head element) when root element is not html</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-586";>TAP5-586</a> &#8211; The 
JavaScript waitForPage() handler does not need to be added when rendering a 
partial Ajax response</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-589";>TAP5-589</a> &#8211; Add 
a method to DOM Element class to allow the collection of Attributes to be 
obtained</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-591";>TAP5-591</a> &#8211; FAQ: 
Creating a page render Link from a service</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-605";>TAP5-605</a> &#8211; 
There should be a simple way to override automatic JavaScript libraries and 
Stylesheets</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded.3">New Featur
 es Added</h3><ul><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-288";>TAP5-288</a> &#8211; 
Replace JavaScript client-side logging with Blackbird</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-549";>TAP5-549</a> &#8211; 
JavaScript libraries should be combined into a single request</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-557";>TAP5-557</a> &#8211; 
Provide support for URL rewriting</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-562";>TAP5-562</a> &#8211; 
tapestry-hibernate should provide a built-in status page to show basic 
Hibernate statistics inlcuding cache hits, etc.</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-594";>TAP5-594</a> &#8211; Add 
simple PageRenderLinkSource service to allow services to create Links to 
pages</li></ul><h3 id="ReleaseNotes5.1-TasksCompleted.1">Tasks 
Completed</h3><ul><li><a class="ext
 ernal-link" href="https://issues.apache.org/jira/browse/TAP5-510";>TAP5-510</a> 
&#8211; Improve code coverage of JSON unit tests</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-575";>TAP5-575</a> &#8211; Add 
svn:eol-style=native to source files</li></ul><h2 
id="ReleaseNotes5.1-TapestryVersion5.1.0.1">Tapestry Version 5.1.0.1</h2><h3 
id="ReleaseNotes5.1-BugsFixed.4">Bugs Fixed</h3><ul><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-211";>TAP5-211</a> &#8211; 
Client-side validation of numeric user input does not take into account the 
user's locale which causes spurious client- and server-side exceptions when 
users enter numbers "naturally"</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-374";>TAP5-374</a> &#8211; 
Persistent (@Persist) fields not set correctly between requests if they are 
initialised from pageAttached() method</li><li><a class="external-link" 
href="https://issues.apache.org/ji
 ra/browse/TAP5-512">TAP5-512</a> &#8211; Documentation on how to secure pages 
contains errors in the sample code</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-520";>TAP5-520</a> &#8211; 
Using regular expressions with the @Validate annotation causes odd parse errors 
if the regexp includes common characters (including commas)</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-530";>TAP5-530</a> &#8211; 
Documentation should identify how to boot-strap the quickstart archetype from 
the Tapestry360 Maven repository (not snapshot repository)</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-535";>TAP5-535</a> &#8211; 
PageTester should use overrides of FactoryDefaults, not contributions to 
ApplicationDefaults</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-537";>TAP5-537</a> &#8211; 
PersistentLocale.setLocale() allows the application to set a locale that isn't 
sup
 ported, and the subsequent URL may not be interpreted correctly</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-552";>TAP5-552</a> &#8211; 
Common compressed image files should be configured to not re-compress when sent 
to client: GIF, PNG</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-555";>TAP5-555</a> &#8211; 
Tapestry.ScriptManager.contains throws error if &lt;script&gt; tag in 
&lt;head&gt; has no href</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-559";>TAP5-559</a> &#8211; 
Informal parameters have started to overwrite previously rendered 
attributes</li></ul><h3 id="ReleaseNotes5.1-ImprovementsMade.4">Improvements 
Made</h3><ul><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-84";>TAP5-84</a> &#8211; Change 
proxy generation to use volatile fields rather than synchronized 
blocks</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/
 TAP5-108">TAP5-108</a> &#8211; A component event handler for Ajax requests 
should have a mechanism to update mutiple zones on the client</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-345";>TAP5-345</a> &#8211; 
AjaxFormLoop should be able to deduce a default ValueEncoder from the type of 
its value parameter</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-367";>TAP5-367</a> &#8211; The 
Grid component's "There is no data to display." message should come from a 
message catalog, to support global overrides and localization</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-418";>TAP5-418</a> &#8211; 
Control over creation of page render and component event requests should be 
encapsulated into an overridable service</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-502";>TAP5-502</a> &#8211; 
Improve the description of parameter passing and binding in the document
 ation</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-525";>TAP5-525</a> &#8211; The 
Component Report should indicate in which Tapestry version a parameter or a 
component was introduced</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-527";>TAP5-527</a> &#8211; 
Input validation documentation is missing clear list of available validators 
and their correct notation to use.</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-536";>TAP5-536</a> &#8211; Move 
ClientBehaviorSupport to the public services package</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-540";>TAP5-540</a> &#8211; 
Allow exact parsing of numeric client input by creating a BigDecimal Translator 
and enabling parseBigDecimal in DecimalFormat</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-543";>TAP5-543</a> &#8211; 
ProgressiveDisplay component should support a cont
 ext parameter and fire an event to inform the container what data is to be 
displayed</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-544";>TAP5-544</a> &#8211; 
Improve JavaScript handling to prevent the user from clicking Ajax-oriented 
links and forms before the page is "ready"</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-545";>TAP5-545</a> &#8211; 
Upgrade to Scriptaculous 1.8.2 (released Nov 2008)</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-547";>TAP5-547</a> &#8211; In 
the exception report page, JVM system property 
org.apache.catalina.jsp_classpath should be displayed as a list, like other 
.path value</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-550";>TAP5-550</a> &#8211; 
Reduce eden space memory footprint by avoiding Lists and Maps within 
Elements</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-564";>TAP5-56
 4</a> &#8211; Add StringPropertySelectModel</li></ul><h3 
id="ReleaseNotes5.1-NewFeaturesAdded.4">New Features Added</h3><ul><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-43";>TAP5-43</a> &#8211; Add 
configuration to turn off @Secure when in development</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-74";>TAP5-74</a> &#8211; 
Provide a way that a component sub-class can merge its template with that of 
its container</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-92";>TAP5-92</a> &#8211; Add 
new element, t:remove, that removes a portion of a template</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-236";>TAP5-236</a> &#8211; 
Implement a progressive enhancement component that loads its content via 
Ajax</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-485";>TAP5-485</a> &#8211; 
Tracking issue for changes required by com.formos.ta
 pestry:tapestry-template</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-542";>TAP5-542</a> &#8211; Add 
ParallelExecutor service to allow operations to be performed asynchronously in 
a thread pool</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-560";>TAP5-560</a> &#8211; Add 
a service responsible for encoding client data (as gzipp'ed base 64) and 
decoding that data</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-563";>TAP5-563</a> &#8211; 
Ability to limit the template's effective content to just a small section 
(similar to Tapestry 4's $content$ marker)</li></ul><h2 
id="ReleaseNotes5.1-TapestryVersion5.1.0.0">Tapestry Version 5.1.0.0</h2><h3 
id="ReleaseNotes5.1-BugsFixed.5">Bugs Fixed</h3><ul><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-217";>TAP5-217</a> &#8211; 
Warnings related to service configuration validations should be escalated to 
exceptions</li>
 <li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-292";>TAP5-292</a> &#8211; 
Field injection does not support injecting configurations or other service 
resources, only dependencies</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-298";>TAP5-298</a> &#8211; JS 
error in Palette for disabled options</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-330";>TAP5-330</a> &#8211; 
Property expressions do not recognize methods inherted from java.lang.Object 
such as toString()</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-334";>TAP5-334</a> &#8211; 
Component fields should allow @InjectService annotation, as well as 
@Inject</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-341";>TAP5-341</a> &#8211; When 
a contribute method requests the wrong configuration interface (say, 
Configuration instead of OrderedConfiguration) the error message is co
 nfusing: "No service implements the Configuration interface"</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-349";>TAP5-349</a> &#8211; 
Tapestry silently allows a MarkupWriter to set a series of root elements, 
ignoring all but the last. A document should only have a single root element 
and this situation should be an immediate exception.</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-355";>TAP5-355</a> &#8211; 
TapestrySpring does not support injection of Spring FactoryBeans</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-357";>TAP5-357</a> &#8211; 
Tapestry documentation should clearly/boldly identify the release 
number</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-359";>TAP5-359</a> &#8211; Use 
of the email validator with client-side validation displays a pop-up error 
message about client-side validator "email" being missing</li><li><a 
class="externa
 l-link" href="https://issues.apache.org/jira/browse/TAP5-370";>TAP5-370</a> 
&#8211; Error from DocumentLinker about missing &lt;html&gt; tag, even for XML 
document w/o JavaScript</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-373";>TAP5-373</a> &#8211; When 
JavaScript libraries are moved to the "top" of the document, they should be 
added to the &lt;head&gt;, not the &lt;body&gt;</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-377";>TAP5-377</a> &#8211; 
Broken links inside on project site to pipeline description and to 
JIRA</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-378";>TAP5-378</a> &#8211; 
Missing i18n files for Brazilian Portuguese</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-385";>TAP5-385</a> &#8211; 
Tapestry 5 often renders empty elements incorrectly</li><li><a 
class="external-link" href="https://issues.apache.org/jira/browse/TAP5-391";>TAP
 5-391</a> &#8211; Link from Form page to checkbox page (on website) is 
incorrect</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-399";>TAP5-399</a> &#8211; 
Modified application state objects are not persisted back to the session at the 
end of the request</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-402";>TAP5-402</a> &#8211; 
BeanDisplay properties that render nothing cause layout errors (they should 
render a &amp;nbsp;)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-403";>TAP5-403</a> &#8211; 
OneShotLock tests fail under JDK 1.6 because of JVM differences</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-405";>TAP5-405</a> &#8211; 
Documentation should reference Index instead of Start page</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-407";>TAP5-407</a> &#8211; 
DocumentLinker should not use the deprecated practice of 
 HTML commenting out the &lt;script&gt; block</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-408";>TAP5-408</a> &#8211; 
Objects that persist in the session should automatically re-store themselves 
into the session at the end of the request</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-413";>TAP5-413</a> &#8211; 
Invalidating the session may cause an exception at the end of the request if 
there is a "dirty" ASO</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-416";>TAP5-416</a> &#8211; 
Javascript error with IE and Window Prototype</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-419";>TAP5-419</a> &#8211; 
Logging of component class transformations has typo in prefix</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-425";>TAP5-425</a> &#8211; When 
attempting to reference a property whose name is a single letter, Tapestry fail
 s with a wierd exception</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-428";>TAP5-428</a> &#8211; It 
should be possible to use tapestry-spring in an environment where the Spring 
ApplicationContext is created externally (as was the case in Tapestry 
5.0)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-431";>TAP5-431</a> &#8211; When 
using an externally configuration Spring ApplicationContext, beans of the 
context should be registered as services (as was the case in Tapestry 
5.0)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-441";>TAP5-441</a> &#8211; 
Tapestry should be using ServletContext.getMimeType() to map from file 
extensions to MIME types</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-443";>TAP5-443</a> &#8211; 
Clicking an action link when using tapestry-upload always throws an 
exception</li><li><a class="external-link" href="https://issues.apa
 che.org/jira/browse/TAP5-444">TAP5-444</a> &#8211; ToStringService uses 
@Override annotation improperly</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-449";>TAP5-449</a> &#8211; 
@CleanupRender Render phase methods not always invoked</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-454";>TAP5-454</a> &#8211; All 
classpath assets should automatically have a version number (the application 
version number) in the URL</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-457";>TAP5-457</a> &#8211; 
Illegal prefix for XML namespace</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-464";>TAP5-464</a> &#8211; The 
Invokable interface should be moved to a public package (it is currently 
internal, even though some public interfaces reference it)</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-467";>TAP5-467</a> &#8211; 
ResponseCompressionAn
 alyzerImpl should trim spaces before comparing accepted-encoding to 
"gzip"</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-468";>TAP5-468</a> &#8211; 
ResponseCompressionAnalyzer should disregard the charset when comparing 
configured exluded mime types</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-470";>TAP5-470</a> &#8211; The 
exception report should only split system properties whose name ends in 
".path"</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-471";>TAP5-471</a> &#8211; 
MetaDataLocator throws an exception if meta-data not found and no symbol 
provides a value; this should be documented</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-478";>TAP5-478</a> &#8211; If 
you use Grid's add and include parameters, the new column added with add must 
be also be mentioned in include</li><li><a class="external-link" 
href="https://issues.apache.org/jira/brow
 se/TAP5-484">TAP5-484</a> &#8211; Quickstart should include a test scope 
dependency on EasyMock</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-488";>TAP5-488</a> &#8211; Typo 
in error message when contributing to unknown service</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-489";>TAP5-489</a> &#8211; The 
comment inside AssetBinding concerning invariant is out of date, in that all 
Assets now use complete URLs</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-490";>TAP5-490</a> &#8211; Link 
from Ajax guide page to component reference is broken</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-505";>TAP5-505</a> &#8211; 
JettyRunner is not able to start on Windows machine if the web application path 
is absolute</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-507";>TAP5-507</a> &#8211; 
Comments between the DOCTYPE and the root
  element now cause render errors</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-528";>TAP5-528</a> &#8211; The 
new quickstart layout should be simplified to remove "lorem ipson" 
text</li></ul><h3 id="ReleaseNotes5.1-ImprovementsMade.5">Improvements 
Made</h3><ul><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-24";>TAP5-24</a> &#8211; 
Document changing the (persisted) locale</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-60";>TAP5-60</a> &#8211; 
Provide an alternate approach to decorating services based on 
aspects</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-79";>TAP5-79</a> &#8211; 
Improve Tapestry's property expression language to include OGNL-like 
features</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-100";>TAP5-100</a> &#8211; When 
rendering a partial markup response, Tapestry should quote attributes with 
single quo
 tes (so that each quote doesn't have to be escaped in the JSON)</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-165";>TAP5-165</a> &#8211; 
Components which use PrimaryKeyEncoder should be changed to use ValueEncoder, 
and PrimaryKeyEncoder should be deprecated</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-181";>TAP5-181</a> &#8211; 
Highlight duplicated IDs.</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-194";>TAP5-194</a> &#8211; 
Handler method of Submit component should accept a context</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-209";>TAP5-209</a> &#8211; 
quickstart archetype should provide a sample page .properties file</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-216";>TAP5-216</a> &#8211; Many 
methods of the Page interface could be moved to PageResources (which should be 
renamed to ComponentPageElementResou
 rces)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-346";>TAP5-346</a> &#8211; 
Maven resource filtering pre-expands some Tapestry expansions: docs should warn 
of this</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-364";>TAP5-364</a> &#8211; 
BeanEditForm should include the same autofocus parameter that Form 
has</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-365";>TAP5-365</a> &#8211; 
Localization support for Japanese</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-371";>TAP5-371</a> &#8211; 
Service contribution methods should be able to include a parameter of type 
Logger (the service's logger), so as to give contributions the option to log 
with the service</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-380";>TAP5-380</a> &#8211; Add 
localization support for Greek</li><li><a class="external-link" 
href="https://issues.
 apache.org/jira/browse/TAP5-382">TAP5-382</a> &#8211; PersistenceConstants 
should have all persistence field strategies</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-383";>TAP5-383</a> &#8211; 
Expose a LinkCreationHub service to allow for listeners that wish to observe 
(and modify) new Link instances</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-386";>TAP5-386</a> &#8211; 
Tapestry IoC documentation improvements</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-390";>TAP5-390</a> &#8211; 
Improve component reports by providing links to javadocs of tapestry 
classes</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-392";>TAP5-392</a> &#8211; 
tapestry-hibernate should be split into two parts: tapestry-hibernate-core and 
tapestry-hibernate, with tapestry-hibernate-core being usable outside of a 
Tapestry web application</li><li><a class="external-link" href="h
 ttps://issues.apache.org/jira/browse/TAP5-393">TAP5-393</a> &#8211; Tapestry 
IOC should log the names of any loaded module classes and clearly indicate 
module classes that could not be loaded</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-406";>TAP5-406</a> &#8211; 
Remove IDEA and Eclipse control files from the source tree</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-417";>TAP5-417</a> &#8211; 
Tapestry Performance Improvements</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-422";>TAP5-422</a> &#8211; 
Tapestry should encode the user's locale into the URL rather than as an HTTP 
cookie</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-429";>TAP5-429</a> &#8211; 
Tapestry should throw an exception when a contribute method of a module class 
does not match a known service</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-435";>
 TAP5-435</a> &#8211; AjaxFormLoop does not include a parameter for specifying 
the animation on adding a new element</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-442";>TAP5-442</a> &#8211; Add 
a context: binding prefix to make it super-easy to reference context assets 
from templates</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-445";>TAP5-445</a> &#8211; Add 
ability to turn off GZIP compression easily, for both static assets and dynamic 
page renders</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-447";>TAP5-447</a> &#8211; 
ExceptionDisplay should render uninteresting stack frames but include a 
client-side control to toggle their visibility</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-448";>TAP5-448</a> &#8211; 
Assets should no longer attempt to generate relative URIs</li><li><a 
class="external-link" href="https://issues.apache.org/jira/browse/TAP
 5-451">TAP5-451</a> &#8211; Upgrade Selenium dependencies to new beta (which 
supports FireFox 3)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-458";>TAP5-458</a> &#8211; 
Tapestry quickstart should include a basic, but visually pleasing, Layout 
component</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-459";>TAP5-459</a> &#8211; 
Quickstart should include provided scope dependency on the servlet 
API</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-462";>TAP5-462</a> &#8211; FAQ: 
The Hibernate startup question now has a really easy answer</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-465";>TAP5-465</a> &#8211; Add 
a LazyAdvisor service that can allow method invocations on services to be 
lazily evaluated</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-479";>TAP5-479</a> &#8211; 
Quickstart archetype should include a basic s
 ite.xml and index.apt</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-481";>TAP5-481</a> &#8211; 
Quickstart archetype should include a test scope dependency on 
tapestry-test</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-482";>TAP5-482</a> &#8211; 
Maven repository location <a class="external-link" 
href="http://archiva.openqa.org/repository/releases"; 
rel="nofollow">http://archiva.openqa.org/repository/releases</a> has a unwanted 
trailing slash in the master pom.xml</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-487";>TAP5-487</a> &#8211; 
Easier way to expose parameters of an embedded component in a containing 
component</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-496";>TAP5-496</a> &#8211; 
Change If and Unless to render thier template element if provided (i.e., when 
using t:type) as well as informal parameters</li><li><a class="external-link" 
href="
 https://issues.apache.org/jira/browse/TAP5-498";>TAP5-498</a> &#8211; Upgrade 
Javassist dependency to latest version, 3.9.0.GA</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-499";>TAP5-499</a> &#8211; 
Cleanup and simplfy PageTester to remove ComponentInvocation, InvocationTarget, 
etc.</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-503";>TAP5-503</a> &#8211; Make 
Live Class and Template Reloading feature work in OSGi</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-516";>TAP5-516</a> &#8211; When 
rendering a PageLink, it should not be necessary to load the target page 
instance just to see if there's a page activation context</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-522";>TAP5-522</a> &#8211; 
Reduce memory footprint by sharing binding descriptions</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-523";>TAP5-523</a> &#
 8211; Submit component should be able to render an input field of type 
image</li></ul><h3 id="ReleaseNotes5.1-NewFeaturesAdded.5">New Features 
Added</h3><ul><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-66";>TAP5-66</a> &#8211; Use 
namespaces in templates to reference components in libraries</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-70";>TAP5-70</a> &#8211; 
Tapestry should automatically compress content sent to the client, if the 
client supports it</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-90";>TAP5-90</a> &#8211; 
Context assets should be versioned and provided with a far future expires 
header, just like classpath assets</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-95";>TAP5-95</a> &#8211; 
Optimize page construction for repeated construction of the same 
page</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1
 06">TAP5-106</a> &#8211; When filtering out stack frames in ExceptionAnalyzer, 
frames for sun.reflect could easily be omitted</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-112";>TAP5-112</a> &#8211; 
Define new namespace, p:, for block parameters</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-139";>TAP5-139</a> &#8211; 
@Autobuild annotation for parameters, implicitly invokes 
ObjectLocator.autobuild()</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-140";>TAP5-140</a> &#8211; The 
services used to handle live reloading should be made public</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-215";>TAP5-215</a> &#8211; 
Configuration interface should support contributing a class (which is 
autobuilt) in addition to an instance</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-291";>TAP5-291</a> &#8211; Now 
that field injection is 
 supported, we need an annotation for methods to invoke after the component is 
fully constructed</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-295";>TAP5-295</a> &#8211; 
Option to startup Hibernate early, rather than lazily on first 
request</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-316";>TAP5-316</a> &#8211; Add 
service overriding capabilities to tapestry-ioc, similar to what tapestry-core 
has (the Alias service)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-427";>TAP5-427</a> &#8211; 
Allow injection of Tapestry services into Spring beans</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-430";>TAP5-430</a> &#8211; 
Annotation for services to indicate that the service should not be 
decorated</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-434";>TAP5-434</a> &#8211; Add 
documentation about using PersistentLocale serv
 ice to effect a change in locale</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-436";>TAP5-436</a> &#8211; 
Tapestry should verify that all public methods of a module class are meaningful 
to Tapestry (build, decorate, contribute or bind), other methods should cause 
an exception to be thrown as a likely typo in the name</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-437";>TAP5-437</a> &#8211; The 
OrderedConfiguration and MappedConfiguration interfaces should allow for 
override() methods (similar to add())</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-439";>TAP5-439</a> &#8211; Add 
annotation, @ServiceId, that can be placed on a builder method or service class 
to identify the service id to use</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-446";>TAP5-446</a> &#8211; 
Tapestry should output a &lt;meta&gt; tag to identify Tapestry as the generator 
(with 
 an option to turn this off for applications that don't want to advertise their 
technology)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-472";>TAP5-472</a> &#8211; Make 
it possible and easy to use a content delivery network</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-476";>TAP5-476</a> &#8211; Have 
a common handler/filter pipeline for both component event and page render 
requests, to make it easier to add filters that apply to both types of 
requests</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-491";>TAP5-491</a> &#8211; 
Quickstart archetype build should generate an archetype-catalog.xml into 
Tapestry360's maven-repository or maven-snapshot-repository, to faciliate the 
use of the mvn archetype:generate goal</li></ul><h3 
id="ReleaseNotes5.1-TasksCompleted.2">Tasks Completed</h3><ul><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-372";>TAP5-372</a> &#
 8211; Merge changes from 5.0.16 --&gt; 5.0.17 into trunk (5.1)</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-379";>TAP5-379</a> &#8211; Add 
the Ars Machina Project to the list of Tapestry 5-related packages</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-381";>TAP5-381</a> &#8211; 
Documentation talks about a "tapestry.charset" when there's no such 
configuration documented</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-480";>TAP5-480</a> &#8211; 
Upgrade Surefire Plugin and TestNG dependencies to latest version (2.4.3 and 
5.8, respectively)</li><li><a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-493";>TAP5-493</a> &#8211; 
Translate StructureStrings#original-child-component</li><li><a 
class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-494";>TAP5-494</a> &#8211; 
Downgrade maven-site-plugin from 2.0-beta-6 to 2.0-beta-5 because we prefer a 
site
  that actually works</li></ul></div>
             </div>


Reply via email to