Author: buildbot
Date: Mon Aug 26 21:20:28 2019
New Revision: 1049259

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/ajax-and-zones.html
    websites/production/tapestry/content/ajax-components-faq.html
    websites/production/tapestry/content/beaneditform-faq.html
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/component-events-faq.html
    websites/production/tapestry/content/component-parameters.html
    websites/production/tapestry/content/configuration.html
    websites/production/tapestry/content/enum-parameter-recipe.html
    websites/production/tapestry/content/environmental-services.html
    websites/production/tapestry/content/error-page-recipe.html
    websites/production/tapestry/content/extending-the-if-component.html
    websites/production/tapestry/content/forms-and-form-components-faq.html
    websites/production/tapestry/content/forms-and-validation.html
    websites/production/tapestry/content/general-questions.html
    websites/production/tapestry/content/hibernate-statistics.html
    websites/production/tapestry/content/hibernate-support-faq.html
    websites/production/tapestry/content/injection-faq.html
    websites/production/tapestry/content/injection.html
    
websites/production/tapestry/content/integration-with-existing-applications.html
    
websites/production/tapestry/content/ioc-cookbook-basic-services-and-injection.html
    
websites/production/tapestry/content/ioc-cookbook-overriding-ioc-services.html
    websites/production/tapestry/content/ioc-cookbook-patterns.html
    
websites/production/tapestry/content/ioc-cookbook-service-configurations.html
    websites/production/tapestry/content/ioc-cookbook.html
    websites/production/tapestry/content/javascript-faq.html
    websites/production/tapestry/content/limitations.html
    websites/production/tapestry/content/link-components-faq.html
    websites/production/tapestry/content/maven-support-faq.html
    websites/production/tapestry/content/meta-programming-page-content.html
    websites/production/tapestry/content/page-and-component-classes-faq.html
    websites/production/tapestry/content/page-navigation.html
    websites/production/tapestry/content/persistent-page-data.html
    websites/production/tapestry/content/release-notes-50.html
    websites/production/tapestry/content/release-notes-51.html
    websites/production/tapestry/content/release-notes-52.html
    websites/production/tapestry/content/release-notes-53.html
    websites/production/tapestry/content/release-notes-531.html
    websites/production/tapestry/content/release-notes-532.html
    websites/production/tapestry/content/release-notes-533.html
    websites/production/tapestry/content/release-notes-534.html
    websites/production/tapestry/content/release-notes-535.html
    websites/production/tapestry/content/release-notes-536.html
    websites/production/tapestry/content/release-notes-537.html
    websites/production/tapestry/content/release-notes-54.html
    websites/production/tapestry/content/release-upgrade-faq.html
    websites/production/tapestry/content/request-processing-faq.html
    websites/production/tapestry/content/security-faq.html
    websites/production/tapestry/content/security.html
    websites/production/tapestry/content/session-storage.html
    websites/production/tapestry/content/specific-errors-faq.html
    websites/production/tapestry/content/tapestry-inversion-of-control-faq.html
    websites/production/tapestry/content/templating-and-markup-faq.html
    websites/production/tapestry/content/uploading-files.html
    websites/production/tapestry/content/using-select-with-a-list.html

Modified: websites/production/tapestry/content/ajax-and-zones.html
==============================================================================
--- websites/production/tapestry/content/ajax-and-zones.html (original)
+++ websites/production/tapestry/content/ajax-and-zones.html Mon Aug 26 
21:20:28 2019
@@ -325,7 +325,17 @@ void onActionFromRegister()
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/ajax-components-faq.html
==============================================================================
--- websites/production/tapestry/content/ajax-components-faq.html (original)
+++ websites/production/tapestry/content/ajax-components-faq.html Mon Aug 26 
21:20:28 2019
@@ -77,12 +77,35 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><h1 
id="AjaxComponentsFAQ-AjaxComponents">Ajax Components</h1><p>Main article: <a  
href="ajax-and-zones.html">Ajax and Zones</a></p><h2 
id="AjaxComponentsFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1566728393010 {padding: 0px;}
-div.rbtoc1566728393010 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1566728393010 li {margin-left: 0px;padding-left: 0px;}
+                <div id="ConfluenceContent"><p>    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        <a  href="javascript-faq.html" rel="prev">
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
+                                <span class="title">JavaScript FAQ</span>
+            </a>
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1566728393010">
+    </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="injection-faq.html" rel="next">
+                <span class="title">Injection FAQ</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div><h1 id="AjaxComponentsFAQ-AjaxComponents">Ajax Components</h1><p>Main 
article: <a  href="ajax-and-zones.html">Ajax and Zones</a></p><h2 
id="AjaxComponentsFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1566854378298 {padding: 0px;}
+div.rbtoc1566854378298 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1566854378298 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></p><div class="toc-macro rbtoc1566854378298">
 <ul class="toc-indentation"><li><a  
href="#AjaxComponentsFAQ-DoIhavetospecifybothidandt:idforZonecomponents?">Do I 
have to specify both id and t:id for Zone components?</a></li><li><a  
href="#AjaxComponentsFAQ-HowdoIupdatethecontentofaZonefromaneventhandlermethod?">How
 do I update the content of a Zone from an event handler method?</a></li><li><a 
 href="#AjaxComponentsFAQ-HowtoIupdatemultiplezonesinasingleeventhandler?">How 
to I update multiple zones in a single event handler?</a></li><li><a  
href="#AjaxComponentsFAQ-What'sthatweirdnumberinthemiddleoftheclientidsafteraZoneisupdated?">What's
 that weird number in the middle of the client ids after a Zone is 
updated?</a></li><li><a  
href="#AjaxComponentsFAQ-WhydoIsometimesgettheexception&quot;Therenderedcontentdidnotincludeanyelementsthatallowforthepositioningofthehiddenformfield'selement.&quot;whenrenderinganemptyZone?">Why
 do I sometimes get the exception "The rendered content did not include any 
elements that allow for the positioni
 ng of the hidden form field's element." when rendering an empty 
Zone?</a></li></ul>
 </div><h2 
id="AjaxComponentsFAQ-DoIhavetospecifybothidandt:idforZonecomponents?">Do I 
have to specify both <code>id</code> and <code>t:id</code> for Zone 
components?</h2><p>The examples for the Zone component (in the Component 
Reference) consistently specify both <code>id</code> and <code>t:id</code> and 
this is probably a good idea.</p><p>Generally speaking, if you don't specify 
the client-side id (the <code>id</code> attribute), it will be the same as the 
Tapestry component id (<code>t:id</code>).</p><p>However, there are any number 
of exceptions to this rule. The Zone may be rendering inside a Loop (in which 
case, each rendering will have a unique client side id). The Zone may be 
rendering as part of a partial page render, in which case, a random unique id 
is inserted into the id. There are other examples where Tapestry component ids 
in nested components may also clash.</p><p>The point is, to be sure, specify 
the exact client id. This will be the value for the <code>zone</code> p
 arameter of the triggering component (such as a Form, PageLink, ActionLink, 
etc.).</p><h2 
id="AjaxComponentsFAQ-HowdoIupdatethecontentofaZonefromaneventhandlermethod?">How
 do I update the content of a Zone from an event handler method?</h2><p>When a 
client-side link or form triggers an update, the return value from the event 
handler method is used to construct a partial page response; this partial page 
response includes markup content that is used to update the Zone's client-side 
<code>&lt;div&gt;</code> element.</p><p>Where does that content come from? You 
inject it into your page.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; 
gutter: false; theme: Default" data-theme="Default">&lt;t:zone id="search" 
t:id="searchZone"&gt;
@@ -146,14 +169,47 @@ div.rbtoc1566728393010 li {margin-left:
 </div></div><p>But when the form is inside a Zone and rendered as part of a 
zone update, the ids get weird:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; 
gutter: false; theme: Default" data-theme="Default">   &lt;input 
id="firstName_12a820cc40e" name="firstName" type="text"&gt;
 </pre>
-</div></div><p>What's happening here is that Tapestry is working to prevent 
unwanted id clashes as part of the page update. In an HTML document, each 
<code>id</code> is expected to be unique; most JavaScript is keyed off of the 
<code>id</code> field, for instance.</p><p>In a full page render, components 
don't just use their component id (<code>t:id</code>) as their client id; 
instead they use the <code>JavaScriptSupport</code> environmental to allocate a 
unique id. When there's no loops or conflicts, the client id matches the 
component id.</p><p>When the component is inside a loop, a suffix is appended: 
<code>firstName</code>, <code>firstName_0</code>, <code>firstName_1</code>, 
etc.</p><p>When the component is rendered as part of an Ajax partial page 
update, the rules are different. Since Tapestry doesn't know what content has 
been rendered onto the page previously, it can't use its normal tricks to 
ensure that ids are unique.</p><p>Instead, Tapestry creates a random-ish unique 
id s
 uffix, such as "12a820cc40e" in the example; this suffix is appended to all 
allocated ids to ensure that they do not conflict with previously rendered 
ids.</p><h2 
id="AjaxComponentsFAQ-WhydoIsometimesgettheexception&quot;Therenderedcontentdidnotincludeanyelementsthatallowforthepositioningofthehiddenformfield'selement.&quot;whenrenderinganemptyZone?">Why
 do I sometimes get the exception "The rendered content did not include any 
elements that allow for the positioning of the hidden form field's element." 
when rendering an empty Zone?</h2><p>As part of Tapestry's form processing, it 
must write a hidden input element with information needed when the form is 
submitted. Since the content of a Zone may be changed or removed, a hidden 
field is created just for the Zone, separate from the rest of the enclosing 
form.</p><p>At the same time, Tapestry wants to position the &lt;input&gt; 
field in a valid location, and HTML defines some constraints for that; an input 
field must appear inside a &l
 t;p&gt; or &lt;div&gt; element. If your zone is initially empty, there's no 
place to put the hidden element, and Tapestry will complain.</p><p>The solution 
is simple: just add a &lt;div&gt; element to the body of the zone. This<span> 
ensures that there's a place for the hidden input field. &#160;An empty 
&lt;div&gt; element (even one containing a hidden form field) will not affect 
page layout.</span></p></div>
+</div></div><p>What's happening here is that Tapestry is working to prevent 
unwanted id clashes as part of the page update. In an HTML document, each 
<code>id</code> is expected to be unique; most JavaScript is keyed off of the 
<code>id</code> field, for instance.</p><p>In a full page render, components 
don't just use their component id (<code>t:id</code>) as their client id; 
instead they use the <code>JavaScriptSupport</code> environmental to allocate a 
unique id. When there's no loops or conflicts, the client id matches the 
component id.</p><p>When the component is inside a loop, a suffix is appended: 
<code>firstName</code>, <code>firstName_0</code>, <code>firstName_1</code>, 
etc.</p><p>When the component is rendered as part of an Ajax partial page 
update, the rules are different. Since Tapestry doesn't know what content has 
been rendered onto the page previously, it can't use its normal tricks to 
ensure that ids are unique.</p><p>Instead, Tapestry creates a random-ish unique 
id s
 uffix, such as "12a820cc40e" in the example; this suffix is appended to all 
allocated ids to ensure that they do not conflict with previously rendered 
ids.</p><h2 
id="AjaxComponentsFAQ-WhydoIsometimesgettheexception&quot;Therenderedcontentdidnotincludeanyelementsthatallowforthepositioningofthehiddenformfield'selement.&quot;whenrenderinganemptyZone?">Why
 do I sometimes get the exception "The rendered content did not include any 
elements that allow for the positioning of the hidden form field's element." 
when rendering an empty Zone?</h2><p>As part of Tapestry's form processing, it 
must write a hidden input element with information needed when the form is 
submitted. Since the content of a Zone may be changed or removed, a hidden 
field is created just for the Zone, separate from the rest of the enclosing 
form.</p><p>At the same time, Tapestry wants to position the &lt;input&gt; 
field in a valid location, and HTML defines some constraints for that; an input 
field must appear inside a &l
 t;p&gt; or &lt;div&gt; element. If your zone is initially empty, there's no 
place to put the hidden element, and Tapestry will complain.</p><p>The solution 
is simple: just add a &lt;div&gt; element to the body of the zone. This<span> 
ensures that there's a place for the hidden input field. &#160;An empty 
&lt;div&gt; element (even one containing a hidden form field) will not affect 
page layout.</span>    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        <a  href="javascript-faq.html" rel="prev">
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
+                                <span class="title">JavaScript 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="injection-faq.html" rel="next">
+                <span class="title">Injection FAQ</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div></div>
       </div>
 
       <div class="clearer"></div>
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/beaneditform-faq.html
==============================================================================
--- websites/production/tapestry/content/beaneditform-faq.html (original)
+++ websites/production/tapestry/content/beaneditform-faq.html Mon Aug 26 
21:20:28 2019
@@ -77,12 +77,35 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><h1 
id="BeanEditFormFAQ-BeanEditForm">BeanEditForm</h1><p>Main Article: <a  
href="beaneditform-guide.html">BeanEditForm Guide</a></p><h2 
id="BeanEditFormFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1566728409287 {padding: 0px;}
-div.rbtoc1566728409287 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1566728409287 li {margin-left: 0px;padding-left: 0px;}
+                <div id="ConfluenceContent"><p>    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        <a  href="forms-and-form-components-faq.html" rel="prev">
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
+                                <span class="title">Forms and Form Components 
FAQ</span>
+            </a>
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1566728409287">
+    </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="link-components-faq.html" rel="next">
+                <span class="title">Link Components FAQ</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div><h1 id="BeanEditFormFAQ-BeanEditForm">BeanEditForm</h1><p>Main Article: 
<a  href="beaneditform-guide.html">BeanEditForm Guide</a></p><h2 
id="BeanEditFormFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1566854394338 {padding: 0px;}
+div.rbtoc1566854394338 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1566854394338 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></p><div class="toc-macro rbtoc1566854394338">
 <ul class="toc-indentation"><li><a  
href="#BeanEditFormFAQ-WhydoIgetexceptionsaboutinstantiatingabeanwhenusingBeanEditForm?">Why
 do I get exceptions about instantiating a bean when using 
BeanEditForm?</a></li><li><a  
href="#BeanEditFormFAQ-What'sthedifferencebetweenBeanEditorandBeanEditForm?">What's
 the difference between BeanEditor and BeanEditForm?</a></li><li><a  
href="#BeanEditFormFAQ-HowdoIcustomizethelayoutoftheBeanEditForm?">How do I 
customize the layout of the BeanEditForm?</a></li></ul>
 </div><h2 
id="BeanEditFormFAQ-WhydoIgetexceptionsaboutinstantiatingabeanwhenusingBeanEditForm?">Why
 do I get exceptions about instantiating a bean when using 
BeanEditForm?</h2><p>When you render a BeanEditForm, or when the rendered form 
is submitted, Tapestry must instantiate an instance of the object to be edited. 
This occurs when the BeanEditForm's <code>object</code> parameter is bound to 
null: Tapestry instantiates an instance of the property type so that the 
BeanEditForm has an object to read default values from, or to push submitted 
values into.</p><p>By default, this uses the standard <a  
href="injection-in-detail.html">injection mechanism</a>, which means that 
Tapestry will identify the public constructor with the most parameters, and 
attempt to find objects and other objects for each constructor 
parameter.</p><p>There's two ways to fine tune this so you don't get 
errors:</p><ul><li>Place an @<a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apac
 he/tapestry5/ioc/annotations/Inject.html">Inject</a> annotation on the correct 
constructor to use (often, the constructor with no parameters).</li></ul><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; 
gutter: false; theme: Default" data-theme="Default">public class MyBean {
@@ -108,14 +131,47 @@ div.rbtoc1566728409287 li {margin-left:
   }
 }
 </pre>
-</div></div><h2 
id="BeanEditFormFAQ-What'sthedifferencebetweenBeanEditorandBeanEditForm?">What's
 the difference between BeanEditor and BeanEditForm?</h2><p>BeanEditor is a 
component used within a BeanEditForm. A BeanEditForm simply combines a 
BeanEditor, a Form, and a Submit component together. Most of the capabilities 
of BeanEditForm are derived from the BeanEditor.</p><h2 
id="BeanEditFormFAQ-HowdoIcustomizethelayoutoftheBeanEditForm?">How do I 
customize the layout of the BeanEditForm?</h2><p>The BeanEditForm is a 
<em>scaffolding</em> component; it exists to get things up and running quickly. 
It can be customized visually using CSS, and can be configured and extended in 
a number of ways ... but ultimately, if you want fine control, you should use 
the underlying Form, TextField and other components directly.</p></div>
+</div></div><h2 
id="BeanEditFormFAQ-What'sthedifferencebetweenBeanEditorandBeanEditForm?">What's
 the difference between BeanEditor and BeanEditForm?</h2><p>BeanEditor is a 
component used within a BeanEditForm. A BeanEditForm simply combines a 
BeanEditor, a Form, and a Submit component together. Most of the capabilities 
of BeanEditForm are derived from the BeanEditor.</p><h2 
id="BeanEditFormFAQ-HowdoIcustomizethelayoutoftheBeanEditForm?">How do I 
customize the layout of the BeanEditForm?</h2><p>The BeanEditForm is a 
<em>scaffolding</em> component; it exists to get things up and running quickly. 
It can be customized visually using CSS, and can be configured and extended in 
a number of ways ... but ultimately, if you want fine control, you should use 
the underlying Form, TextField and other components directly.    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        <a  href="forms-and-form-components-faq.html" rel="prev">
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
+                                <span class="title">Forms and Form Components 
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="link-components-faq.html" rel="next">
+                <span class="title">Link Components FAQ</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div></div>
       </div>
 
       <div class="clearer"></div>
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/tapestry/content/component-events-faq.html
==============================================================================
--- websites/production/tapestry/content/component-events-faq.html (original)
+++ websites/production/tapestry/content/component-events-faq.html Mon Aug 26 
21:20:28 2019
@@ -77,12 +77,35 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><h1 
id="ComponentEventsFAQ-ComponentEvents">Component Events</h1><p>Main Article: 
<a  href="component-events.html">Component Events</a></p><h2 
id="ComponentEventsFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1566728408760 {padding: 0px;}
-div.rbtoc1566728408760 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1566728408760 li {margin-left: 0px;padding-left: 0px;}
+                <div id="ConfluenceContent"><p>    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        <a  href="link-components-faq.html" rel="prev">
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
+                                <span class="title">Link Components FAQ</span>
+            </a>
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1566728408760">
+    </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="javascript-faq.html" rel="next">
+                <span class="title">JavaScript FAQ</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div><h1 id="ComponentEventsFAQ-ComponentEvents">Component Events</h1><p>Main 
Article: <a  href="component-events.html">Component Events</a></p><h2 
id="ComponentEventsFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1566854394886 {padding: 0px;}
+div.rbtoc1566854394886 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1566854394886 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></p><div class="toc-macro rbtoc1566854394886">
 <ul class="toc-indentation"><li><a  
href="#ComponentEventsFAQ-WhydoesTapestrysendaredirectafteraformissubmitted?">Why
 does Tapestry send a redirect after a form is submitted?</a></li><li><a  
href="#ComponentEventsFAQ-IspecifiedazoneinmyActionLink/EventLink,sowhydoesn'tmyeventfireviaajax(request.isXHR()isfalse)?">I
 specified a zone in my ActionLink/EventLink, so why doesn't my event fire via 
ajax (request.isXHR() is false)?</a></li></ul>
 </div><h2 
id="ComponentEventsFAQ-WhydoesTapestrysendaredirectafteraformissubmitted?">Why 
does Tapestry send a redirect after a form is submitted?</h2><p>This is an 
extension of the <a  class="external-link" 
href="http://en.wikipedia.org/wiki/Post/Redirect/Get"; 
rel="nofollow">Post/Redirect/Get</a> approach. It ensures that after an 
operation that updates server-side state, such as a form submission, if the 
user resubmits the resulting page, the operation is <strong>not</strong> 
performed a second time; instead just the results of the operation, reflecting 
the changed server-side state, is re-rendered.</p><p>This has the unwanted 
requirement that any data needed to render the response must persist between 
the event request (the form submission) and the render request; this often 
means that fields must be annotated with @<a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Persist.html";>Persist</a>.
 
@@ -98,14 +121,47 @@ div.rbtoc1566728408760 li {margin-left:
 
     <div class="param-body">Starting in release 5.4, Forms (by default) will 
NOT redirect after post if there are validation errors. This makes it possible 
to re-render the page, with error decorations, without requiring that the 
validation errors be stored in the session between requests ... and that means 
that the application can remain stateless much longer.</div>
 
-</div><h2 
id="ComponentEventsFAQ-IspecifiedazoneinmyActionLink/EventLink,sowhydoesn'tmyeventfireviaajax(request.isXHR()isfalse)?">I
 specified a zone in my ActionLink/EventLink, so why doesn't my event fire via 
ajax (request.isXHR() is false)?</h2><p>Check your browser's JavaScript console 
for errors. It's likely that a JavaScript error has prevented Tapestry from 
transforming your ActionLink/EventLink from a page render action to an ajax 
action.</p></div>
+</div><h2 
id="ComponentEventsFAQ-IspecifiedazoneinmyActionLink/EventLink,sowhydoesn'tmyeventfireviaajax(request.isXHR()isfalse)?">I
 specified a zone in my ActionLink/EventLink, so why doesn't my event fire via 
ajax (request.isXHR() is false)?</h2><p>Check your browser's JavaScript console 
for errors. It's likely that a JavaScript error has prevented Tapestry from 
transforming your ActionLink/EventLink from a page render action to an ajax 
action.    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        <a  href="link-components-faq.html" rel="prev">
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
+                                <span class="title">Link Components 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="javascript-faq.html" rel="next">
+                <span class="title">JavaScript FAQ</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div></div>
       </div>
 
       <div class="clearer"></div>
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/component-parameters.html
==============================================================================
--- websites/production/tapestry/content/component-parameters.html (original)
+++ websites/production/tapestry/content/component-parameters.html Mon Aug 26 
21:20:28 2019
@@ -182,11 +182,11 @@
 </div></div><p>A component may have any number of parameters. Each parameter 
has a specific name, a specific Java type (which may be a primitive value), and 
may be <em>optional</em> or <em>required</em>.</p><p>Within a component class, 
parameters are declared by using the @<a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Parameter.html";>Parameter</a>
 annotation on a private field, as we'll see below.</p><p><span 
class="confluence-anchor-link" 
id="ComponentParameters-bindingparameters"></span></p><h1 
id="ComponentParameters-ParameterBindings">Parameter Bindings</h1><p>In 
Tapestry, a parameter is not a slot into which data is pushed: it is a 
<em>connection</em> between a field of the component (marked with the 
@Parameter annotation) and a property or resource of the component's container. 
(Components can be nested, so the container can be either the page or another 
component.)</p><div class="navmenu" style="float:right; backgr
 ound:white; margin:3px; padding:3px">
 <div class="panel" style="border-width: 1px;"><div class="panelHeader" 
style="border-bottom-width: 1px;"><b>Contents</b></div><div 
class="panelContent">
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1566728381808 {padding: 0px;}
-div.rbtoc1566728381808 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1566728381808 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1566854368635 {padding: 0px;}
+div.rbtoc1566854368635 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1566854368635 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1566728381808">
+/*]]>*/</style><div class="toc-macro rbtoc1566854368635">
 <ul class="toc-indentation"><li><a  
href="#ComponentParameters-ParameterBindings">Parameter Bindings</a></li><li><a 
 href="#ComponentParameters-BindingExpressions">Binding 
Expressions</a></li><li><a  
href="#ComponentParameters-@Parameterannotation">@Parameter 
annotation</a></li><li><a  
href="#ComponentParameters-Don'tusethe${...}syntax!">Don't use the ${...} 
syntax!</a></li><li><a  href="#ComponentParameters-InformalParameters">Informal 
Parameters</a></li><li><a  
href="#ComponentParameters-ParametersAreBi-Directional">Parameters Are 
Bi-Directional</a></li><li><a  
href="#ComponentParameters-InheritedParameterBindings">Inherited Parameter 
Bindings</a></li><li><a  
href="#ComponentParameters-ComputedParameterBindingDefaults">Computed Parameter 
Binding Defaults</a></li><li><a  
href="#ComponentParameters-UnboundParameters">Unbound Parameters</a></li><li><a 
 href="#ComponentParameters-ParameterTypeCoercion">Parameter Type 
Coercion</a></li><li><a  href="#ComponentParameters-ParameterNames">
 Parameter Names</a></li><li><a  
href="#ComponentParameters-DeterminingifBound">Determining if 
Bound</a></li><li><a  
href="#ComponentParameters-PublishingParameters">Publishing 
Parameters</a></li></ul>
 </div>
 </div></div></div>&#160;<p>The connection between a component and a property 
(or resource) of its container is called a <em>binding</em>. The binding is 
two-way: the component can read the bound property by reading its parameter 
field. Likewise, a component that updates its parameter field will update the 
bound property.</p><p>This is important in a lot of cases; for example a 
TextField component can read <em>and update</em> the property bound to its 
value parameter. It reads the value when rendering, but updates the value when 
the form is submitted.</p><p>The component listed below is a looping component; 
it renders its body a number of times, defined by its <code>start</code> and 
<code>end</code> parameters (which set the boundaries of the loop). The 
component can update a <code>result</code> parameter bound to a property of its 
container; it will automatically count up or down depending on whether 
<code>start</code> or <code>end</code> is larger.</p><div class="code panel 
pdl" st
 yle="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -417,7 +417,17 @@ public class Title {
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/configuration.html
==============================================================================
--- websites/production/tapestry/content/configuration.html (original)
+++ websites/production/tapestry/content/configuration.html Mon Aug 26 21:20:28 
2019
@@ -149,11 +149,11 @@
 
 
 <h1 id="Configuration-ConfiguringTapestry">Configuring Tapestry</h1><p>This 
page discusses all the ways in which Tapestry can be configured. Tapestry 
applications are configured almost entirely using Java, with very little XML at 
all.</p><p><strong>Contents</strong></p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1566728384741 {padding: 0px;}
-div.rbtoc1566728384741 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1566728384741 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1566854371372 {padding: 0px;}
+div.rbtoc1566854371372 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1566854371372 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1566728384741">
+/*]]>*/</style></p><div class="toc-macro rbtoc1566854371372">
 <ul class="toc-indentation"><li><a  
href="#Configuration-XMLconfiguration(web.xml)">XML configuration 
(web.xml)</a></li><li><a  
href="#Configuration-YourApplication'sModuleClass">Your Application's Module 
Class</a></li><li><a  
href="#Configuration-ConfigurationSymbolNames">Configuration Symbol 
Names</a></li><li><a  
href="#Configuration-SettingComponentParameterDefaults">Setting Component 
Parameter Defaults</a></li><li><a  
href="#Configuration-ConfiguringIgnoredPaths">Configuring Ignored 
Paths</a></li><li><a  
href="#Configuration-ConfiguringContentTypeMapping">Configuring Content Type 
Mapping</a></li><li><a  href="#Configuration-SettingExecutionModes">Setting 
Execution Modes</a></li><li><a  
href="#Configuration-SegregatingApplicationsIntoFolders">Segregating 
Applications Into Folders</a></li></ul>
 </div><h2 id="Configuration-XMLconfiguration(web.xml)">XML configuration 
(web.xml)</h2><p>Tapestry runs on top of the standard Java Servlet API. To the 
servlet container, such as Tomcat, Tapestry appears as a <em>servlet 
filter</em>. This gives Tapestry great flexibility in matching URLs without 
requiring lots of XML configuration.</p><p>Although most configuration is done 
with Java, a small but necessary amount of configuration occurs inside the 
servlet deployment descriptor, WEB-INF/web.xml. Most of the configuration is 
boilerplate, nearly the same for all applications.</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>web.xml (partial)</b></div><div 
class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; 
gutter: false; theme: Default" data-theme="Default">&lt;!DOCTYPE web-app
@@ -529,7 +529,17 @@ div.rbtoc1566728384741 li {margin-left:
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/enum-parameter-recipe.html
==============================================================================
--- websites/production/tapestry/content/enum-parameter-recipe.html (original)
+++ websites/production/tapestry/content/enum-parameter-recipe.html Mon Aug 26 
21:20:28 2019
@@ -77,7 +77,30 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><div class="aui-label" 
style="float:right" title="Related Articles">
+                <div id="ConfluenceContent"><p>    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        <a  href="switching-cases.html" rel="prev">
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
+                                <span class="title">Switching Cases</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="extending-the-if-component.html" rel="next">
+                <span class="title">Extending the If Component</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div><div class="aui-label" style="float:right" title="Related Articles">
 
 
 
@@ -174,7 +197,17 @@
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/environmental-services.html
==============================================================================
--- websites/production/tapestry/content/environmental-services.html (original)
+++ websites/production/tapestry/content/environmental-services.html Mon Aug 26 
21:20:28 2019
@@ -134,7 +134,17 @@ public class Tab
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/error-page-recipe.html
==============================================================================
--- websites/production/tapestry/content/error-page-recipe.html (original)
+++ websites/production/tapestry/content/error-page-recipe.html Mon Aug 26 
21:20:28 2019
@@ -77,7 +77,30 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><h1 
id="ErrorPageRecipe-ServingTapestryPagesasServletErrorPages">Serving Tapestry 
Pages as Servlet Error Pages</h1><p>Do you want to dress up your site and use a 
snazzy Tapestry page instead of the default 404 error page? Using modern 
servlet containers, this is a snap!</p><div class="aui-label" 
style="float:right; margin: 1em" title="Related Articles">
+                <div id="ConfluenceContent"><p>    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        <a  href="overriding-exception-reporting.html" rel="prev">
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
+                                <span class="title">Overriding Exception 
Reporting</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="supporting-informal-parameters.html" rel="next">
+                <span class="title">Supporting Informal Parameters</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div><h1 id="ErrorPageRecipe-ServingTapestryPagesasServletErrorPages">Serving 
Tapestry Pages as Servlet Error Pages</h1><p>Do you want to dress up your site 
and use a snazzy Tapestry page instead of the default 404 error page? Using 
modern servlet containers, this is a snap!</p><div class="aui-label" 
style="float:right; margin: 1em" title="Related Articles">
 
 
 
@@ -104,7 +127,7 @@
                 <span class="icon aui-icon content-type-page" 
title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a  href="specific-errors-faq.html">Specific Errors 
FAQ</a>
+                        <a  href="error-page-recipe.html">Error Page Recipe</a>
                 
                         
                     </div>
@@ -113,7 +136,7 @@
                 <span class="icon aui-icon content-type-page" 
title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a  href="error-page-recipe.html">Error Page Recipe</a>
+                        <a  href="specific-errors-faq.html">Specific Errors 
FAQ</a>
                 
                         
                     </div>
@@ -210,7 +233,17 @@ public class Error404
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/extending-the-if-component.html
==============================================================================
--- websites/production/tapestry/content/extending-the-if-component.html 
(original)
+++ websites/production/tapestry/content/extending-the-if-component.html Mon 
Aug 26 21:20:28 2019
@@ -77,7 +77,30 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><h1 
id="ExtendingtheIfComponent-ExtendingtheIfComponent">Extending the If 
Component</h1><p>The <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/If.html";>If</a>
 component can be made very flexible; its main parameter, <code>test</code>, 
does not <em>have</em> to be bound to a boolean value, it merely has to be 
bound to a value that can be <a  
href="parameter-type-coercion.html">coerced</a> to boolean.</p><p>For example, 
you may be working on an application that does a lot of <a  
class="external-link" 
href="http://lucene.apache.org/java/docs/index.html";>Lucene</a> searches, and 
you represent the results as a SearchResult object:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>SearchResult.java</b></div><div 
class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><p>    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        <a  href="enum-parameter-recipe.html" rel="prev">
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
+                                <span class="title">Enum Parameter 
Recipe</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="meta-programming-page-content.html" rel="next">
+                <span class="title">Meta-Programming Page Content</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div><h1 id="ExtendingtheIfComponent-ExtendingtheIfComponent">Extending the 
If Component</h1><p>The <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/If.html";>If</a>
 component can be made very flexible; its main parameter, <code>test</code>, 
does not <em>have</em> to be bound to a boolean value, it merely has to be 
bound to a value that can be <a  
href="parameter-type-coercion.html">coerced</a> to boolean.</p><p>For example, 
you may be working on an application that does a lot of <a  
class="external-link" 
href="http://lucene.apache.org/java/docs/index.html";>Lucene</a> searches, and 
you represent the results as a SearchResult object:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>SearchResult.java</b></div><div 
class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; 
gutter: false; theme: Default" data-theme="Default">public class 
SearchResult&lt;T&gt; {
   public final Class&lt;T&gt; itemType;
   public final List&lt;T&gt; items;
@@ -139,7 +162,17 @@ private static &lt;S, T&gt; void add(Con
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: 
websites/production/tapestry/content/forms-and-form-components-faq.html
==============================================================================
--- websites/production/tapestry/content/forms-and-form-components-faq.html 
(original)
+++ websites/production/tapestry/content/forms-and-form-components-faq.html Mon 
Aug 26 21:20:28 2019
@@ -77,12 +77,35 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><h1 
id="FormsandFormComponentsFAQ-FormsandFormComponents">Forms and Form 
Components</h1><p>Main article: <a  href="forms-and-validation.html">Forms and 
Validation</a></p><h2 
id="FormsandFormComponentsFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1566728396721 {padding: 0px;}
-div.rbtoc1566728396721 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1566728396721 li {margin-left: 0px;padding-left: 0px;}
+                <div id="ConfluenceContent"><p>    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        <a  href="page-and-component-classes-faq.html" rel="prev">
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
+                                <span class="title">Page And Component Classes 
FAQ</span>
+            </a>
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1566728396721">
+    </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="beaneditform-faq.html" rel="next">
+                <span class="title">BeanEditForm FAQ</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div><h1 id="FormsandFormComponentsFAQ-FormsandFormComponents">Forms and Form 
Components</h1><p>Main article: <a  href="forms-and-validation.html">Forms and 
Validation</a></p><h2 
id="FormsandFormComponentsFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1566854379491 {padding: 0px;}
+div.rbtoc1566854379491 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1566854379491 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></p><div class="toc-macro rbtoc1566854379491">
 <ul class="toc-indentation"><li><a  
href="#FormsandFormComponentsFAQ-Whatisthet:formdatahiddenfieldfor?">What is 
the t:formdata hidden field for?</a></li><li><a  
href="#FormsandFormComponentsFAQ-HowdoIchangethelabelforafieldonthefly?">How do 
I change the label for a field on the fly?</a></li><li><a  
href="#FormsandFormComponentsFAQ-Tapestryfocusesonthewrongfieldinmyform,howdoIfixthat?">Tapestry
 focuses on the wrong field in my form, how do I fix that?</a></li></ul>
 </div><h2 
id="FormsandFormComponentsFAQ-Whatisthet:formdatahiddenfieldfor?">What is the 
<code>t:formdata</code> hidden field for?</h2><p>In Tapestry, rendering a form 
can be a complicated process; inside the body of the Form component are many of 
field components: TextField, Select, TextArea, and so forth. Each of these must 
pull data out of your data model and convert it to the string form used inside 
the client web browser. In addition, JavaScript to support client-side 
validation must be generated. This can be further complicated by the use of 
Loop and If components, or made really complicated by the use of Block (to 
render portions of other pages: this is what the BeanEditForm component 
does).</p><p>Along the way, the Form is generating unique form control names 
for each field component, as it renders.</p><p>When the client-side Form is 
submitted, an event is triggered on the server-side Form component. It now 
needs to locate each component, in turn, inform the component of its 
 control name, and allow the component to read the corresponding query 
parameter. The component then converts the client-side string back into a 
server-side value and performs validations before updating the data 
model.</p><p>That's where <code>t:formdata</code> comes in. While components 
are rendering, they are using the FormSupport environmental object to record 
callbacks:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>FormSupport.java (partial)</b></div><div class="codeContent 
panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; 
gutter: true; theme: Default" data-theme="Default">public interface FormSupport 
extends ClientElement
@@ -120,14 +143,47 @@ div.rbtoc1566728396721 li {margin-left:
 </div></div><p>The "prop:" prefix identifies that "usernameLabel" is to be 
interpreted as a property expression (normally, the binding for the 
<code>label</code> parameter is interpreted as a string literal). The Label 
component gets the text it displays from the TextField component, and the 
TextField component uses the same text when generating server-side and 
client-side validation messages.</p><h2 
id="FormsandFormComponentsFAQ-Tapestryfocusesonthewrongfieldinmyform,howdoIfixthat?">Tapestry
 focuses on the wrong field in my form, how do I fix that?</h2><p>Tapestry 
normally figures out the correct field in your form to initially receive focus; 
this is based on assigning a <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/FieldFocusPriority.html";>FieldFocusPriority</a>
 to each field as it renders, which works out to the following 
logic:</p><ul><li>The first field which has an error</li><li>Or, the first 
field which is required</li><li>Or,
  the first field</li></ul><p>Occasionally, due a wide range of factors beyond 
Tapestry's control, it's selection will not be quite what you want, and it is 
necessary to supply an override. The information is tracked inside the <a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/javascript/JavaScriptSupport.html";>JavaScriptSupport</a>
 environmental. It's just a matter of injecting the component so that you can 
determine its client id, then informing JavaScriptSupport about your 
override.</p><p>Here's an example</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; 
gutter: false; theme: Default" data-theme="Default">  &lt;t:textfield 
t:id="email" t:mixins="OverrideFieldFocus" .../&gt;
 </pre>
-</div></div><p>The <a  class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/OverrideFieldFocus.html";>OverrideFieldFocus</a>
 mixin forces the email field to be the focus field, regardless.</p></div>
+</div></div><p>The <a  class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/OverrideFieldFocus.html";>OverrideFieldFocus</a>
 mixin forces the email field to be the focus field, regardless.    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        <a  href="page-and-component-classes-faq.html" rel="prev">
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-left">Previous</span>
+                                <span class="title">Page And Component Classes 
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="beaneditform-faq.html" rel="next">
+                <span class="title">BeanEditForm FAQ</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div></div>
       </div>
 
       <div class="clearer"></div>
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/forms-and-validation.html
==============================================================================
--- websites/production/tapestry/content/forms-and-validation.html (original)
+++ websites/production/tapestry/content/forms-and-validation.html Mon Aug 26 
21:20:28 2019
@@ -122,11 +122,11 @@
 
 
 <p>&#160;</p><p>Tapestry provides support for creating and rendering forms, 
populating their fields, and validating user input. For simple cases, input 
validation is declarative, meaning you simply tell Tapestry what validations to 
apply to a given field, and it takes care of it on the server and (optionally) 
on the client as well. In addition, you can provide event handler 
methods&#160;in your page or component classes to handle more complex 
validation scenarios.</p><p>Finally, Tapestry not only makes it easy to present 
errors messages to the user, but it can also automatically highlight form 
fields when validation fails.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1566728386768 {padding: 0px;}
-div.rbtoc1566728386768 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1566728386768 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1566854373218 {padding: 0px;}
+div.rbtoc1566854373218 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1566854373218 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1566728386768">
+/*]]>*/</style></p><div class="toc-macro rbtoc1566854373218">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a  href="#FormsandValidation-TheFormComponent">The Form Component</a>
 <ul class="toc-indentation"><li><a  href="#FormsandValidation-FormEvents">Form 
Events</a></li><li><a  href="#FormsandValidation-HandlingEvents">Handling 
Events</a></li><li><a  
href="#FormsandValidation-TrackingValidationErrors">Tracking Validation 
Errors</a></li><li><a  
href="#FormsandValidation-StoringDataBetweenRequests">Storing Data Between 
Requests</a></li><li><a  
href="#FormsandValidation-ConfiguringFieldsandLabels">Configuring Fields and 
Labels</a></li></ul>
@@ -303,7 +303,17 @@ private String password;
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/general-questions.html
==============================================================================
--- websites/production/tapestry/content/general-questions.html (original)
+++ websites/production/tapestry/content/general-questions.html Mon Aug 26 
21:20:28 2019
@@ -77,21 +77,69 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><h1 
id="GeneralQuestions-GeneralQuestions">General Questions</h1><h2 
id="GeneralQuestions-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1566728389843 {padding: 0px;}
-div.rbtoc1566728389843 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1566728389843 li {margin-left: 0px;padding-left: 0px;}
+                <div id="ConfluenceContent"><p>    
+</p><div class="atb-scrollbar-macro">
+    <div class="prev">
+        
+    </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="templating-and-markup-faq.html" rel="next">
+                <span class="title">Templating and Markup FAQ</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1566728389843">
+    </div>
+</div><h1 id="GeneralQuestions-GeneralQuestions">General Questions</h1><h2 
id="GeneralQuestions-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1566854375782 {padding: 0px;}
+div.rbtoc1566854375782 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1566854375782 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></p><div class="toc-macro rbtoc1566854375782">
 <ul class="toc-indentation"><li><a  
href="#GeneralQuestions-HowdoIgetstartedwithTapestry?">How do I get started 
with Tapestry?</a></li><li><a  
href="#GeneralQuestions-WhydoesTapestryusePrototype(inversionsbefore5.4)?WhynotinsertfavoriteJavaScriptlibraryhere?">Why
 does Tapestry use Prototype (in versions before 5.4)? Why not insert favorite 
JavaScript library here?</a></li><li><a  
href="#GeneralQuestions-WhydoesTapestryhaveitsownInversionofControlContainer?WhynotSpringorGuice?">Why
 does Tapestry have its own Inversion of Control Container? Why not Spring or 
Guice?</a></li><li><a  
href="#GeneralQuestions-HowdoIupgradefromTapestry4toTapestry5?">How do I 
upgrade from Tapestry 4 to Tapestry 5?</a></li><li><a  
href="#GeneralQuestions-HowdoIupgradefromoneversionofTapestry5toanother?">How 
do I upgrade from one version of Tapestry 5 to another?</a></li><li><a  
href="#GeneralQuestions-WhyaretherebothRequestandHttpServletRequest?">Why are 
there both Request and HttpServletRequest?</a></li></ul
 >
-</div><h2 id="GeneralQuestions-HowdoIgetstartedwithTapestry?">How do I get 
started with Tapestry?</h2><p class="confluence-link">The easiest way to get 
started is to use <a  class="external-link" 
href="http://maven.apache.org";>Apache Maven</a> to create your initial project; 
Maven can use an <em>archetype</em> (a kind of project template) to create a 
bare-bones Tapestry application for you. See the&#160;<a  
href="getting-started.html">Getting Started</a> page for more 
details.</p><p>Even without Maven, Tapestry is quite easy to set up. You just 
need to <a  href="general-questions.html">download</a> the binaries and setup 
your build to place them inside your WAR's WEB-INF/lib folder. The rest is just 
some one-time <a  href="configuration.html">configuration of the web.xml 
deployment descriptor</a>.</p><h2 
id="GeneralQuestions-WhydoesTapestryusePrototype(inversionsbefore5.4)?WhynotinsertfavoriteJavaScriptlibraryhere?">Why
 does Tapestry use Prototype (in versions before 5.4)? Why not <
 em>insert favorite JavaScript library here</em>?</h2><p>An important goal for 
Tapestry is seamless DHTML and Ajax integration. To serve that goal, it was 
important that the built in components be capable of Ajax operations, such as 
dynamically re-rendering parts of the page. Because of that, it made sense to 
bundle a well-known JavaScript library as part of Tapestry.</p><p>At the time 
(this would be 2006-ish), Prototype and Scriptaculous were well known and well 
documented, whereas jQuery was just getting started.</p><p>The intent has 
always been to make this aspect of Tapestry pluggable. Tapestry 5.4 includes 
the option of either Prototype or jQuery, and future versions of Tapestry will 
likely remove Prototype as an option..</p><h2 
id="GeneralQuestions-WhydoesTapestryhaveitsownInversionofControlContainer?WhynotSpringorGuice?">Why
 does Tapestry have its own Inversion of Control Container? Why not Spring or 
Guice?</h2><p>An Inversion of Control Container is <em>the</em> key piece of 
 Tapestry's infrastructure. It is absolutely necessary to create software as 
robust, performant and extensible as Tapestry.</p><p>Tapestry IoC includes a 
number of features that distinguish itself from other 
containers:</p><ul><li>Configured in code, not XML</li><li>Built-in extension 
mechanism for services: configurations and contributions</li><li>Built-in 
aspect oriented programming model (service decorations and advice)</li><li>Easy 
modularization</li><li>Best-of-breed exception reporting</li></ul><p>Because 
Tapestry is implemented on top of its IoC container, and because the container 
makes it easy to extend or replace any service inside the container, it is 
possible to make the small changes to Tapestry needed to customize it to any 
project's needs.</p><p>In addition &#8211; and this is critical&#160;&#8211; 
Tapestry allows 3rd party libraries to be built that fully participate in the 
configurability of Tapestry itself. This means that such libraries can be 
configured the same w
 ay Tapestry itself is configured, and such libraries can also configure 
Tapestry itself. This <em>distributed configuration</em> requires an IOC 
container that fully supports such configurability.</p><h2 
id="GeneralQuestions-HowdoIupgradefromTapestry4toTapestry5?">How do I upgrade 
from Tapestry 4 to Tapestry 5?</h2><p>There is no existing tool that supports 
upgrading from Tapestry 4 to Tapestry 5; Tapestry 5 is a complete 
rewrite.</p><p>Many of the basic concepts in Tapestry 4 are still present in 
Tapestry 5, but refactored, improved, streamlined, and simplified. The basic 
concept of pages, templates and components are largely the same. Other aspects, 
such as server-side event handling, is markedly different.</p><p>Tapestry 5 is 
designed so that it can live side-by-side in the same servlet as a Tapestry 4 
app, without package namespace conflicts, sharing session data and common 
resources such as images and CSS. This means that you can gradually migrate a 
Tapestry 4 app to Tapestry 5
  one page (or one portion of the app) at a time.</p><h2 
id="GeneralQuestions-HowdoIupgradefromoneversionofTapestry5toanother?">How do I 
upgrade from one version of Tapestry 5 to another?</h2><p>Main Article: <a  
href="how-to-upgrade.html">How to Upgrade</a>.</p><p>A lot of effort goes into 
making an upgrade from one Tapestry 5 release to another go smoothly. In the 
general case, it is just a matter of updating the version number in your Maven 
<code>build.xml</code> or Gradle <code>build.gradle</code> file and executing 
the appropriate commands (e.g., <code>gradle idea</code> or <code>mvn 
eclipse:eclipse</code>) to bring your local workspace up to date with the 
latest binaries.</p><p>After changing dependencies, you should always perform a 
clean recompile of your application.</p><p>We make every effort to ensure 
backwards-compatibility. Tapestry is mostly coded in terms of interfaces; those 
interfaces are stable to a point: interfaces your code is expected to implement 
are usually co
 mpletely frozen; interfaces your code is expected to invoke, such as the 
interfaces to IoC services, are stable, but may have new methods added in a 
release; existing methods are not changed.</p><p>In <em>rare</em> cases a 
choice is necessary between fixing bugs (or adding essential functionality) and 
maintaining complete backwards compatibility; in those cases, an incompatible 
change may be introduced. These are always discussed in detail in the&#160;<a  
href="release-notes.html">Release Notes</a> for the specific release. You 
should always read the release notes before attempting an upgrade, and always 
(really, <em>always</em>) be prepared to retest your application 
afterwards.</p><p>Note that you should be careful any time you make use of 
<strong>internal</strong> APIs (you can tell an API is internal by the package 
name, <code>org.apache.tapestry5.internal). </code>Internal APIs may change 
<em>at any time</em>; there's no guarantee of backwards compatibility. Please 
always check
  on the documentation, or consult the user mailing list, to see if there's a 
stable, public alternative. If you do make use of internal APIs, be sure to get 
a discussion going so that your needs can be met in the future by a stable, 
public API.</p><h2 
id="GeneralQuestions-WhyaretherebothRequestandHttpServletRequest?"><span 
style="color: rgb(83,145,38);">Why are there both Request and 
HttpServletRequest?</span></h2><p>Tapestry's Request interface is <em>very</em> 
close to the standard HttpServletRequest interface. It differs in a few ways, 
omitting some unneeded methods, and adding a couple of new methods (such as 
<code>isXHR()</code>), as well as changing how some existing methods operate. 
For example, <code>getParameterNames()</code> returns a sorted List of Strings; 
HttpServletRequest returns an Enumeration, which is a very dated 
approach.</p><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></div>
+</div><h2 id="GeneralQuestions-HowdoIgetstartedwithTapestry?">How do I get 
started with Tapestry?</h2><p class="confluence-link">The easiest way to get 
started is to use <a  class="external-link" 
href="http://maven.apache.org";>Apache Maven</a> to create your initial project; 
Maven can use an <em>archetype</em> (a kind of project template) to create a 
bare-bones Tapestry application for you. See the&#160;<a  
href="getting-started.html">Getting Started</a> page for more 
details.</p><p>Even without Maven, Tapestry is quite easy to set up. You just 
need to <a  href="general-questions.html">download</a> the binaries and setup 
your build to place them inside your WAR's WEB-INF/lib folder. The rest is just 
some one-time <a  href="configuration.html">configuration of the web.xml 
deployment descriptor</a>.</p><h2 
id="GeneralQuestions-WhydoesTapestryusePrototype(inversionsbefore5.4)?WhynotinsertfavoriteJavaScriptlibraryhere?">Why
 does Tapestry use Prototype (in versions before 5.4)? Why not <
 em>insert favorite JavaScript library here</em>?</h2><p>An important goal for 
Tapestry is seamless DHTML and Ajax integration. To serve that goal, it was 
important that the built in components be capable of Ajax operations, such as 
dynamically re-rendering parts of the page. Because of that, it made sense to 
bundle a well-known JavaScript library as part of Tapestry.</p><p>At the time 
(this would be 2006-ish), Prototype and Scriptaculous were well known and well 
documented, whereas jQuery was just getting started.</p><p>The intent has 
always been to make this aspect of Tapestry pluggable. Tapestry 5.4 includes 
the option of either Prototype or jQuery, and future versions of Tapestry will 
likely remove Prototype as an option..</p><h2 
id="GeneralQuestions-WhydoesTapestryhaveitsownInversionofControlContainer?WhynotSpringorGuice?">Why
 does Tapestry have its own Inversion of Control Container? Why not Spring or 
Guice?</h2><p>An Inversion of Control Container is <em>the</em> key piece of 
 Tapestry's infrastructure. It is absolutely necessary to create software as 
robust, performant and extensible as Tapestry.</p><p>Tapestry IoC includes a 
number of features that distinguish itself from other 
containers:</p><ul><li>Configured in code, not XML</li><li>Built-in extension 
mechanism for services: configurations and contributions</li><li>Built-in 
aspect oriented programming model (service decorations and advice)</li><li>Easy 
modularization</li><li>Best-of-breed exception reporting</li></ul><p>Because 
Tapestry is implemented on top of its IoC container, and because the container 
makes it easy to extend or replace any service inside the container, it is 
possible to make the small changes to Tapestry needed to customize it to any 
project's needs.</p><p>In addition &#8211; and this is critical&#160;&#8211; 
Tapestry allows 3rd party libraries to be built that fully participate in the 
configurability of Tapestry itself. This means that such libraries can be 
configured the same w
 ay Tapestry itself is configured, and such libraries can also configure 
Tapestry itself. This <em>distributed configuration</em> requires an IOC 
container that fully supports such configurability.</p><h2 
id="GeneralQuestions-HowdoIupgradefromTapestry4toTapestry5?">How do I upgrade 
from Tapestry 4 to Tapestry 5?</h2><p>There is no existing tool that supports 
upgrading from Tapestry 4 to Tapestry 5; Tapestry 5 is a complete 
rewrite.</p><p>Many of the basic concepts in Tapestry 4 are still present in 
Tapestry 5, but refactored, improved, streamlined, and simplified. The basic 
concept of pages, templates and components are largely the same. Other aspects, 
such as server-side event handling, is markedly different.</p><p>Tapestry 5 is 
designed so that it can live side-by-side in the same servlet as a Tapestry 4 
app, without package namespace conflicts, sharing session data and common 
resources such as images and CSS. This means that you can gradually migrate a 
Tapestry 4 app to Tapestry 5
  one page (or one portion of the app) at a time.</p><h2 
id="GeneralQuestions-HowdoIupgradefromoneversionofTapestry5toanother?">How do I 
upgrade from one version of Tapestry 5 to another?</h2><p>Main Article: <a  
href="how-to-upgrade.html">How to Upgrade</a>.</p><p>A lot of effort goes into 
making an upgrade from one Tapestry 5 release to another go smoothly. In the 
general case, it is just a matter of updating the version number in your Maven 
<code>build.xml</code> or Gradle <code>build.gradle</code> file and executing 
the appropriate commands (e.g., <code>gradle idea</code> or <code>mvn 
eclipse:eclipse</code>) to bring your local workspace up to date with the 
latest binaries.</p><p>After changing dependencies, you should always perform a 
clean recompile of your application.</p><p>We make every effort to ensure 
backwards-compatibility. Tapestry is mostly coded in terms of interfaces; those 
interfaces are stable to a point: interfaces your code is expected to implement 
are usually co
 mpletely frozen; interfaces your code is expected to invoke, such as the 
interfaces to IoC services, are stable, but may have new methods added in a 
release; existing methods are not changed.</p><p>In <em>rare</em> cases a 
choice is necessary between fixing bugs (or adding essential functionality) and 
maintaining complete backwards compatibility; in those cases, an incompatible 
change may be introduced. These are always discussed in detail in the&#160;<a  
href="release-notes.html">Release Notes</a> for the specific release. You 
should always read the release notes before attempting an upgrade, and always 
(really, <em>always</em>) be prepared to retest your application 
afterwards.</p><p>Note that you should be careful any time you make use of 
<strong>internal</strong> APIs (you can tell an API is internal by the package 
name, <code>org.apache.tapestry5.internal). </code>Internal APIs may change 
<em>at any time</em>; there's no guarantee of backwards compatibility. Please 
always check
  on the documentation, or consult the user mailing list, to see if there's a 
stable, public alternative. If you do make use of internal APIs, be sure to get 
a discussion going so that your needs can be met in the future by a stable, 
public API.</p><h2 
id="GeneralQuestions-WhyaretherebothRequestandHttpServletRequest?"><span 
style="color: rgb(83,145,38);">Why are there both Request and 
HttpServletRequest?</span></h2><p>Tapestry's Request interface is <em>very</em> 
close to the standard HttpServletRequest interface. It differs in a few ways, 
omitting some unneeded methods, and adding a couple of new methods (such as 
<code>isXHR()</code>), as well as changing how some existing methods operate. 
For example, <code>getParameterNames()</code> returns a sorted List of Strings; 
HttpServletRequest returns an Enumeration, which is a very dated 
approach.</p><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><div class="atb-scrollbar-macro">
+    <div class="prev">
+        
+    </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="templating-and-markup-faq.html" rel="next">
+                <span class="title">Templating and Markup FAQ</span>
+                                    <span class="aui-icon aui-icon-small 
atb-icon-arrow-right">Next</span>
+                            </a>
+
+    </div>
+</div></div>
       </div>
 
       <div class="clearer"></div>
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>

Modified: websites/production/tapestry/content/hibernate-statistics.html
==============================================================================
--- websites/production/tapestry/content/hibernate-statistics.html (original)
+++ websites/production/tapestry/content/hibernate-statistics.html Mon Aug 26 
21:20:28 2019
@@ -113,7 +113,17 @@
     
     <div id="footer">
             <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache 
feather logo, and the Apache Tapestry project logo are trademarks of The Apache 
Software Foundation.<br clear="none">
-</p><p></p><div class="aui-message aui-message-error"><p 
class="title"><strong>Error rendering macro 'html'</strong></p><p>Your 
Confluence administrator has disallowed the use of Javascript in the HTML 
macro.  This setting can be changed using  HTML for Confluence Configuration.  
Please see your administrator for details.</p></div><p></p></div>
+</p><p><script type="text/javascript">
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-400821-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+</script></p><p></p></div>
     </div>
 
     <div id="comments_thread"></div>


Reply via email to