You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by bu...@apache.org on 2014/02/18 00:21:14 UTC

svn commit: r898324 [2/3] - in /websites/production/tapestry/content: ./ cache/

Modified: websites/production/tapestry/content/javascript-rewrite.html
==============================================================================
--- websites/production/tapestry/content/javascript-rewrite.html (original)
+++ websites/production/tapestry/content/javascript-rewrite.html Mon Feb 17 23:21:13 2014
@@ -62,11 +62,11 @@
 
 <div id="content">
 <div id="ConfluenceContent"><style type="text/css">/*<![CDATA[*/
-div.rbtoc1392502844528 {padding: 0px;}
-div.rbtoc1392502844528 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1392502844528 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1392679253806 {padding: 0px;}
+div.rbtoc1392679253806 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1392679253806 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1392502844528">
+/*]]>*/</style><div class="toc-macro rbtoc1392679253806">
 <ul class="toc-indentation"><li><a shape="rect" href="#JavaScriptRewrite-TapestryandJavaScript">Tapestry and JavaScript</a></li><li><a shape="rect" href="#JavaScriptRewrite-TapestryJavaScriptLimitations(through5.3)">Tapestry JavaScript Limitations (through 5.3)</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#JavaScriptRewrite-DependenceonPrototype/Scriptaculous">Dependence on Prototype/Scriptaculous</a></li><li><a shape="rect" href="#JavaScriptRewrite-LackofDocumentation">Lack of Documentation</a></li><li><a shape="rect" href="#JavaScriptRewrite-LackofModuleStructure">Lack of Module Structure</a></li><li><a shape="rect" href="#JavaScriptRewrite-ComplexInitialization">Complex Initialization</a></li></ul>
 </li><li><a shape="rect" href="#JavaScriptRewrite-JavaScriptImprovementsfor5.4">JavaScript Improvements for 5.4</a>
@@ -111,7 +111,7 @@ div.rbtoc1392502844528 li {margin-left: 
 
 <h2 id="JavaScriptRewrite-ComplexInitialization">Complex Initialization</h2>
 
-<p>Many users are perplexed by how Tapestry performs initialization: in a typical <em>bespoke</em></p><p>&lt;style type='text/css'&gt;
+<p>Many users are perplexed by how Tapestry performs initialization: in a typical <em>bespoke</em></p><p></p><p>&lt;style type='text/css'&gt;
 .FootnoteMarker, .FootnoteNum a {
   background: transparent url(/confluence/download/resources/com.adaptavist.confluence.footnoteMacros:footnote/gfx/footnote.png) no-repeat top right;
   padding: 1px 2px 0px 1px;
@@ -177,23 +177,27 @@ var footnoteMarkerHighlight = function(i
 }
 //--&gt;
 &lt;/script&gt;
+
 <sup id="FootnoteMarker1">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker1" href="#Footnote1" onclick="footnoteHighlight(&quot;1&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             1
     </a>
-</sup></p> application, the developer will create a <code>&lt;script&gt;</code> block at the bottom of the page, and do initializations there. In Tapestry, it can be much more complex:<p></p>
+</sup>
+</p><p></p> application, the developer will create a <code>&lt;script&gt;</code> block at the bottom of the page, and do initializations there. In Tapestry, it can be much more complex:<p></p>
 
-<ul><li>A JavaScript library, containing one or more <em>initialization functions</em>, is created</li><li>The initialization functions must be <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Monkey_patching" ><em>monkey patched</em></a> into the <code>T5.initializers</code> namespace <p>
+<ul><li>A JavaScript library, containing one or more <em>initialization functions</em>, is created</li><li>The initialization functions must be <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Monkey_patching" ><em>monkey patched</em></a> into the <code>T5.initializers</code> namespace <p></p><p>
 <sup id="FootnoteMarker2">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker2" href="#Footnote2" onclick="footnoteHighlight(&quot;2&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             2
     </a>
-</sup></p></li><li>The <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/javascript/JavaScriptSupport.html">JavaScriptSupport</a> environmental must be used to invoke the function, by name, passing it a JSONObject to configure itself (the "specification")</li><li>The affected element must have a unique id attribute, used to coordinate the initialization in the client web browser<p>
+</sup>
+</p><p></p></li><li>The <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/javascript/JavaScriptSupport.html">JavaScriptSupport</a> environmental must be used to invoke the function, by name, passing it a JSONObject to configure itself (the "specification")</li><li>The affected element must have a unique id attribute, used to coordinate the initialization in the client web browser<p></p><p>
 <sup id="FootnoteMarker3">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker3" href="#Footnote3" onclick="footnoteHighlight(&quot;3&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             3
     </a>
-</sup></p></li></ul>
+</sup>
+</p><p></p></li></ul>
 
 
 <p>This often feels like overkill, but it is necessary for a number of desirable characteristics:</p>
@@ -242,27 +246,30 @@ var footnoteMarkerHighlight = function(i
 
 <p>There must be provisions for the following options:</p>
 
-<ul><li>A module may be overriden (for instance, to work around a bug), in which case a specific asset may be used for the module, rather than the default</li><li>A module may need to be converted from one language to another: specifically, a module may be written in CoffeeScript, and need to be compiled down to JavaScript</li><li>A module's content may be aggregated with other related modules (much like a Tapestry 5.3 stack), especially in production<p>
+<ul><li>A module may be overriden (for instance, to work around a bug), in which case a specific asset may be used for the module, rather than the default</li><li>A module may need to be converted from one language to another: specifically, a module may be written in CoffeeScript, and need to be compiled down to JavaScript</li><li>A module's content may be aggregated with other related modules (much like a Tapestry 5.3 stack), especially in production<p></p><p>
 <sup id="FootnoteMarker4">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker4" href="#Footnote4" onclick="footnoteHighlight(&quot;4&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             4
     </a>
-</sup></p></li><li>Module content (aggregated or not) should be minimized</li></ul>
+</sup>
+</p><p></p></li><li>Module content (aggregated or not) should be minimized</li></ul>
 
 
-<p>In addition, it may be reasonable to have Tapestry automatically (or via some configuration) <a shape="rect" class="external-link" href="http://requirejs.org/docs/commonjs.html" >wrap CommonJS modules as AMD modules</a></p><p>
+<p>In addition, it may be reasonable to have Tapestry automatically (or via some configuration) <a shape="rect" class="external-link" href="http://requirejs.org/docs/commonjs.html" >wrap CommonJS modules as AMD modules</a></p><p></p><p>
 <sup id="FootnoteMarker5">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker5" href="#Footnote5" onclick="footnoteHighlight(&quot;5&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             5
     </a>
-</sup></p><p></p>
+</sup>
+</p><p></p><p></p>
 
-<p>Modules will be stored on the classpath, in a <code>modulejs</code> package below each library's root package. Modules within that package are referenced by their name relative to the package</p><p>
+<p>Modules will be stored on the classpath, in a <code>modulejs</code> package below each library's root package. Modules within that package are referenced by their name relative to the package</p><p></p><p>
 <sup id="FootnoteMarker6">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker6" href="#Footnote6" onclick="footnoteHighlight(&quot;6&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             6
     </a>
-</sup></p>.  <p></p>
+</sup>
+</p><p></p>.  <p></p>
 
 <p>Under this system, module <code>core/pubsub</code> would be the  file <code>pubsub.js</code> in the package <code>org.apache.tapestry5.corelib.modulejs</code>, since Tapestry's component library 'core' is mapped to package <code>org.apache.tapestry5.corelib</code>.</p>
 
@@ -272,12 +279,13 @@ var footnoteMarkerHighlight = function(i
 
 <p>A number of new methods will be added to JavaScriptSupport, to support the following behaviors:</p>
 
-<ul><li>require one or more modules</li><li>require a module (that exports a single function) and invoke the function, passing zero or more values<p>
+<ul><li>require one or more modules</li><li>require a module (that exports a single function) and invoke the function, passing zero or more values<p></p><p>
 <sup id="FootnoteMarker7">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker7" href="#Footnote7" onclick="footnoteHighlight(&quot;7&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             7
     </a>
-</sup></p></li><li>require a module and a function name and invoke named function exported by the module, passing zero or more values</li></ul>
+</sup>
+</p><p></p></li><li>require a module and a function name and invoke named function exported by the module, passing zero or more values</li></ul>
 
 
 <p>The intent here is to support shifting of client-side behavior from the 5.3 style, an approach that involved monkey-patching functions onto <code>T5.initializers</code>, and move the same logic into modules, preferably with simpler parameters.  It is also expected that there will be greater use of <code>data-</code> prefixed HTML5 attributes in place of separate configuration, as outlined above.</p>
@@ -304,12 +312,13 @@ var footnoteMarkerHighlight = function(i
 
 <h2 id="JavaScriptRewrite-ExposeGlobalMessageCatalogtoClient">Expose Global Message Catalog to Client</h2>
 
-<p>Tapestry currently maintains two global message catalogs; a global server-side catalog (usually named <code>WEB-INF/app.properties</code></p><p>
+<p>Tapestry currently maintains two global message catalogs; a global server-side catalog (usually named <code>WEB-INF/app.properties</code></p><p></p><p>
 <sup id="FootnoteMarker8">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker8" href="#Footnote8" onclick="footnoteHighlight(&quot;8&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             8
     </a>
-</sup></p>) and a client-side catalog. The client-side catalog is smaller, more limited, and less extensible.<p></p>
+</sup>
+</p><p></p>) and a client-side catalog. The client-side catalog is smaller, more limited, and less extensible.<p></p>
 
 <p>Allowing the client application to have full access to the entire message catalog would make maintaining the catalog simpler, and make it easier to keep client-side and server-side messages consistent.</p>
 
@@ -323,31 +332,34 @@ var footnoteMarkerHighlight = function(i
 
 <p>When an Ajax request is processed by the server, the response should handle any of a number of outcomes:</p>
 
-<ul><li>Redirect the entire page to a new URL (on the server, or elsewhere)</li><li>A server-side error to be presented to the user<p>
+<ul><li>Redirect the entire page to a new URL (on the server, or elsewhere)</li><li>A server-side error to be presented to the user<p></p><p>
 <sup id="FootnoteMarker9">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker9" href="#Footnote9" onclick="footnoteHighlight(&quot;9&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             9
     </a>
-</sup></p></li><li>Update the content of an implicit (originating) element; typically the element for the Zone that triggered the request</li><li>Update the content of any number of other elements (identified by their client-side id)</li><li>Inject new JavaScript libraries into the page</li><li>Inject new CSS links into the page</li><li>Peform initializations (using <code>T5.initializers</code>) ... but only after all content updates have occurred</li></ul>
+</sup>
+</p><p></p></li><li>Update the content of an implicit (originating) element; typically the element for the Zone that triggered the request</li><li>Update the content of any number of other elements (identified by their client-side id)</li><li>Inject new JavaScript libraries into the page</li><li>Inject new CSS links into the page</li><li>Peform initializations (using <code>T5.initializers</code>) ... but only after all content updates have occurred</li></ul>
 
 
-<p>The injected JavaScript libraries and CSS links will often duplicate libraries and CSS links already present on the page; when the page is partially rendered, the server has no way to know what full or partial page renders have already occured</p><p>
+<p>The injected JavaScript libraries and CSS links will often duplicate libraries and CSS links already present on the page; when the page is partially rendered, the server has no way to know what full or partial page renders have already occured</p><p></p><p>
 <sup id="FootnoteMarker10">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker10" href="#Footnote10" onclick="footnoteHighlight(&quot;10&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             10
     </a>
-</sup></p>.<p></p>
+</sup>
+</p><p></p>.<p></p>
 
 <p>Tapestry 5.3 first loads any additional JavaScript (usually by adding new <code>&lt;script&gt;</code> tags to the page). Once JavaScript libraries and CSS links have been added, and JavaScript libraries have been loaded, the DOM is updated with the new content. Lastly, any initializations are processed.</p>
 
 <p>For Tapestry 5.4, a number of changes are planned:</p>
 
-<ul><li>Tapestry 5.3 style initializations will be a specific application of 5.4 style module requirement and invocation</li><li><a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/javascript/InitializationPriority.html#IMMEDIATE">IMMEDIATE</a> may occur before DOM changes</li><li>Module requirement/invocation will occur in <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/javascript/InitializationPriority.html">initialization priority order</a>; for any single priority, initialization will occur in render order<p>
+<ul><li>Tapestry 5.3 style initializations will be a specific application of 5.4 style module requirement and invocation</li><li><a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/javascript/InitializationPriority.html#IMMEDIATE">IMMEDIATE</a> may occur before DOM changes</li><li>Module requirement/invocation will occur in <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/javascript/InitializationPriority.html">initialization priority order</a>; for any single priority, initialization will occur in render order<p></p><p>
 <sup id="FootnoteMarker11">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker11" href="#Footnote11" onclick="footnoteHighlight(&quot;11&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             11
     </a>
-</sup></p>.</li><li>The response will be embeddable inside other JSONObject responses.</li></ul>
+</sup>
+</p><p></p>.</li><li>The response will be embeddable inside other JSONObject responses.</li></ul>
 
 
 <p>To expand on the last note first; the keys that define imported JavaScript and CSS, module requirement and invocation, and content update will not be top-level keys of the JSONObject response: they will be buried inside a <code>tapestry</code> top-level key. An available function will be provided that takes an arbitrary JSONObject, extracts the <code>tapestry</code> key and handles it, then invokes a provided callback before the module requirement and invocation step.  The intent is for requests that perform purely data oriented operations, the server-side can not only provide a response, but can <em>piggy back</em> client-side updates in the response.</p>
@@ -382,12 +394,13 @@ var footnoteMarkerHighlight = function(i
 
 <p>A desirable feature would be request URL that would produce a JSON-formatted report of all assets that should be mirrored by the CDN: this would include all files that might be exposed to the browser, including virtual assets (such as JavaScript stacks, aggregated modules, and so forth).  This could be leveraged by a tool that would use this information to extract the assets from the live application and exported to the CDN.</p>
 
-<p>Determining what assets are available is somewhat problematic as Tapestry mixes server-side only resources (.class files, .tml files, etc.) freely with assets that might be exposed to the browser</p><p>
+<p>Determining what assets are available is somewhat problematic as Tapestry mixes server-side only resources (.class files, .tml files, etc.) freely with assets that might be exposed to the browser</p><p></p><p>
 <sup id="FootnoteMarker12">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker12" href="#Footnote12" onclick="footnoteHighlight(&quot;12&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             12
     </a>
-</sup></p>. Some of those server-side resource may expose details, such as other server hosts and potentially user names and passwords, that should never be exposed to the client.<p></p>
+</sup>
+</p><p></p>. Some of those server-side resource may expose details, such as other server hosts and potentially user names and passwords, that should never be exposed to the client.<p></p>
 
 <p>In addition, a "walk" of the classpath to locate potential exportable assets can be quite expensive (though not considerably more so than what Tapestry already does at startup to identify page and component classes).</p>
 
@@ -401,7 +414,7 @@ var footnoteMarkerHighlight = function(i
 
 <hr>
 
-<p></p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody><tr name="Footnote1"><td colspan="1" rowspan="1" valign="top" class="FootnoteNum" headings="footnote-th1">
+<p></p><p></p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody><tr name="Footnote1"><td colspan="1" rowspan="1" valign="top" class="FootnoteNum" headings="footnote-th1">
         <a shape="rect" id="FootnoteNum1" href="#FootnoteMarker1" onclick="footnoteMarkerHighlight(&quot;1&quot;);" onmouseover="footnoteHighlight(&quot;1&quot;,false);" alt="Footnote: Click to return to reference in text" title="Footnote: Click to return to reference in text">
             1
         </a>
@@ -473,7 +486,7 @@ var footnoteMarkerHighlight = function(i
         </a>
       </td><td colspan="1" rowspan="1" valign="top" class="Footnote" id="Footnote12" width="100%" headings="footnote-th2">
           This should never have been the case, but that's hindsight.
-      </td></tr></tbody></table></p><p></p></div>
+      </td></tr></tbody></table></p><p></p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/javascript.html
==============================================================================
--- websites/production/tapestry/content/javascript.html (original)
+++ websites/production/tapestry/content/javascript.html Mon Feb 17 23:21:13 2014
@@ -95,7 +95,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="javascript-faq.html">JavaScript FAQ</a>
+                            <a shape="rect" href="component-cheat-sheet.html">Component Cheat Sheet</a>
                     
                 
                             </div>
@@ -104,7 +104,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="component-cheat-sheet.html">Component Cheat Sheet</a>
+                            <a shape="rect" href="javascript-faq.html">JavaScript FAQ</a>
                     
                 
                             </div>

Modified: websites/production/tapestry/content/localization.html
==============================================================================
--- websites/production/tapestry/content/localization.html (original)
+++ websites/production/tapestry/content/localization.html Mon Feb 17 23:21:13 2014
@@ -96,7 +96,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="component-parameters.html">Component Parameters</a>
+                            <a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a>
                     
                 
                             </div>
@@ -105,7 +105,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a>
+                            <a shape="rect" href="component-parameters.html">Component Parameters</a>
                     
                 
                             </div>

Modified: websites/production/tapestry/content/news.html
==============================================================================
--- websites/production/tapestry/content/news.html (original)
+++ websites/production/tapestry/content/news.html Mon Feb 17 23:21:13 2014
@@ -61,7 +61,7 @@
   </div>
 
 <div id="content">
-<div id="ConfluenceContent"><p></p><br clear="none">
+<div id="ConfluenceContent"><p></p><p></p><p></p><br clear="none">
 <p></p><div id="bar"><br clear="none">
 <strong>We think you will love Tapestry!</strong> Give us 20 minutes and <strong><a shape="rect" href="tapestry-tutorial.html">follow our tutorial</a></strong>.<br clear="none">
 <p></p></div><p></p>

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 Feb 17 23:21:13 2014
@@ -103,7 +103,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <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"</p><p>&lt;style type='text/css'&gt;
+<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"</p><p></p><p>&lt;style type='text/css'&gt;
 .FootnoteMarker, .FootnoteNum a {
   background: transparent url(/confluence/download/resources/com.adaptavist.confluence.footnoteMacros:footnote/gfx/footnote.png) no-repeat top right;
   padding: 1px 2px 0px 1px;
@@ -169,11 +169,13 @@ var footnoteMarkerHighlight = function(i
 }
 //--&gt;
 &lt;/script&gt;
+
 <sup id="FootnoteMarker1">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker1" href="#Footnote1" onclick="footnoteHighlight(&quot;1&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             1
     </a>
-</sup></p><p></p>
+</sup>
+</p><p></p><p></p>
 
 <p>In addition, it is possible to define additional root packages for the application:</p>
 
@@ -247,7 +249,7 @@ public class DBImage
 
 
 
-<span class="gliffy-container" id="gliffy-container-23527573-5535" data-fullwidth="750" data-ceoid="23335008" data-filename="Class Loaders">
+<span class="gliffy-container" id="gliffy-container-23527573-4536" data-fullwidth="750" data-ceoid="23335008" data-filename="Class Loaders">
 
             
 <span class="gliffy-chrome-container">
@@ -267,11 +269,11 @@ public class DBImage
             </span>
 </span>
     
-    <map id="gliffy-map-23527573-3185" name="gliffy-map-23527573-3185"></map>
+    <map id="gliffy-map-23527573-1526" name="gliffy-map-23527573-1526"></map>
 
-    <img class="gliffy-image" id="gliffy-image-23527573-5535" 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" usemap="#gliffy-map-23527573-3185">
+    <img class="gliffy-image" id="gliffy-image-23527573-4536" 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" usemap="#gliffy-map-23527573-1526">
 
-    <map class="gliffy-dynamic" id="gliffy-dynamic-map-23527573-5535" name="gliffy-dynamic-map-23527573-5535"></map>
+    <map class="gliffy-dynamic" id="gliffy-dynamic-map-23527573-4536" name="gliffy-dynamic-map-23527573-4536"></map>
 </span>
 
 
@@ -334,13 +336,13 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <p>____</p>
 
-<p></p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody><tr name="Footnote1"><td colspan="1" rowspan="1" valign="top" class="FootnoteNum" headings="footnote-th1">
+<p></p><p></p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody><tr name="Footnote1"><td colspan="1" rowspan="1" valign="top" class="FootnoteNum" headings="footnote-th1">
         <a shape="rect" id="FootnoteNum1" href="#FootnoteMarker1" onclick="footnoteMarkerHighlight(&quot;1&quot;);" onmouseover="footnoteHighlight(&quot;1&quot;,false);" alt="Footnote: Click to return to reference in text" title="Footnote: Click to return to reference in text">
             1
         </a>
       </td><td colspan="1" rowspan="1" valign="top" class="Footnote" id="Footnote1" width="100%" headings="footnote-th2">
           Tapestry would also create an alias "account/view", by stripping off the redundant "account" suffix. Either name is equally valid in your code, and Tapestry will use the shorter name, "account/view" in URLs.
-      </td></tr></tbody></table></p><p></p></div>
+      </td></tr></tbody></table></p><p></p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/page-navigation.html
==============================================================================
--- websites/production/tapestry/content/page-navigation.html (original)
+++ websites/production/tapestry/content/page-navigation.html Mon Feb 17 23:21:13 2014
@@ -76,7 +76,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="component-events-faq.html">Component Events FAQ</a>
+                            <a shape="rect" href="content-type-and-markup.html">Content Type and Markup</a>
                     
                 
                             </div>
@@ -85,7 +85,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="request-processing.html">Request Processing</a>
+                            <a shape="rect" href="component-events-faq.html">Component Events FAQ</a>
                     
                 
                             </div>
@@ -94,7 +94,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="content-type-and-markup.html">Content Type and Markup</a>
+                            <a shape="rect" href="request-processing.html">Request Processing</a>
                     
                 
                             </div>
@@ -135,13 +135,7 @@
                 
                             </div>
         </li></ul>
-</div><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>{float:right<br clear="none"> This dichotomy between component event requests and render requests is new in Tapestry 5. It is in some ways based on ideas from the Portlet specification and differentiating the two types of 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><h2 id="PageNavigation-LogicalPageNameShortening">Logical Page Name Shortening</h2><p>I
 n certain cases, Tapestry will shorten the the logical name of a page. For example, the page class org.example.pages.address.CreateAddress will be given a logical name of "address/Create" (the redundant "Address" is removed as a suffix). However, this only affects how the page is referenced in URLs; the template file will still be CreateAddress.tml, whether on the classpath, or as address/CreateAddress.tml (in the web context).</p>    <div class="aui-message hint shadowed information-macro">
-                            <span class="aui-icon icon-hint">Icon</span>
-                <div class="message-content">
-                            <p>Tapestry actually creates multiple names for the name page: address/Create and address/CreateAddress are both synonymous. You can user either in Java code that refers to a page by name, or as the page parameter of a PageLink.</p>
-                    </div>
-    </div>
-<h2 id="PageNavigation-ComponentEventRequests&amp;Responses">Component Event Requests &amp; Responses</h2><p>Main Article: <a shape="rect" href="component-events.html">Component Events</a></p><p>Component event requests may take the form of hyperlinks (<a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/EventLink.html">EventLink</a> or <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/ActionLink.html">ActionLink</a>) or form submissions (<a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Form.html">Form</a>).</p><p>The value returned from an <a shape="rect" href="component-events.html">event handler method</a> controls the response sent to the client web browser.</p><p>The URL for a component event request identifies the name of the page, the nested id of the
  component, and the name of the event to trigger on the component (this is usually "action"). Further, a component event request may contain additional context information, which will be provided to the event handler method.</p><p>These URLs expose a bit of the internal structure of the application. Over time, as an application grows and is maintained, the ids of components may change. This means that component event request URLs should not be bookmarked. Fortunately, users will rarely have the chance to do so (see below).</p><h3 id="PageNavigation-1.Nullresponse">1. Null response</h3><p>If the event handler method returns no value, or returns null, then the current page (the page containing the component) will render the response.</p><p>A page render link for the current page is created and sent to the client as a client side redirect. The client browser will automatically submit a new request to generate the page.</p><p>The user will see the newly generated content in their browse
 r. In addition, the URL in the browser's address bar will be a render request URL. Render request URLs are shorter and contain less application structure (for instance, they don't include component ids or event types). Render requests URLs are what your users will bookmark. The component event request URLs are transitory, meaningful only while the application is actively engaged, and not meant to be used in later sessions.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div><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><p><br clear="none"><span style="color: rgb(83,145,38);font-size: 20.0px;line-height: 1.5;">Logical Page Name Shortening</span></p><p>In certain cases, Tapestry will shorten the the logical name of a page. For example, the page class org.example.page
 s.address.CreateAddress will be given a logical name of "address/Create" (the redundant "Address" is removed as a suffix). However, this only affects how the page is referenced in URLs; the template file will still be CreateAddress.tml, whether on the classpath, or as address/CreateAddress.tml (in the web context).</p><p><span>Tapestry actually creates multiple names for the name page: "address/Create" and "address/CreateAddress" are both synonymous. You can user either in Java code that refers to a page by name, or as the page parameter of a PageLink.</span></p><h2 id="PageNavigation-ComponentEventRequests&amp;Responses">Component Event Requests &amp; Responses</h2><p>Main Article: <a shape="rect" href="component-events.html">Component Events</a></p><p>Component event requests may take the form of hyperlinks (<a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/EventLink.html">EventLink</a> or <a shape="rect"
  class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/ActionLink.html">ActionLink</a>) or form submissions (<a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Form.html">Form</a>).</p><p>The value returned from an <a shape="rect" href="component-events.html">event handler method</a> controls the response sent to the client web browser.</p><p>The URL for a component event request identifies the name of the page, the nested id of the component, and the name of the event to trigger on the component (this is usually "action"). Further, a component event request may contain additional context information, which will be provided to the event handler method.</p><p>These URLs expose a bit of the internal structure of the application. Over time, as an application grows and is maintained, the ids of components may change. This means that component event request
  URLs should not be bookmarked. Fortunately, users will rarely have the chance to do so (see below).</p><h3 id="PageNavigation-1.Nullresponse">1. Null response</h3><p>If the event handler method returns no value, or returns null, then the current page (the page containing the component) will render the response.</p><p>A page render link for the current page is created and sent to the client as a client side redirect. The client browser will automatically submit a new request to generate the page.</p><p>The user will see the newly generated content in their browser. In addition, the URL in the browser's address bar will be a render request URL. Render request URLs are shorter and contain less application structure (for instance, they don't include component ids or event types). Render requests URLs are what your users will bookmark. The component event request URLs are transitory, meaningful only while the application is actively engaged, and not meant to be used in later sessions.</
 p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[public Object onAction(){
   return null;
 }]]></script>

Modified: websites/production/tapestry/content/principles.html
==============================================================================
--- websites/production/tapestry/content/principles.html (original)
+++ websites/production/tapestry/content/principles.html Mon Feb 17 23:21:13 2014
@@ -182,7 +182,7 @@ public class Login
 ]]></script>
 </div></div>
 
-<p>This short snippet demonstrates a bit about how Tapestry operates. Pages and services within the application are injected with the @<a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/Inject.html">Inject</a> annotation. The method names, <code>onValidateFromForm()</code> and <code>onSuccessFromForm()</code>, inform Tapestry about when each method is to be invoked. This naming convention identifies the event that is handled, ("validate" and "success") and the id of the component from which the event is triggered (the "form" component</p><p>&lt;style type='text/css'&gt;
+<p>This short snippet demonstrates a bit about how Tapestry operates. Pages and services within the application are injected with the @<a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/Inject.html">Inject</a> annotation. The method names, <code>onValidateFromForm()</code> and <code>onSuccessFromForm()</code>, inform Tapestry about when each method is to be invoked. This naming convention identifies the event that is handled, ("validate" and "success") and the id of the component from which the event is triggered (the "form" component</p><p></p><p>&lt;style type='text/css'&gt;
 .FootnoteMarker, .FootnoteNum a {
   background: transparent url(/confluence/download/resources/com.adaptavist.confluence.footnoteMacros:footnote/gfx/footnote.png) no-repeat top right;
   padding: 1px 2px 0px 1px;
@@ -248,11 +248,13 @@ var footnoteMarkerHighlight = function(i
 }
 //--&gt;
 &lt;/script&gt;
+
 <sup id="FootnoteMarker1">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker1" href="#Footnote1" onclick="footnoteHighlight(&quot;1&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             1
     </a>
-</sup></p>).<p></p>
+</sup>
+</p><p></p>).<p></p>
 
 <p>The "validate" event is triggered to perform cross-field validations, and the "success" event is only triggered when there are no validation errors. The <code>onSuccessFromForm()</code> method's return value directs Tapestry on what to do next: jump to another page within the application (here identified as the class for the page, but many other options exist). When there are exceptions, the page will be redisplayed to the user.</p>
 
@@ -295,13 +297,13 @@ var footnoteMarkerHighlight = function(i
 
 <hr>
 
-<p></p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody><tr name="Footnote1"><td colspan="1" rowspan="1" valign="top" class="FootnoteNum" headings="footnote-th1">
+<p></p><p></p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody><tr name="Footnote1"><td colspan="1" rowspan="1" valign="top" class="FootnoteNum" headings="footnote-th1">
         <a shape="rect" id="FootnoteNum1" href="#FootnoteMarker1" onclick="footnoteMarkerHighlight(&quot;1&quot;);" onmouseover="footnoteHighlight(&quot;1&quot;,false);" alt="Footnote: Click to return to reference in text" title="Footnote: Click to return to reference in text">
             1
         </a>
       </td><td colspan="1" rowspan="1" valign="top" class="Footnote" id="Footnote1" width="100%" headings="footnote-th2">
           The component id can be omitted, leaving the method name <code>onSuccess()</code>, but that may cause confusion on a page that has multiple Form components triggering events, so it's best to be specific about the source of the event.
-      </td></tr></tbody></table></p><p></p></div>
+      </td></tr></tbody></table></p><p></p><p></p></div>
 </div>
 
 <div class="clearer"></div>

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 Feb 17 23:21:13 2014
@@ -75,11 +75,11 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <p><strong>Contents</strong></p>
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1392502856898 {padding: 0px;}
-div.rbtoc1392502856898 ul {list-style: disc;margin-left: 0px;padding-left: 5px;}
-div.rbtoc1392502856898 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1392679258809 {padding: 0px;}
+div.rbtoc1392679258809 ul {list-style: disc;margin-left: 0px;padding-left: 5px;}
+div.rbtoc1392679258809 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1392502856898">
+/*]]>*/</style><div class="toc-macro rbtoc1392679258809">
 <ul class="toc-indentation"><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.19">Tapestry Version 5.0.19</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.18">Tapestry Version 5.0.18</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.17">Tapestry Version 5.0.17</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.16">Tapestry Version 5.0.16</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.15">Tapestry Version 5.0.15</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.14">Tapestry Version 5.0.14</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.13">Tapestry Version 5.0.13</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.12">Tapestry Version 5.0.12</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.11">Tapestry Version 5.0.11</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.10">Tapestry Version 5.0.
 10</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.9">Tapestry Version 5.0.9</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.8">Tapestry Version 5.0.8</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.7">Tapestry Version 5.0.7</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.6">Tapestry Version 5.0.6</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.5">Tapestry Version 5.0.5</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.4">Tapestry Version 5.0.4</a></li><li><a shape="rect" href="#ReleaseNotes5.0-TapestryVersion5.0.3">Tapestry Version 5.0.3</a></li></ul>
 </div>
 

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 Feb 17 23:21:13 2014
@@ -75,11 +75,11 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <p><strong>Contents</strong></p>
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1392502838023 {padding: 0px;}
-div.rbtoc1392502838023 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1392502838023 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1392679248505 {padding: 0px;}
+div.rbtoc1392679248505 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1392679248505 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1392502838023">
+/*]]>*/</style><div class="toc-macro rbtoc1392679248505">
 <ul class="toc-indentation"><li><a shape="rect" href="#ReleaseNotes5.1-TapestryVersion5.1.0.5">Tapestry Version 5.1.0.5</a></li><li><a shape="rect" href="#ReleaseNotes5.1-TapestryVersion5.1.0.4">Tapestry Version 5.1.0.4</a></li><li><a shape="rect" href="#ReleaseNotes5.1-TapestryVersion5.1.0.3">Tapestry Version 5.1.0.3</a></li><li><a shape="rect" href="#ReleaseNotes5.1-TapestryVersion5.1.0.2">Tapestry Version 5.1.0.2</a></li><li><a shape="rect" href="#ReleaseNotes5.1-TapestryVersion5.1.0.1">Tapestry Version 5.1.0.1</a></li><li><a shape="rect" href="#ReleaseNotes5.1-TapestryVersion5.1.0.0">Tapestry Version 5.1.0.0</a></li></ul>
 </div>
 

Modified: websites/production/tapestry/content/release-notes-52.html
==============================================================================
--- websites/production/tapestry/content/release-notes-52.html (original)
+++ websites/production/tapestry/content/release-notes-52.html Mon Feb 17 23:21:13 2014
@@ -80,11 +80,11 @@ table.ScrollbarTable td.ScrollbarNextNam
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
 /*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="release-notes-51.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="release-notes-51.html">Release Notes 5.1</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="release-notes.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="release-notes.html">Release Notes</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="release-notes-53.html">Release Notes 5.3</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="release-notes-53.html"><img alig
 n="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div><p>This is the consolidated list of changes between Tapestry versions 5.1 and 5.2. To upgrade from 5.1 to 5.2, most users will be able to just update the Maven dependency in their POM file (or <a shape="rect" href="download.html">download</a> the new JAR file) and the new version will just work. However, please read carefully below before upgrading, and also review the <a shape="rect" href="how-to-upgrade.html">How to Upgrade</a> instructions.</p><p><strong>Contents</strong></p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1392502848669 {padding: 0px;}
-div.rbtoc1392502848669 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1392502848669 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1392679255593 {padding: 0px;}
+div.rbtoc1392679255593 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1392679255593 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1392502848669">
+/*]]>*/</style></p><div class="toc-macro rbtoc1392679255593">
 <ul class="toc-indentation"><li><a shape="rect" href="#ReleaseNotes5.2-BreakingChanges">Breaking Changes</a></li><li><a shape="rect" href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.6">Release Notes: Tapestry 5.2.6</a></li><li><a shape="rect" href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.5">Release Notes: Tapestry 5.2.5</a></li><li><a shape="rect" href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.4">Release Notes: Tapestry 5.2.4</a></li><li><a shape="rect" href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.3">Release Notes: Tapestry 5.2.3</a></li><li><a shape="rect" href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.2">Release Notes: Tapestry 5.2.2</a></li><li><a shape="rect" href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.1">Release Notes: Tapestry 5.2.1</a></li><li><a shape="rect" href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.0">Release Notes: Tapestry 5.2.0</a></li></ul>
 </div><h2 id="ReleaseNotes5.2-BreakingChanges">Breaking Changes</h2><p>The following changes have been made in Tapestry 5.2 that are likely to result in unexpected behavior if your application relies on the changed functionality. Please review this list carefully before upgrading from 5.1 to 5.2. Also check the <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/deprecated-list.html">Deprecated API List</a> for non-breaking changes.</p><ul><li>Page classes with instance variables that are not thread safe must be created in a method rather than declared as an instance variable. For example, creating an instance variable <code>private final DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);</code> in a page and using it will cause problems because DateFormat is not thread safe. Instead, you must create the DateFormat in a method. See <a shape="rect" href="#ReleaseNotes5.2-Tap5.2.0">Release Notes: Tapestry 5.2.0</a> (below) for
  details.</li><li><a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/Link.html#toAbsoluteURI%28%29">Link.toAbsoluteURI()</a> now returns the absolute URL, which includes the scheme, hostname and possibly port (e.g., "http://example.com:8080/myapp/viewproduct/4"), rather than a relative URL (e.g., "/myapp/viewproduct/4"). See <a shape="rect" href="#ReleaseNotes5.2-Tap5.2.2">Release Notes: Tapestry 5.2.2</a> (below) for details.</li><li>The <a shape="rect" class="external-link" href="http://tapestry.apache.org/tapestry5.2-dev/tapestry-core/ref/org/apache/tapestry5/corelib/components/Label.html">Label</a> component no longer outputs an id:</li></ul><p>Previously valid code in 5.1.0.5:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;t:form&gt;&lt;t:label for=&quot;search&quot;/&gt;&lt;t:textfield t:id=&quot;search&quot; size=&quot;50&quot;/&gt;&lt;/t:form&gt;]]></script>

Modified: websites/production/tapestry/content/release-notes-53.html
==============================================================================
--- websites/production/tapestry/content/release-notes-53.html (original)
+++ websites/production/tapestry/content/release-notes-53.html Mon Feb 17 23:21:13 2014
@@ -75,11 +75,11 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <p><strong>Contents</strong></p>
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1392502845014 {padding: 0px;}
-div.rbtoc1392502845014 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1392502845014 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1392679253970 {padding: 0px;}
+div.rbtoc1392679253970 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1392679253970 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1392502845014">
+/*]]>*/</style><div class="toc-macro rbtoc1392679253970">
 <ul class="toc-indentation"><li><a shape="rect" href="#ReleaseNotes5.3-BreakingChanges">Breaking Changes</a></li><li><a shape="rect" href="#ReleaseNotes5.3-NewFeatures">New Features</a></li><li><a shape="rect" href="#ReleaseNotes5.3-Sub-tasksCompleted">Sub-tasks Completed</a></li><li><a shape="rect" href="#ReleaseNotes5.3-BugsFixed">Bugs Fixed</a></li><li><a shape="rect" href="#ReleaseNotes5.3-ImprovementsMade">Improvements Made</a></li><li><a shape="rect" href="#ReleaseNotes5.3-NewFeaturesImplemented">New Features Implemented</a></li><li><a shape="rect" href="#ReleaseNotes5.3-TasksCompleted">Tasks Completed</a></li></ul>
 </div> 
 

Modified: websites/production/tapestry/content/release-notes-535.html
==============================================================================
--- websites/production/tapestry/content/release-notes-535.html (original)
+++ websites/production/tapestry/content/release-notes-535.html Mon Feb 17 23:21:13 2014
@@ -70,7 +70,7 @@ table.ScrollbarTable td.ScrollbarNextNam
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
 /*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="release-notes-534.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="release-notes-534.html">Release Notes 5.3.4</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="release-notes.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="release-notes.html">Release Notes</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="release-notes-536.html">Release Notes 5.3.6</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a shape="rect" href="release-notes-536.html"><
 img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div> 
-<p></p><p></p><p></p>
+<p></p><p></p><p></p><p></p><p></p>
 
 <p>This is the consolidated list of changes between Tapestry included in version 5.3.5. Tapestry 5.3.5 is a drop-in replacement for prior Tapestry 5.3 releases. To upgrade, just update the Maven dependency in you POM file (or <a shape="rect" href="download.html">download</a> the new JAR file) and the new version will just work. However, please review the <a shape="rect" href="how-to-upgrade.html">How to Upgrade</a> instructions before upgrading. </p>
 

Modified: websites/production/tapestry/content/release-process.html
==============================================================================
--- websites/production/tapestry/content/release-process.html (original)
+++ websites/production/tapestry/content/release-process.html Mon Feb 17 23:21:13 2014
@@ -86,7 +86,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="confluence-site-setup.html">Confluence Site Setup</a>
+                            <a shape="rect" href="developer-information.html">Developer Information</a>
                     
                 
                             </div>
@@ -95,7 +95,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="release-process.html">Release Process</a>
+                            <a shape="rect" href="building-tapestry-from-source.html">Building Tapestry from Source</a>
                     
                 
                             </div>
@@ -104,7 +104,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="developer-information.html">Developer Information</a>
+                            <a shape="rect" href="confluence-site-setup.html">Confluence Site Setup</a>
                     
                 
                             </div>
@@ -113,7 +113,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="developer-bible.html">Developer Bible</a>
+                            <a shape="rect" href="release-process.html">Release Process</a>
                     
                 
                             </div>
@@ -122,7 +122,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="building-tapestry-from-source.html">Building Tapestry from Source</a>
+                            <a shape="rect" href="developer-bible.html">Developer Bible</a>
                     
                 
                             </div>

Modified: websites/production/tapestry/content/security.html
==============================================================================
--- websites/production/tapestry/content/security.html (original)
+++ websites/production/tapestry/content/security.html Mon Feb 17 23:21:13 2014
@@ -85,7 +85,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="integrating-with-spring-framework.html">Integrating with Spring Framework</a>
+                            <a shape="rect" href="security-faq.html">Security FAQ</a>
                     
                 
                             </div>
@@ -94,7 +94,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="security-faq.html">Security FAQ</a>
+                            <a shape="rect" href="integrating-with-spring-framework.html">Integrating with Spring Framework</a>
                     
                 
                             </div>

Modified: websites/production/tapestry/content/session-storage.html
==============================================================================
--- websites/production/tapestry/content/session-storage.html (original)
+++ websites/production/tapestry/content/session-storage.html Mon Feb 17 23:21:13 2014
@@ -104,11 +104,11 @@
 <h1 id="SessionStorage-SessionStorage">Session Storage</h1>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1392502859710 {padding: 0px;}
-div.rbtoc1392502859710 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1392502859710 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1392679259540 {padding: 0px;}
+div.rbtoc1392679259540 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1392679259540 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1392502859710">
+/*]]>*/</style><div class="toc-macro rbtoc1392679259540">
 <ul class="toc-indentation"><li>Related Articles</li><li><a shape="rect" href="#SessionStorage-SessionStateObjects">Session State Objects</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#SessionStorage-Pitfalls">Pitfalls</a></li><li><a shape="rect" href="#SessionStorage-CheckforCreation">Check for Creation</a></li><li><a shape="rect" href="#SessionStorage-PersistenceStrategies">Persistence Strategies</a></li><li><a shape="rect" href="#SessionStorage-ConfiguringSSOs">Configuring SSOs</a></li></ul>
 </li><li><a shape="rect" href="#SessionStorage-SessionAttributes">Session Attributes</a>

Modified: websites/production/tapestry/content/supporting-informal-parameters.html
==============================================================================
--- websites/production/tapestry/content/supporting-informal-parameters.html (original)
+++ websites/production/tapestry/content/supporting-informal-parameters.html Mon Feb 17 23:21:13 2014
@@ -107,7 +107,7 @@ table.ScrollbarTable td.ScrollbarNextIco
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="component-parameters.html">Component Parameters</a>
+                            <a shape="rect" href="default-parameter.html">Default Parameter</a>
                     
                 
                             </div>
@@ -116,7 +116,7 @@ table.ScrollbarTable td.ScrollbarNextIco
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="default-parameter.html">Default Parameter</a>
+                            <a shape="rect" href="component-parameters.html">Component Parameters</a>
                     
                 
                             </div>

Modified: websites/production/tapestry/content/templating-and-markup-faq.html
==============================================================================
--- websites/production/tapestry/content/templating-and-markup-faq.html (original)
+++ websites/production/tapestry/content/templating-and-markup-faq.html Mon Feb 17 23:21:13 2014
@@ -86,7 +86,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 </div></div><p>Part of the DOCTYPE is the declaration of entities such as <code>&amp;nbsp;</code>.</p><p>Alternately, you can simply use the numeric version: <code>&amp;#160</code>; This is the exact same character and will render identically in the browser.</p><p>Starting in release 5.3, Tapestry introduces an XHTML doctype when no doctype is present; this means that common HTML entities will work correctly.</p><h3 id="TemplatingandMarkupFAQ-Whydosomeimagesinmypageshowupasbrokenlinks?">Why do some images in my page show up as broken links?</h3><p>You have to be careful when using relative URLs inside page templates; the base URL may not always be what you expect. For example, inside your <code>ViewUser.tml</code> file, you may have:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[  &lt;img class=&quot;icon&quot; src=&quot;icons/admin.png&quot;/&gt;${user.name} has Administrative access
 ]]></script>
-</div></div><p>This makes sense; <code>ViewUser.tml</code> is in the web context, as is the <code>icons</code> folder. The default URL for this page will be <code>/viewuser</code></p>&lt;style type='text/css'&gt;
+</div></div><p>This makes sense; <code>ViewUser.tml</code> is in the web context, as is the <code>icons</code> folder. The default URL for this page will be <code>/viewuser</code></p><p>&lt;style type='text/css'&gt;
 .FootnoteMarker, .FootnoteNum a {
   background: transparent url(/confluence/download/resources/com.adaptavist.confluence.footnoteMacros:footnote/gfx/footnote.png) no-repeat top right;
   padding: 1px 2px 0px 1px;
@@ -152,11 +152,13 @@ var footnoteMarkerHighlight = function(i
 }
 //--&gt;
 &lt;/script&gt;
+
 <sup id="FootnoteMarker1">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker1" href="#Footnote1" onclick="footnoteHighlight(&quot;1&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             1
     </a>
-</sup><p>&#160;</p><p>However, most likely, the ViewUser page has a page activation context to identify which user is to be displayed:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</sup>
+</p><p>&#160;</p><p>However, most likely, the ViewUser page has a page activation context to identify which user is to be displayed:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[public class ViewUser
 
   @Property
@@ -165,12 +167,13 @@ var footnoteMarkerHighlight = function(i
 
   . . .
 ]]></script>
-</div></div><p>With a page activation context, the URL for the page will incorporate the id of the User object, something like <code>/viewuser/37371</code>. This is why the relative URLs to the <code>admin.png</code> image is broken: the base path is relative to the page's URL, not to the page template</p>
+</div></div><p>With a page activation context, the URL for the page will incorporate the id of the User object, something like <code>/viewuser/37371</code>. This is why the relative URLs to the <code>admin.png</code> image is broken: the base path is relative to the page's URL, not to the page template</p><p>
 <sup id="FootnoteMarker2">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker2" href="#Footnote2" onclick="footnoteHighlight(&quot;2&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             2
     </a>
-</sup><p>.</p><p>&#160;</p><p>One solution would be to predict what the page URL will be, and adjust the path for that:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</sup>
+</p><p>.</p><p>&#160;</p><p>One solution would be to predict what the page URL will be, and adjust the path for that:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[  &lt;img class=&quot;icon&quot; src=&quot;../icons/admin.png&quot;/&gt;${user.name} has Administrative access
 ]]></script>
 </div></div><p>But this has its own problems; the page activation context may vary in length at different times, or the template in question may be a component used across many different pages, making it difficult to predict what the correct relative URL would be.</p><p>The <em>best</em> solution for this situation, one that will be sure to work in all pages and all components, is to make use of the <code>context:</code> binding prefix:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -212,7 +215,7 @@ table.ScrollbarTable td.ScrollbarParent 
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="general-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="general-questions.html">General Questions</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="frequently-asked-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="page-and-component-classes-faq.html">Page And Component Classes FAQ</a></td><td colspan="1" rowspan="1" class="Scrol
 lbarNextIcon"><a shape="rect" href="page-and-component-classes-faq.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div><p>&#160;</p><p>&#160;</p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody><tr name="Footnote1"><td colspan="1" rowspan="1" valign="top" class="FootnoteNum" headings="footnote-th1">
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="general-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="general-questions.html">General Questions</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="frequently-asked-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="page-and-component-classes-faq.html">Page And Component Classes FAQ</a></td><td colspan="1" rowspan="1" class="Scrol
 lbarNextIcon"><a shape="rect" href="page-and-component-classes-faq.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div><p>&#160;</p><p>&#160;</p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody><tr name="Footnote1"><td colspan="1" rowspan="1" valign="top" class="FootnoteNum" headings="footnote-th1">
         <a shape="rect" id="FootnoteNum1" href="#FootnoteMarker1" onclick="footnoteMarkerHighlight(&quot;1&quot;);" onmouseover="footnoteHighlight(&quot;1&quot;,false);" alt="Footnote: Click to return to reference in text" title="Footnote: Click to return to reference in text">
             1
         </a>
@@ -224,7 +227,7 @@ table.ScrollbarTable td.ScrollbarNextIco
         </a>
       </td><td colspan="1" rowspan="1" valign="top" class="Footnote" id="Footnote2" width="100%" headings="footnote-th2">
           In fact, the page template may not even be in the web context, it may be stored on the classpath, as component templates are.
-      </td></tr></tbody></table></div>
+      </td></tr></tbody></table></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/test-page-2.html
==============================================================================
--- websites/production/tapestry/content/test-page-2.html (original)
+++ websites/production/tapestry/content/test-page-2.html Mon Feb 17 23:21:13 2014
@@ -63,11 +63,11 @@
 <div id="content">
 <div id="ConfluenceContent"><p>
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1392502850550 {padding: 0px;}
-div.rbtoc1392502850550 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1392502850550 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1392679256874 {padding: 0px;}
+div.rbtoc1392679256874 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1392679256874 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1392502850550">
+/*]]>*/</style></p><div class="toc-macro rbtoc1392679256874">
 <ul class="toc-indentation"><li><a shape="rect" href="#TestPage2-Generalquestions">General questions</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#TestPage2-HowdoIgetstartedwithTapestry?">How do I get started with Tapestry?</a></li><li><a shape="rect" href="#TestPage2-WhydoesTapestryusePrototype?WhynotinsertfavoriteJavaScriptlibraryhere?">Why does Tapestry use Prototype? Why not insert favorite JavaScript library here?</a></li><li><a shape="rect" href="#TestPage2-WhydoesTapestryhaveitsownInversionofControlContainer?WhynotSpringorGuice?">Why does Tapestry have its own Inversion of Control Container? Why not Spring or Guice?</a></li><li><a shape="rect" href="#TestPage2-HowdoIupgradefromTapestry4toTapestry5?">How do I upgrade from Tapestry 4 to Tapestry 5?</a></li><li><a shape="rect" href="#TestPage2-WhyaretherebothRequestandHttpServletRequest?">Why are there both Request and HttpServletRequest?</a></li></ul>
 </li></ul>
@@ -114,7 +114,7 @@ div.rbtoc1392502850550 li {margin-left: 
 <p>However, the stronger reason for Request (and the related interfaces Response and Session) is to enable the support for Portlets at some point in the future. By writing code in terms of Tapestry's Request, and not HttpServletRequest, you can be assured that the same code will operate in both Servlet Tapestry and Portlet Tapestry.</p>
 
 <hr>
-<p></p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody></tbody></table></p><p></p></div>
+<p></p><p></p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody></tbody></table></p><p></p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/type-coercion.html
==============================================================================
--- websites/production/tapestry/content/type-coercion.html (original)
+++ websites/production/tapestry/content/type-coercion.html Mon Feb 17 23:21:13 2014
@@ -104,7 +104,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="component-parameters.html">Component Parameters</a>
+                            <a shape="rect" href="default-parameter.html">Default Parameter</a>
                     
                 
                             </div>
@@ -113,7 +113,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="type-coercion.html">Type Coercion</a>
+                            <a shape="rect" href="component-parameters.html">Component Parameters</a>
                     
                 
                             </div>
@@ -122,7 +122,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="default-parameter.html">Default Parameter</a>
+                            <a shape="rect" href="type-coercion.html">Type Coercion</a>
                     
                 
                             </div>

Modified: websites/production/tapestry/content/using-beaneditform-to-create-user-forms.html
==============================================================================
--- websites/production/tapestry/content/using-beaneditform-to-create-user-forms.html (original)
+++ websites/production/tapestry/content/using-beaneditform-to-create-user-forms.html Mon Feb 17 23:21:13 2014
@@ -141,7 +141,7 @@ public class CreateAddress
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[  @Property
   private Address address;
 ]]></script>
-</div></div><p>When you refresh the page, you'll see the following:</p><p><img class="confluence-embedded-image" width="700" src="https://cwiki.apache.org/confluence/download/attachments/23340431/create-address-initial.png?version=1&amp;modificationDate=1291927518000&amp;api=v2" data-image-src="/confluence/download/attachments/23340431/create-address-initial.png?version=1&amp;modificationDate=1291927518000&amp;api=v2"></p><p>Tapestry's done quite a bit of work here. It has created a form that includes a field for each property. Further, its seen that the honorific property is an enumerated type, and presented that as a drop-down list.</p><p>In addition, Tapestry has converted the property names ("city", "email", "firstName") to user presentable labels ("City", "Email", "First Name"). In fact, these are &lt;label&gt; elements, so clicking a label with the mouse will move the input cursor into the corresponding field.</p><p>This is an awesome start; it's a presentable interface, quite
  nice in fact for a few minute's work. But it's far from perfect; let's get started with some customizations.</p><h1 id="UsingBeanEditFormToCreateUserForms-ChangingFieldOrder">Changing Field Order</h1><p>The BeanEditForm must guess at the right order to present the fields; for public fields, they end up in alphabetical order</p>&lt;style type='text/css'&gt;
+</div></div><p>When you refresh the page, you'll see the following:</p><p><img class="confluence-embedded-image" width="700" src="https://cwiki.apache.org/confluence/download/attachments/23340431/create-address-initial.png?version=1&amp;modificationDate=1291927518000&amp;api=v2" data-image-src="/confluence/download/attachments/23340431/create-address-initial.png?version=1&amp;modificationDate=1291927518000&amp;api=v2"></p><p>Tapestry's done quite a bit of work here. It has created a form that includes a field for each property. Further, its seen that the honorific property is an enumerated type, and presented that as a drop-down list.</p><p>In addition, Tapestry has converted the property names ("city", "email", "firstName") to user presentable labels ("City", "Email", "First Name"). In fact, these are &lt;label&gt; elements, so clicking a label with the mouse will move the input cursor into the corresponding field.</p><p>This is an awesome start; it's a presentable interface, quite
  nice in fact for a few minute's work. But it's far from perfect; let's get started with some customizations.</p><h1 id="UsingBeanEditFormToCreateUserForms-ChangingFieldOrder">Changing Field Order</h1><p>The BeanEditForm must guess at the right order to present the fields; for public fields, they end up in alphabetical order</p><p>&lt;style type='text/css'&gt;
 .FootnoteMarker, .FootnoteNum a {
   background: transparent url(/confluence/download/resources/com.adaptavist.confluence.footnoteMacros:footnote/gfx/footnote.png) no-repeat top right;
   padding: 1px 2px 0px 1px;
@@ -207,11 +207,13 @@ var footnoteMarkerHighlight = function(i
 }
 //--&gt;
 &lt;/script&gt;
+
 <sup id="FootnoteMarker1">
     <a shape="rect" class="FootnoteMarker" name="FootnoteMarker1" href="#Footnote1" onclick="footnoteHighlight(&quot;1&quot;,true);" alt="Footnote: Click here to display the footnote" title="Footnote: Click here to display the footnote">
             1
     </a>
-</sup><p>.</p><p>&#160;</p><p>A better order for these fields is the order in which they are defined in the Address class:</p><ul><li>honorific</li><li>firstName</li><li>lastName</li><li>street1</li><li>street2</li><li>city</li><li>state</li><li>zip</li><li>email</li><li>phone</li></ul><p>We can accomplish this by using the <code>reorder</code> parameter of the BeanEditForm component, which is a comma separated list of property (or public field) names:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>CreateAddress.tml (partial)</b></div><div class="codeContent panelContent pdl">
+</sup>
+</p><p>.</p><p>&#160;</p><p>A better order for these fields is the order in which they are defined in the Address class:</p><ul><li>honorific</li><li>firstName</li><li>lastName</li><li>street1</li><li>street2</li><li>city</li><li>state</li><li>zip</li><li>email</li><li>phone</li></ul><p>We can accomplish this by using the <code>reorder</code> parameter of the BeanEditForm component, which is a comma separated list of property (or public field) names:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>CreateAddress.tml (partial)</b></div><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[  &lt;t:beaneditform object=&quot;address&quot;
     reorder=&quot;honorific,firstName,lastName,street1,street2,city,state,zip,email,phone&quot; /&gt;
 ]]></script>