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
 Thu May 19 20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="security-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Security FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="request-processing-faq.html" rel="next">
-                <span class="title">Request Processing FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h2 
id="Integrationwithexistingapplications-Integrationwithexistingapplications">Integration
 with existing applications</h2><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><h3 
id="Integrationwithexistingapplications-HowdoImakeaformonaJSPsubmitintoTapestry?">How
 do I make a form on a JSP submit into Tapestry?</h3><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 style="line-height: 
1.4285715;">Tapestry is case insensitive, LoginForm would work just as 
well)</span><span style="line-height: 1.4285715;">, and the URL will be 
</span><code style="line-height: 1.4285715;">/loginform</code><span 
style="line-height: 1.4285715;">.</span></p><p>&#160;</p><div class="code panel 
pdl" style="border-width: 1
 px;"><div class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><h2 
id="Integrationwithexistingapplications-Integrationwithexistingapplications">Integration
 with existing applications</h2><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><h3 
id="Integrationwithexistingapplications-HowdoImakeaformonaJSPsubmitintoTapestry?">How
 do I make a form on a JSP submit into Tapestry?</h3><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 n
 ecessary: 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 style="line-height: 
1.4285715;">Tapestry is case insensitive, LoginForm would work just as 
well)</span><span style="line-height: 1.4285715;">, and the URL will be 
</span><code style="line-height: 1.4285715;">/loginform</code><span 
style="line-height: 1.4285715;">.</span></p><p>&#160;</p><div class="
 code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <pre class="brush: java; gutter: true; theme: Default" 
style="font-size:12px;">&lt;form method="post" action="/loginform"&gt;
 
   &lt;input type="text" value="userName"/&gt;
@@ -119,30 +96,7 @@
   private SearchResults searchResults;
 }
 </pre>
-</div></div><p>Reading the instance variable <code>searchResults</code> is 
instrumented to instead read the corresponding HttpSession attribute named 
"searchResults". You can also specify the <code>value</code> attribute of the 
SessionAttribute annotation to override the default attribute 
name.</p><p>Writing to the field causes the corresponding HttpSession attribute 
to be modified.</p><p>The session is automatically created as needed.</p><h3 
id="Integrationwithexistingapplications-HowdoIputtheTapestryapplicationinsideafolder,toavoidconflicts?">How
 do I put the Tapestry application inside a folder, to avoid 
conflicts?</h3><p>Support for this was added in 5.3; see the notes on the <a  
href="configuration.html">configuration page</a>.</p>    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="security-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Security FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="request-processing-faq.html" rel="next">
-                <span class="title">Request Processing FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><p>&#160;</p><p>&#160;</p><p>&#160;</p></div>
+</div></div><p>Reading the instance variable <code>searchResults</code> is 
instrumented to instead read the corresponding HttpSession attribute named 
"searchResults". You can also specify the <code>value</code> attribute of the 
SessionAttribute annotation to override the default attribute 
name.</p><p>Writing to the field causes the corresponding HttpSession attribute 
to be modified.</p><p>The session is automatically created as needed.</p><h3 
id="Integrationwithexistingapplications-HowdoIputtheTapestryapplicationinsideafolder,toavoidconflicts?">How
 do I put the Tapestry application inside a folder, to avoid 
conflicts?</h3><p>Support for this was added in 5.3; see the notes on the <a  
href="configuration.html">configuration 
page</a>.</p><p>&#160;</p><p>&#160;</p><p>&#160;</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: 
websites/production/tapestry/content/ioc-cookbook-basic-services-and-injection.html
==============================================================================
--- 
websites/production/tapestry/content/ioc-cookbook-basic-services-and-injection.html
 (original)
+++ 
websites/production/tapestry/content/ioc-cookbook-basic-services-and-injection.html
 Thu May 19 20:20:15 2016
@@ -69,26 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        
-    </div>
-    <div class="parent">
-                    <a  href="ioc-cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">IoC cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="ioc-cookbook-overriding-ioc-services.html" rel="next">
-                <span class="title">IoC Cookbook - Overriding IoC 
Services</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div>
+                <div id="ConfluenceContent">
 
 <p>The starting point for Tapestry IOC services and injection is knowing a few 
conventions: what to name your classes, what packages to put them in and so 
forth.</p>
 
@@ -201,27 +182,7 @@ public class ExceptionAnalyzerImpl imple
 </div></div>
 
 <p>This is far from the final word on injection and disambiguation; we'll be 
coming back to this concept repeatedly. And in later chapters of the cookbook, 
we'll also go into more detail about the many other concepts present in this 
example. The important part is that Tapestry <em>primarily</em> works off the 
parameter type (at the point of injection), but when that is insufficient 
(you'll know ... there will be an error) you can provide additional 
information, in the form of annotations, to straighten things out.</p>
-
-    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        
-    </div>
-    <div class="parent">
-                    <a  href="ioc-cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">IoC cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="ioc-cookbook-overriding-ioc-services.html" rel="next">
-                <span class="title">IoC Cookbook - Overriding IoC 
Services</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div>
       </div>
 
       <div class="clearer"></div>

Modified: 
websites/production/tapestry/content/ioc-cookbook-overriding-ioc-services.html
==============================================================================
--- 
websites/production/tapestry/content/ioc-cookbook-overriding-ioc-services.html 
(original)
+++ 
websites/production/tapestry/content/ioc-cookbook-overriding-ioc-services.html 
Thu May 19 20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="ioc-cookbook-basic-services-and-injection.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">IoC Cookbook - Basic 
Services and Injection</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="ioc-cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">IoC cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="ioc-cookbook-patterns.html" rel="next">
-                <span class="title">IoC Cookbook - Patterns</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h1 
id="IoCCookbook-OverridingIoCServices-OverridingTapestryIoCServices">Overriding 
Tapestry IoC Services</h1><p>Tapestry is designed to be easy to customize, and 
the IoC container is the key to that customizability.</p><p>One of Tapestry's 
most important activities is resolving injected objects; that is, when Tapestry 
is building an object or service and sees a constructor parameter or a field, 
it must decide what value to plug in. Most of the time, the injected object is 
a service defined elsewhere within the Tapestry IoC container.</p><p>However, 
there are cases where you might want to override how Tapestry operates in some 
specific way.</p><p>The strategy used to determine what object gets injected is 
<a  href="injection-in-detail.html">defined inside Tapestry IoC itself</a>; 
thus we can take advantage of several features of the Tapestry IoC container in 
order to take control over specific injections.</p><h2 
id="IoCCookbook-OverridingIoCServices-ContributingaServiceOverrid
 e">Contributing a Service Override</h2><p>In most cases, services are injected 
by matching just the type; there is no @<a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/InjectService.html";>InjectService</a>
 annotation, just a method or constructor parameter whose type matches the 
service's interface.</p><p>In this case, it is very easy to supply your own 
alternate implementation of a service, by <em>contributing</em><em> a Service 
Override</em> in your module class (usually AppModule.java), like this:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>AppModule.java 
(partial)</b></div><div class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><h1 
id="IoCCookbook-OverridingIoCServices-OverridingTapestryIoCServices">Overriding 
Tapestry IoC Services</h1><p>Tapestry is designed to be easy to customize, and 
the IoC container is the key to that customizability.</p><p>One of Tapestry's 
most important activities is resolving injected objects; that is, when Tapestry 
is building an object or service and sees a constructor parameter or a field, 
it must decide what value to plug in. Most of the time, the injected object is 
a service defined elsewhere within the Tapestry IoC container.</p><p>However, 
there are cases where you might want to override how Tapestry operates in some 
specific way.</p><p>The strategy used to determine what object gets injected is 
<a  href="injection-in-detail.html">defined inside Tapestry IoC itself</a>; 
thus we can take advantage of several features of the Tapestry IoC container in 
order to take control over specific injections.</p><h2 
id="IoCCookbook-OverridingI
 oCServices-ContributingaServiceOverride">Contributing a Service 
Override</h2><p>In most cases, services are injected by matching just the type; 
there is no @<a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/InjectService.html";>InjectService</a>
 annotation, just a method or constructor parameter whose type matches the 
service's interface.</p><p>In this case, it is very easy to supply your own 
alternate implementation of a service, by <em>contributing</em><em> a Service 
Override</em> in your module class (usually AppModule.java), like this:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>AppModule.java 
(partial)</b></div><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">  @Contribute(ServiceOverride.class)
   public static void 
setupApplicationServiceOverrides(MappedConfiguration&lt;Class,Object&gt; 
configuration)
   {
@@ -117,30 +94,7 @@
     return new SomeServiceType() { . . . };
   }
 </pre>
-</div></div><p>This decorate method is invoked because its name matches the 
service id of the original service, "SomeServiceType" (you have to adjust the 
name to match the service id).</p><p>The method is passed the original service 
and its job it to return an <em>interceptor</em>, an object that implements the 
same interface, wrapping around the original service. In many cases, your code 
will simply re-invoke methods on the delegate, passing the same parameters. 
However, an interceptor can decide to not invoke methods, or it can change 
parameters, or change return values, or catch or throw exceptions.</p><p>Note 
that the object passed in as <code>delegate</code> may be the core service 
implementation, or it may be some other interceptor from some other decorator 
for the same service.</p><hr><p>&#160;</p><p>&#160;</p>    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="ioc-cookbook-basic-services-and-injection.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">IoC Cookbook - Basic 
Services and Injection</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="ioc-cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">IoC cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="ioc-cookbook-patterns.html" rel="next">
-                <span class="title">IoC Cookbook - Patterns</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div></div><p>This decorate method is invoked because its name matches the 
service id of the original service, "SomeServiceType" (you have to adjust the 
name to match the service id).</p><p>The method is passed the original service 
and its job it to return an <em>interceptor</em>, an object that implements the 
same interface, wrapping around the original service. In many cases, your code 
will simply re-invoke methods on the delegate, passing the same parameters. 
However, an interceptor can decide to not invoke methods, or it can change 
parameters, or change return values, or catch or throw exceptions.</p><p>Note 
that the object passed in as <code>delegate</code> may be the core service 
implementation, or it may be some other interceptor from some other decorator 
for the same service.</p><hr><p>&#160;</p><p>&#160;</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/ioc-cookbook-patterns.html
==============================================================================
--- websites/production/tapestry/content/ioc-cookbook-patterns.html (original)
+++ websites/production/tapestry/content/ioc-cookbook-patterns.html Thu May 19 
20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>    
-</p><div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="ioc-cookbook-overriding-ioc-services.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">IoC Cookbook - Overriding 
IoC Services</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="ioc-cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">IoC cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="ioc-cookbook-service-configurations.html" rel="next">
-                <span class="title">IoC cookbook - Service 
Configurations</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div>Tapestry IoC has support for implementing several of the <a  
class="external-link" 
href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)" 
rel="nofollow">Gang Of Four Design Patterns</a>. In fact, the IoC container 
itself is a pumped up version of the Factory pattern.<div class="aui-label" 
style="float:right" title="Related Articles">
+                <div id="ConfluenceContent"><p>Tapestry IoC has support for 
implementing several of the <a  class="external-link" 
href="http://en.wikipedia.org/wiki/Design_pattern_(computer_science)" 
rel="nofollow">Gang Of Four Design Patterns</a>. In fact, the IoC container 
itself is a pumped up version of the Factory pattern.</p><div class="aui-label" 
style="float:right" title="Related Articles">
 
 
 
@@ -215,30 +192,7 @@
     }
   }
 }</pre>
-</div></div><p>Reducing the chain to a single object vastly simplifies the 
code: we've <em>factored out</em> the loop implicit in the chain of command. 
That eliminates a lot of code, and that's less code to test, and fewer paths 
through InjectWorker, which lowers its complexity further. We don't have to 
test the cases where the list of injection providers is empty, or consists of 
only a single object, or where it's the third object in that returns true: it 
looks like a single object, it acts like a single object ... but its 
implementation uses many objects.    
-</p><div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="ioc-cookbook-overriding-ioc-services.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">IoC Cookbook - Overriding 
IoC Services</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="ioc-cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">IoC cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="ioc-cookbook-service-configurations.html" rel="next">
-                <span class="title">IoC cookbook - Service 
Configurations</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div></div><p>Reducing the chain to a single object vastly simplifies the 
code: we've <em>factored out</em> the loop implicit in the chain of command. 
That eliminates a lot of code, and that's less code to test, and fewer paths 
through InjectWorker, which lowers its complexity further. We don't have to 
test the cases where the list of injection providers is empty, or consists of 
only a single object, or where it's the third object in that returns true: it 
looks like a single object, it acts like a single object ... but its 
implementation uses many objects.</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: 
websites/production/tapestry/content/ioc-cookbook-service-configurations.html
==============================================================================
--- 
websites/production/tapestry/content/ioc-cookbook-service-configurations.html 
(original)
+++ 
websites/production/tapestry/content/ioc-cookbook-service-configurations.html 
Thu May 19 20:20:15 2016
@@ -69,26 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="ioc-cookbook-patterns.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">IoC Cookbook - 
Patterns</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="ioc-cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">IoC cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        
-    </div>
-</div>
+                <div id="ConfluenceContent">
 
 <h1 id="IoCcookbook-ServiceConfigurations-ServiceConfigurations">Service 
Configurations</h1>
 
@@ -248,27 +229,7 @@ public void contributeMasterDispatcher(O
 <p>These contribution set up a number of defaults used to configure various 
Tapestry services. As you can see, you can even define symbol values in terms 
of other symbol values.</p>
 
 <p>Mapped configurations don't have to be keyed on Strings (enums or Class are 
other common key types). When a mapped configuration <em>is</em> keyed on 
String, then a case-insensitive map is used.</p>
-
-    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="ioc-cookbook-patterns.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">IoC Cookbook - 
Patterns</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="ioc-cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">IoC cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        
-    </div>
-</div></div>
+</div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/ioc-cookbook.html
==============================================================================
--- websites/production/tapestry/content/ioc-cookbook.html (original)
+++ websites/production/tapestry/content/ioc-cookbook.html Thu May 19 20:20:15 
2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>    
-</p><div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="using-select-with-a-list.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Using Select With a 
List</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="performance-and-clustering.html" rel="next">
-                <span class="title">Performance and Clustering</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><p>Tapestry <strong>Inversion of Control</strong> (IoC), though 
originally designed specifically for the needs of the Tapestry web framework, 
may also be employed as a stand-alone IoC container, separate from the rest of 
Tapestry.</p><div class="aui-label" style="float:right" title="Related 
Articles">
+                <div id="ConfluenceContent"><p>Tapestry <strong>Inversion of 
Control</strong> (IoC), though originally designed specifically for the needs 
of the Tapestry web framework, may also be employed as a stand-alone IoC 
container, separate from the rest of Tapestry.</p><div class="aui-label" 
style="float:right" title="Related Articles">
 
 
 

Modified: websites/production/tapestry/content/javascript-faq.html
==============================================================================
--- websites/production/tapestry/content/javascript-faq.html (original)
+++ websites/production/tapestry/content/javascript-faq.html Thu May 19 
20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="component-events-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Component Events FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="ajax-components-faq.html" rel="next">
-                <span class="title">Ajax Components FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h2 id="JavaScriptFAQ-JavaScript">JavaScript</h2><p>Main article: <a  
href="legacy-javascript.html">Legacy JavaScript</a></p><h3 
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)</h3><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  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/SymbolConstants.html#COMBINE_SCRIPTS";>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="confluence-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><h3 
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)</h3><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 component will be useful regardless of whether the final application is 
built using Prototype, jQuery or something else.</p></div>
+                <div id="ConfluenceContent"><h2 
id="JavaScriptFAQ-JavaScript">JavaScript</h2><p>Main article: <a  
href="legacy-javascript.html">Legacy JavaScript</a></p><h3 
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)</h3><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  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/SymbolConstants.html#COMBINE_SCRIPTS";>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 tha
 t 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="confluence-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><h3 
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)</h3><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 component will be useful regardless of 
whether the final application is built using Prototype, jQuery or something 
else.</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/limitations.html
==============================================================================
--- websites/production/tapestry/content/limitations.html (original)
+++ websites/production/tapestry/content/limitations.html Thu May 19 20:20:15 
2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="request-processing-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Request Processing 
FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="specific-errors-faq.html" rel="next">
-                <span class="title">Specific Errors FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h2 id="Limitations-Limitations">Limitations</h2><h3 
id="Limitations-HowdoIaddnewcomponentstoanexistingpagedynamically?">How do I 
add new components to an existing page dynamically?</h3><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 style="line-height: 1.4285715;">Plain Old Java Objects -- 
Tapestry does not require you to extend any base classes or implement any 
special interfaces)</span><span style="line-height: 1.4285715;">, 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 c
 ode, 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><h3 
id="Limitations-Whydoesn'tmyserviceimplementationreloadwhenIchangeit?">Why 
doesn't my service implementation reload when I change it?</h3><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 inte
 rface.</li><li>The service implementation must be on the file system (not 
inside a JAR).</li><li>The implementation must be instantiated by Tapestry, not 
inside code (even code inside a module class).</li><li>The service must use the 
default <a  href="defining-tapestry-ioc-services.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">
+                <div id="ConfluenceContent"><h2 
id="Limitations-Limitations">Limitations</h2><h3 
id="Limitations-HowdoIaddnewcomponentstoanexistingpagedynamically?">How do I 
add new components to an existing page dynamically?</h3><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 style="line-height: 1.4285715;">Plain Old Java Objects -- 
Tapestry does not require you to extend any base classes or implement any 
special interfaces)</span><span style="line-height: 1.4285715;">, 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><h3 
id="Limitations-Whydoesn'tmyserviceimplementationreloadwhenIchangeit?">Why 
doesn't my service implementation reload when I change it?</h3><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 
implementation must be instantiated by Tapestry, not inside code (even code 
inside a module class).</li><li>The service must use the default <a  
href="defining-tapestry-ioc-services.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 class="brush: java; gutter: true; theme: Default" 
style="font-size:12px;">public static void bind(ServiceBinder binder)
 {
   binder.bind(ArchiveService.class, ArchiveServiceImpl.class);
@@ -107,30 +84,7 @@ public static JobQueue buildJobQueue(Mes
   return service;
 }
 </pre>
-</div></div><p>ArchiveService is reloadable, because Tapestry instantiates 
<code>ArchiveServiceImpl</code> itself. On the other hand, Tapestry invokes 
<code>buildJobQueue()</code> and it is your code inside the method that 
instantiates <code>JobQueueImpl</code>, so the JobQueue service will not be 
reloadable.</p><p>Finally, only classes whose class files are stored directly 
on the file system, and not packaged inside JARs, are ever reloadable ... 
generally, only the services of the application being built (and not services 
from libraries) will be stored on the file system. This reflects the intent of 
reloading: as an agile development tool, but not something to be used in 
deployment.</p><h3 
id="Limitations-HowdoIrunmultipleTapestryapplicationsinthesamewebapplication?">How
 do I run multiple Tapestry applications in the same web 
application?</h3><p>Running multiple Tapestry 5 applications is not supported; 
there's only one place to identify the application root package, so even config
 uring multiple filters into multiple folders will not work.</p><p>Support for 
multiple Tapestry applications in the same web application was a specific 
non-goal in Tapestry 5 (it needlessly complicated Tapestry 4). Given how 
loosely connected Tapestry 5 pages are from each other, there doesn't seem to 
be an advantage to doing so ... and certainly, in terms of memory utilization, 
there is a significant down side, were it even 
possible.</p><p>You&#160;<em>can</em>&#160;<span style="color: rgb(0,0,0);">run 
a Tapestry 4 app and a Tapestry 5 app side-by-side (the package names are 
different, for just this reason), but they know nothing of each other, and 
can't interact directly. This is just like the way you could have a single WAR 
with multiple servlets; the different applications can only communicate via 
URLs, or shared state in the HttpSession.</span></p>    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="request-processing-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Request Processing 
FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="specific-errors-faq.html" rel="next">
-                <span class="title">Specific Errors FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><p>&#160;</p><p>&#160;</p><p>&#160;</p></div>
+</div></div><p>ArchiveService is reloadable, because Tapestry instantiates 
<code>ArchiveServiceImpl</code> itself. On the other hand, Tapestry invokes 
<code>buildJobQueue()</code> and it is your code inside the method that 
instantiates <code>JobQueueImpl</code>, so the JobQueue service will not be 
reloadable.</p><p>Finally, only classes whose class files are stored directly 
on the file system, and not packaged inside JARs, are ever reloadable ... 
generally, only the services of the application being built (and not services 
from libraries) will be stored on the file system. This reflects the intent of 
reloading: as an agile development tool, but not something to be used in 
deployment.</p><h3 
id="Limitations-HowdoIrunmultipleTapestryapplicationsinthesamewebapplication?">How
 do I run multiple Tapestry applications in the same web 
application?</h3><p>Running multiple Tapestry 5 applications is not supported; 
there's only one place to identify the application root package, so even config
 uring multiple filters into multiple folders will not work.</p><p>Support for 
multiple Tapestry applications in the same web application was a specific 
non-goal in Tapestry 5 (it needlessly complicated Tapestry 4). Given how 
loosely connected Tapestry 5 pages are from each other, there doesn't seem to 
be an advantage to doing so ... and certainly, in terms of memory utilization, 
there is a significant down side, were it even 
possible.</p><p>You&#160;<em>can</em>&#160;<span style="color: rgb(0,0,0);">run 
a Tapestry 4 app and a Tapestry 5 app side-by-side (the package names are 
different, for just this reason), but they know nothing of each other, and 
can't interact directly. This is just like the way you could have a single WAR 
with multiple servlets; the different applications can only communicate via 
URLs, or shared state in the 
HttpSession.</span></p><p>&#160;</p><p>&#160;</p><p>&#160;</p></div>
       </div>
 
       <div class="clearer"></div>

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 Thu May 19 
20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="beaneditform-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">BeanEditForm FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="component-events-faq.html" rel="next">
-                <span class="title">Component Events FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h2 id="LinkComponentsFAQ-LinkComponents">Link Components</h2><h3 
id="LinkComponentsFAQ-HowdoIaddqueryparameterstoaPageLinkorActionLink?">How do 
I add query parameters to a PageLink or ActionLink?</h3><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">
+                <div id="ConfluenceContent"><h2 
id="LinkComponentsFAQ-LinkComponents">Link Components</h2><h3 
id="LinkComponentsFAQ-HowdoIaddqueryparameterstoaPageLinkorActionLink?">How do 
I add query parameters to a PageLink or ActionLink?</h3><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 class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;a href="${profilePageLink}"&gt;Display Profile (w/ 
full details)&lt;/a&gt;
 </pre>
 </div></div><p>In the matching Java class, you can create the Link 
programmatically:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
@@ -125,30 +102,7 @@
 </div><h3 
id="LinkComponentsFAQ-HowdoIcreateaLinkbacktothecurrentpagefromacomponent?">How 
do I create a Link back to the current page from a component?</h3><p>Sometimes 
it is useful to create a link back to the current page, but you don't always 
know the name of the page (the link may appear inside a deeply nested 
subcomponent). Fortunately, this is easy.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;t:pagelink 
page="prop:componentResources.pageName"&gt;refresh page&lt;/t:pagelink&gt;
 </pre>
-</div></div><p>Every component has an extra property, componentResources, 
added to it: it's the instance of <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ComponentResources.html";>ComponentResources</a>
 that represents the link between your code and all of Tapestry's structure 
around your class. One of the properties of ComponentResources is pageName, the 
name of the page. By binding the PageLink's page parameter with the "prop:" 
binding prefix, we ensure that we bind to a computed property; this is 
necessary because the PageLink.page parameter defaults to the "literal:" 
binding prefix.</p><p>As an added benefit, if the page class is ever renamed or 
moved to a different package, the pageName property will automatically adjust 
to the new name.</p>    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="beaneditform-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">BeanEditForm FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="component-events-faq.html" rel="next">
-                <span class="title">Component Events FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div></div><p>Every component has an extra property, componentResources, 
added to it: it's the instance of <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ComponentResources.html";>ComponentResources</a>
 that represents the link between your code and all of Tapestry's structure 
around your class. One of the properties of ComponentResources is pageName, the 
name of the page. By binding the PageLink's page parameter with the "prop:" 
binding prefix, we ensure that we bind to a computed property; this is 
necessary because the PageLink.page parameter defaults to the "literal:" 
binding prefix.</p><p>As an added benefit, if the page class is ever renamed or 
moved to a different package, the pageName property will automatically adjust 
to the new name.</p></div>
       </div>
 
       <div class="clearer"></div>

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 Thu May 19 
20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="hibernate-support-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Hibernate Support 
FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="release-upgrade-faq.html" rel="next">
-                <span class="title">Release Upgrade FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h2 id="MavenSupportFAQ-MavenSupport">Maven Support</h2><h3 
id="MavenSupportFAQ-WhydoMavenprojectnamesandotherdetailsshowupinmypages?">Why 
do Maven project names and other details show up in my pages?</h3><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 panelCon
 tent pdl">
+                <div id="ConfluenceContent"><h2 
id="MavenSupportFAQ-MavenSupport">Maven Support</h2><h3 
id="MavenSupportFAQ-WhydoMavenprojectnamesandotherdetailsshowupinmypages?">Why 
do Maven project names and other details show up in my pages?</h3><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 class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">  &lt;resource&gt;
     &lt;directory&gt;src/main/resources&lt;/directory&gt;
     &lt;excludes&gt;
@@ -109,30 +86,7 @@
     &lt;filtering&gt;false&lt;/filtering&gt;
   &lt;/resource&gt;
 </pre>
-</div></div>    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="hibernate-support-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Hibernate Support 
FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="release-upgrade-faq.html" rel="next">
-                <span class="title">Release Upgrade FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div></div></div>
       </div>
 
       <div class="clearer"></div>

Modified: 
websites/production/tapestry/content/meta-programming-page-content.html
==============================================================================
--- websites/production/tapestry/content/meta-programming-page-content.html 
(original)
+++ websites/production/tapestry/content/meta-programming-page-content.html Thu 
May 19 20:20:15 2016
@@ -70,30 +70,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="extending-the-if-component.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Extending the If 
Component</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="cookbook.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Cookbook</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="using-select-with-a-list.html" rel="next">
-                <span class="title">Using Select With a List</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h1 
id="Meta-ProgrammingPageContent-Meta-ProgrammingPageContent">Meta-Programming 
Page Content</h1><p>It is likely that you have some cross-cutting concerns 
across your pages, specific features you would like to "mix in" to your pages 
without getting tied into knots by inheritance. This is one of those areas 
where Tapestry shines.</p><p>This specific example is adapted from a real 
client requirement: the client was concerned about other sites wrapping his 
content in a frameset and making the site content appear to be theirs. Not all 
pages (in some cases, that would be an advantage) but specific pages in the 
application. For those pages, the following behaviors were 
required:</p><ul><li>Set the X-Frame-Options response header to 
"DENY"</li><li>Include JavaScript to "pop" the page out of a frame, if in 
one</li></ul><p>Again, this <em>could</em> be done by having a specific 
base-class that included a <code>beginRender()</code> method, but I think 
you'll see that the meta-programm
 ing approach is nearly as easy and much more flexible.</p><h2 
id="Meta-ProgrammingPageContent-ComponentMeta-Data">Component 
Meta-Data</h2><p>In Tapestry, every component (and remember, pages are 
components) has <em>meta data</em>: an extra set of key/value pairs stored in 
the component's <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ComponentResources.html";>ComponentResources</a>.</p><p>By
 hooking into the component class transformation pipeline, we can change an 
annotation into meta-data that can be accessed by a filter.</p><h2 
id="Meta-ProgrammingPageContent-DefiningtheAnnotation">Defining the 
Annotation</h2><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>ForbidFraming.java</b></div><div class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><h1 
id="Meta-ProgrammingPageContent-Meta-ProgrammingPageContent">Meta-Programming 
Page Content</h1><p>It is likely that you have some cross-cutting concerns 
across your pages, specific features you would like to "mix in" to your pages 
without getting tied into knots by inheritance. This is one of those areas 
where Tapestry shines.</p><p>This specific example is adapted from a real 
client requirement: the client was concerned about other sites wrapping his 
content in a frameset and making the site content appear to be theirs. Not all 
pages (in some cases, that would be an advantage) but specific pages in the 
application. For those pages, the following behaviors were 
required:</p><ul><li>Set the X-Frame-Options response header to 
"DENY"</li><li>Include JavaScript to "pop" the page out of a frame, if in 
one</li></ul><p>Again, this <em>could</em> be done by having a specific 
base-class that included a <code>beginRender()</code> method, but I t
 hink you'll see that the meta-programming approach is nearly as easy and much 
more flexible.</p><h2 
id="Meta-ProgrammingPageContent-ComponentMeta-Data">Component 
Meta-Data</h2><p>In Tapestry, every component (and remember, pages are 
components) has <em>meta data</em>: an extra set of key/value pairs stored in 
the component's <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ComponentResources.html";>ComponentResources</a>.</p><p>By
 hooking into the component class transformation pipeline, we can change an 
annotation into meta-data that can be accessed by a filter.</p><h2 
id="Meta-ProgrammingPageContent-DefiningtheAnnotation">Defining the 
Annotation</h2><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>ForbidFraming.java</b></div><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">package com.fnord.annotations;
 
 import java.lang.annotation.Documented;

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 
Thu May 19 20:20:15 2016
@@ -69,30 +69,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="templating-and-markup-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Templating and Markup 
FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="forms-and-form-components-faq.html" rel="next">
-                <span class="title">Forms and Form Components FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><h2 id="PageAndComponentClassesFAQ-PageAndComponentClasses">Page And 
Component Classes</h2><p>Main article: <a  
href="component-classes.html">Component Classes</a></p><h3 
id="PageAndComponentClassesFAQ-What'sthedifferencebetweenapageandacomponent?">What's
 the difference between a page and a component?</h3><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 ca
 n'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 confluence-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><h3 
id="PageAndComponentClassesFAQ-HowdoIstoremypageclassesinadifferentpackage?">How
 do I store my page classes in a different package?</h3><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 style="line-height: 1.4285715;">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.)</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">
+                <div id="ConfluenceContent"><h2 
id="PageAndComponentClassesFAQ-PageAndComponentClasses">Page And Component 
Classes</h2><p>Main article: <a  href="component-classes.html">Component 
Classes</a></p><h3 
id="PageAndComponentClassesFAQ-What'sthedifferencebetweenapageandacomponent?">What's
 the difference between a page and a component?</h3><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 
confluence-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><h3 
id="PageAndComponentClassesFAQ-HowdoIstoremypageclassesinadifferentpackage?">How
 do I store my page classes in a different package?</h3><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 
style="line-height: 1.4285715;">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.)</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 class="brush: java; gutter: true; theme: Default" 
style="font-size:12px;">public static void 
contributeComponentClassResolver(Configuration&lt;LibraryMapping&gt; 
configuration) {
        configuration.add(new LibraryMapping("", "com.example.app.tasks"));
        configuration.add(new LibraryMapping("", "com.example.app.chat"));
@@ -125,13 +102,13 @@ public class DBImage
 
 
 
-<span class="gliffy-container" id="gliffy-container-23527573-5893" 
data-fullwidth="750" data-ceoid="23335008" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" data-filename="Class Loaders">
+<span class="gliffy-container" id="gliffy-container-23527573-7643" 
data-fullwidth="750" data-ceoid="23335008" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" data-filename="Class Loaders">
 
-    <map id="gliffy-map-23527573-2086" name="gliffy-map-23527573-2086"></map>
+    <map id="gliffy-map-23527573-3171" name="gliffy-map-23527573-3171"></map>
 
-    <img class="gliffy-image" id="gliffy-image-23527573-5893" 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-2086">
+    <img class="gliffy-image" id="gliffy-image-23527573-7643" 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-3171">
 
-    <map class="gliffy-dynamic" id="gliffy-dynamic-map-23527573-5893" 
name="gliffy-dynamic-map-23527573-5893"></map>
+    <map class="gliffy-dynamic" id="gliffy-dynamic-map-23527573-7643" 
name="gliffy-dynamic-map-23527573-7643"></map>
 </span>
 
 
@@ -142,30 +119,7 @@ public class DBImage
     . . .
   }
 </pre>
-</div></div><p>The compiler will catch a misspelling of the constant 
<code>SUCCESS</code>. Likewise, local constants can be defined for key 
components, such as "loginForm".</p><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>Ultimately, it's developer choice. 
HLS prefers the method naming conventions in nearly all cases, especially 
prototypes and demos, but can see that in some projects and some teams, an 
annotation-only approach is best.</p></div></div><h3 
id="PageAndComponentClassesFAQ-WhydoIhavetoinjectapage?Whycan'tIjustcreateoneusingnew?">Why
 do I have to inject a page? Why can't I just create one using 
new?</h3><p>Tapestry tranforms your class at runtime. It tends to build a large 
constructor for the class instance. Further, an instance of the class is 
useless by itself, it must be wired together wi
 th its template and its sub-components.</p><p>On top of that, Tapestry keeps 
just once instance of each page in memory (since 5.2). It reworks the bytecode 
of the components so that a single instance can be shared across multiple 
request handling threads.</p>    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="templating-and-markup-faq.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">Templating and Markup 
FAQ</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="frequently-asked-questions.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Frequently Asked 
Questions</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="forms-and-form-components-faq.html" rel="next">
-                <span class="title">Forms and Form Components FAQ</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div><p>____</p><p>&#160;</p><p>&#160;</p><p></p><p></p><p></p><p></p><p></p><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><p></p><p></p><p></p><p></p><p></p><p>&#160;</p><p>&#160;</p></div>
+</div></div><p>The compiler will catch a misspelling of the constant 
<code>SUCCESS</code>. Likewise, local constants can be defined for key 
components, such as "loginForm".</p><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>Ultimately, it's developer choice. 
HLS prefers the method naming conventions in nearly all cases, especially 
prototypes and demos, but can see that in some projects and some teams, an 
annotation-only approach is best.</p></div></div><h3 
id="PageAndComponentClassesFAQ-WhydoIhavetoinjectapage?Whycan'tIjustcreateoneusingnew?">Why
 do I have to inject a page? Why can't I just create one using 
new?</h3><p>Tapestry tranforms your class at runtime. It tends to build a large 
constructor for the class instance. Further, an instance of the class is 
useless by itself, it must be wired together wi
 th its template and its sub-components.</p><p>On top of that, Tapestry keeps 
just once instance of each page in memory (since 5.2). It reworks the bytecode 
of the components so that a single instance can be shared across multiple 
request handling 
threads.</p><p>____</p><p>&#160;</p><p>&#160;</p><p></p><p></p><p></p><p></p><p></p><p></p><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><p></p><p></p><p></p><p></p><p></p><p></p><p>&#160;</p><p>&#160;</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 Thu May 19 
20:20:15 2016
@@ -69,40 +69,17 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent">    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="how-to-upgrade.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">How to Upgrade</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="release-notes.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Release 
Notes</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="release-notes-51.html" rel="next">
-                <span class="title">Release Notes 5.1</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div>
+                <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 <a  
href="how-to-upgrade.html">How to Upgrade</a> instructions.</p>
 
 <p><strong>Contents</strong></p>
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1447035647989 {padding: 0px;}
-div.rbtoc1447035647989 ul {list-style: disc;margin-left: 0px;padding-left: 
5px;}
-div.rbtoc1447035647989 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1463689187900 {padding: 0px;}
+div.rbtoc1463689187900 ul {list-style: disc;margin-left: 0px;padding-left: 
5px;}
+div.rbtoc1463689187900 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1447035647989">
+/*]]>*/</style><div class="toc-macro rbtoc1463689187900">
 <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="#ReleaseNot
 es5.0-TapestryVersion5.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>
 </div>
 
@@ -446,31 +423,7 @@ div.rbtoc1447035647989 li {margin-left:
 
 <ul><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAPESTRY-1276";>TAPESTRY-1276</a> 
&#8211; If component should include an optional negate parameter</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAPESTRY-1284";>TAPESTRY-1284</a> 
&#8211; Tapestry Spring integration module</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAPESTRY-1292";>TAPESTRY-1292</a> 
&#8211; Allow lists to be used as select models</li><li><a  
class="external-link" 
href="https://issues.apache.org/jira/browse/TAPESTRY-1302";>TAPESTRY-1302</a> 
&#8211; JavaScript support</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAPESTRY-1311";>TAPESTRY-1311</a> 
&#8211; Identify type of component via tag element name in templates</li><li><a 
 class="external-link" 
href="https://issues.apache.org/jira/browse/TAPESTRY-1319";>TAPESTRY-1319</a> 
&#8211; tapestry.InfrastructureOverrides is not yet implemented</li><li><a  cla
 ss="external-link" 
href="https://issues.apache.org/jira/browse/TAPESTRY-1325";>TAPESTRY-1325</a> 
&#8211; Add an "asset:" object provider, to simplfy injecting assets into 
services</li><li><a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAPESTRY-1341";>TAPESTRY-1341</a> 
&#8211; Allow service builders named "build" and determine service id from the 
result type</li></ul>
 
-
-    
-<div class="atb-scrollbar-macro">
-    <div class="prev">
-        <a  href="how-to-upgrade.html" rel="prev">
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
-                                <span class="title">How to Upgrade</span>
-            </a>
-
-    </div>
-    <div class="parent">
-                    <a  href="release-notes.html" rel="parent">
-                                            <span class="aui-icon 
aui-icon-small atb-icon-arrow-up">Up</span>
-                                        <span class="title">Release 
Notes</span>
-                </a>
-
-            </div>
-    <div class="next">
-        <a  href="release-notes-51.html" rel="next">
-                <span class="title">Release Notes 5.1</span>
-                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
-                            </a>
-
-    </div>
-</div></div>
+</div>
       </div>
 
       <div class="clearer"></div>


Reply via email to