Modified: websites/production/tapestry/content/logging.html
==============================================================================
--- websites/production/tapestry/content/logging.html (original)
+++ websites/production/tapestry/content/logging.html Fri May  1 00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Logging - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -310,4 +310,4 @@ public final class org/apache/tapestry5/
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: websites/production/tapestry/content/mailing-lists.html
==============================================================================
--- websites/production/tapestry/content/mailing-lists.html (original)
+++ websites/production/tapestry/content/mailing-lists.html Fri May  1 00:29:08 
2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Mailing Lists - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -142,7 +142,7 @@
             
             <!-- /// Content Start -->
             <div id="content">
-                            <div id="ConfluenceContent"><p>Like all Apache 
projects, Tapestry uses mailing lists for most communication. You can subscribe 
by sending e-mail to the addresses below. For each list, there are subscribe, 
unsubscribe, and archive links. All Tapestry users are welcome to subscribe to 
any of these lists, however questions on how to <em>use</em> Tapestry in your 
application are best sent to the <em>user</em> mailing list.</p><p>Please note 
that the Nabble archives are set to read-only and don't allow for posting or 
answering using Nabble's web interface. You have to subscribe to the mailing 
list in order to post.</p><div class="table-wrap"><table class="table 
table-bordered"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"></td><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Subscribe</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Unsubscribe</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Apache Archive</p></th><th co
 lspan="1" rowspan="1" class="confluenceTh"><p>Nabble Archive</p></th><th 
colspan="1" rowspan="1" class="confluenceTh"><p>MarkMail 
Archive</p></th></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Tapestry User List</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="mailto:[email protected]"; 
rel="nofollow">Subscribe</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="mailto:[email protected]"; 
rel="nofollow">Unsubscribe</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="http://mail-archives.apache.org/mod_mbox/tapestry-users/";>mail-archives.apache.org</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a class="external-link" 
href="http://tapestry.1045711.n5.nabble.com/Tapestry-User-f2375125.html"; 
rel="nofollow">www.nabble.com</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class=
 "external-link" 
href="http://tapestry.markmail.org/search/?q=list%3Aorg.apache.tapestry.users"; 
rel="nofollow">tapestry.markmail.org</a></p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Tapestry Developer List</p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a class="external-link" 
href="mailto:[email protected]"; 
rel="nofollow">Subscribe</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="mailto:[email protected]"; 
rel="nofollow">Unsubscribe</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="http://mail-archives.apache.org/mod_mbox/tapestry-dev/";>mail-archives.apache.org</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a class="external-link" 
href="http://tapestry.1045711.n5.nabble.com/Tapestry-Dev-f2438278.html"; 
rel="nofollow">www.nabble.com</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="ext
 ernal-link" 
href="http://tapestry.markmail.org/search/?q=list%3Aorg.apache.tapestry.dev"; 
rel="nofollow">tapestry.markmail.org</a></p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Tapestry Commits List</p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a class="external-link" 
href="mailto:[email protected]"; 
rel="nofollow">Subscribe</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="mailto:[email protected]"; 
rel="nofollow">Unsubscribe</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="http://mail-archives.apache.org/mod_mbox/tapestry-commits/";>mail-archives.apache.org</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>-</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a class="external-link" 
href="http://tapestry.markmail.org/search/?q=list%3Aorg.apache.tapestry.commits";
 rel="nofollow">tapestry.markmail
 .org</a></p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Search Multiple Lists</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>-</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>-</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>-</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="http://tapestry.1045711.n5.nabble.com/"; 
rel="nofollow">www.nabble.com</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="http://tapestry.markmail.org/search/?q=#query:+page:1+state:facets"; 
rel="nofollow">tapestry.markmail.org</a></p></td></tr></tbody></table></div></div>
+                            <div id="ConfluenceContent"><p>Like all Apache 
projects, Tapestry uses mailing lists for most communication. You can subscribe 
by sending e-mail to the addresses below. For each list, there are subscribe, 
unsubscribe, and archive links. All Tapestry users are welcome to subscribe to 
any of these lists, however questions on how to <em>use</em> Tapestry in your 
application are best sent to the <em>user</em> mailing list.</p><p>Please note 
that the Nabble archives are set to read-only and don't allow for posting or 
answering using Nabble's web interface. You have to subscribe to the mailing 
list in order to post.</p><div class="table-wrap"><table class="table 
table-bordered table-responsive"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"></td><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Subscribe</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Unsubscribe</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Apache Archi
 ve</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Nabble 
Archive</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MarkMail 
Archive</p></th></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Tapestry User List</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="mailto:[email protected]"; 
rel="nofollow">Subscribe</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="mailto:[email protected]"; 
rel="nofollow">Unsubscribe</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="http://mail-archives.apache.org/mod_mbox/tapestry-users/";>mail-archives.apache.org</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a class="external-link" 
href="http://tapestry.1045711.n5.nabble.com/Tapestry-User-f2375125.html"; 
rel="nofollow">www.nabble.com</a></p></td><td colspan="1" rowspan="1" 
class="confluenc
 eTd"><p><a class="external-link" 
href="http://tapestry.markmail.org/search/?q=list%3Aorg.apache.tapestry.users"; 
rel="nofollow">tapestry.markmail.org</a></p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Tapestry Developer List</p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a class="external-link" 
href="mailto:[email protected]"; 
rel="nofollow">Subscribe</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="mailto:[email protected]"; 
rel="nofollow">Unsubscribe</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="http://mail-archives.apache.org/mod_mbox/tapestry-dev/";>mail-archives.apache.org</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a class="external-link" 
href="http://tapestry.1045711.n5.nabble.com/Tapestry-Dev-f2438278.html"; 
rel="nofollow">www.nabble.com</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"
 ><p><a class="external-link" 
 >href="http://tapestry.markmail.org/search/?q=list%3Aorg.apache.tapestry.dev"; 
 >rel="nofollow">tapestry.markmail.org</a></p></td></tr><tr><th colspan="1" 
 >rowspan="1" class="confluenceTh"><p>Tapestry Commits List</p></th><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><a class="external-link" 
 >href="mailto:[email protected]"; 
 >rel="nofollow">Subscribe</a></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><a class="external-link" 
 >href="mailto:[email protected]"; 
 >rel="nofollow">Unsubscribe</a></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><a class="external-link" 
 >href="http://mail-archives.apache.org/mod_mbox/tapestry-commits/";>mail-archives.apache.org</a></p></td><td
 > colspan="1" rowspan="1" class="confluenceTd"><p>-</p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><a class="external-link" 
 >href="http://tapestry.markmail.org/search/?q=list%3Aorg.apache.tapestry.commits";
 > rel="nofollow">
 tapestry.markmail.org</a></p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Search Multiple Lists</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>-</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>-</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>-</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="http://tapestry.1045711.n5.nabble.com/"; 
rel="nofollow">www.nabble.com</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a class="external-link" 
href="http://tapestry.markmail.org/search/?q=#query:+page:1+state:facets"; 
rel="nofollow">tapestry.markmail.org</a></p></td></tr></tbody></table></div></div>
             </div>
             <!-- /// Content End -->
           </div>
@@ -196,4 +196,4 @@
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

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 Fri May  1 
00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Maven Support FAQ - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -143,11 +143,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 
id="MavenSupportFAQ-MavenSupport">Maven Support</h1><h2 
id="MavenSupportFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1588040628246 {padding: 0px;}
-div.rbtoc1588040628246 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588040628246 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1588292676970 {padding: 0px;}
+div.rbtoc1588292676970 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1588292676970 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1588040628246">
+/*]]>*/</style></p><div class="toc-macro rbtoc1588292676970">
 <ul class="toc-indentation"><li><a 
href="#MavenSupportFAQ-WhydoMavenprojectnamesandotherdetailsshowupinmypages?">Why
 do Maven project names and other details show up in my pages?</a></li></ul>
 </div><h2 
id="MavenSupportFAQ-WhydoMavenprojectnamesandotherdetailsshowupinmypages?">Why 
do Maven project names and other details show up in my pages?</h2><p>Tapestry 
and maven both use the same syntax for dynamic portions of files: the 
<code>${...</code>} syntax. When Maven is copying resources from 
<code>src/main/resources</code>, and when filtering is <em>enabled</em> (which 
is not the default), then any expansions in <em>Tapestry templates</em> that 
match against Maven project properties are substituted. If you look at the 
deployed application you'll see that <code>${name</code>} is gone, replaced 
with your project's name!</p><p>The solution is to update your 
<code>pom.xml</code> and ignore any .tml files when copying and 
filtering:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>pom.xml 
(partial)</b></div><div class="codeContent panelContent pdl">
 <pre><code class="language-xml">  &lt;resource&gt;
@@ -220,4 +220,4 @@ div.rbtoc1588040628246 li {margin-left:
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: websites/production/tapestry/content/menuleft.html
==============================================================================
--- websites/production/tapestry/content/menuleft.html (original)
+++ websites/production/tapestry/content/menuleft.html Fri May  1 00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           menuleft - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -203,4 +203,4 @@
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

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 Fri 
May  1 00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Meta-Programming Page Content - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -332,4 +332,4 @@ public class ForbidFramingFilter impleme
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: websites/production/tapestry/content/modules.html
==============================================================================
--- websites/production/tapestry/content/modules.html (original)
+++ websites/production/tapestry/content/modules.html Fri May  1 00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Modules - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -196,4 +196,4 @@
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: websites/production/tapestry/content/navigation.html
==============================================================================
--- websites/production/tapestry/content/navigation.html (original)
+++ websites/production/tapestry/content/navigation.html Fri May  1 00:29:08 
2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Navigation - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -259,4 +259,4 @@
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: websites/production/tapestry/content/navigationv2.html
==============================================================================
--- websites/production/tapestry/content/navigationv2.html (original)
+++ websites/production/tapestry/content/navigationv2.html Fri May  1 00:29:08 
2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           NavigationV2 - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -259,4 +259,4 @@
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: websites/production/tapestry/content/news.html
==============================================================================
--- websites/production/tapestry/content/news.html (original)
+++ websites/production/tapestry/content/news.html Fri May  1 00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           News - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -831,4 +831,4 @@ If you're using Maven (or Gradle or Ivy,
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: websites/production/tapestry/content/object-providers.html
==============================================================================
--- websites/production/tapestry/content/object-providers.html (original)
+++ websites/production/tapestry/content/object-providers.html Fri May  1 
00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Object Providers - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -211,4 +211,4 @@
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: websites/production/tapestry/content/operation-tracker.html
==============================================================================
--- websites/production/tapestry/content/operation-tracker.html (original)
+++ websites/production/tapestry/content/operation-tracker.html Fri May  1 
00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Operation Tracker - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -255,4 +255,4 @@
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: websites/production/tapestry/content/ordering-by-constraints.html
==============================================================================
--- websites/production/tapestry/content/ordering-by-constraints.html (original)
+++ websites/production/tapestry/content/ordering-by-constraints.html Fri May  
1 00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Ordering by Constraints - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -196,4 +196,4 @@
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: 
websites/production/tapestry/content/overriding-exception-reporting.html
==============================================================================
--- websites/production/tapestry/content/overriding-exception-reporting.html 
(original)
+++ websites/production/tapestry/content/overriding-exception-reporting.html 
Fri May  1 00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Overriding Exception Reporting - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -385,4 +385,4 @@ public class ExceptionReport implements
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

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 
Fri May  1 00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Page And Component Classes FAQ - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -143,11 +143,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 
id="PageAndComponentClassesFAQ-PageAndComponentClasses">Page And Component 
Classes</h1><p>Main article: <a href="component-classes.html">Component 
Classes</a></p><h2 
id="PageAndComponentClassesFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1588040552493 {padding: 0px;}
-div.rbtoc1588040552493 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588040552493 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1588292583669 {padding: 0px;}
+div.rbtoc1588292583669 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1588292583669 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1588040552493">
+/*]]>*/</style></p><div class="toc-macro rbtoc1588292583669">
 <ul class="toc-indentation"><li><a 
href="#PageAndComponentClassesFAQ-What'sthedifferencebetweenapageandacomponent?">What's
 the difference between a page and a component?</a></li><li><a 
href="#PageAndComponentClassesFAQ-HowdoIstoremypageclassesinadifferentpackage?">How
 do I store my page classes in a different package?</a></li><li><a 
href="#PageAndComponentClassesFAQ-Whydomyinstancevariableshavetobeprivate?">Why 
do my instance variables have to be private?</a></li><li><a 
href="#PageAndComponentClassesFAQ-Whydon'tmyinformalparametersshowupintherenderedmarkup?">Why
 don't my informal parameters show up in the rendered markup?</a></li><li><a 
href="#PageAndComponentClassesFAQ-WhydoIgetjava.lang.LinkageErrorwhenIinvokepublicmethodsofmypageclasses?">Why
 do I get java.lang.LinkageError when I invoke public methods of my page 
classes?</a></li><li><a 
href="#PageAndComponentClassesFAQ-Whichisbetter,usingmagicmethodnames(i.e.,beginRender())orannotations(i.e.BeginRender)?">Which
 is better, using 
 magic method names (i.e., beginRender()) or annotations (i.e. 
BeginRender)?</a></li><li><a 
href="#PageAndComponentClassesFAQ-WhydoIhavetoinjectapage?Whycan'tIjustcreateoneusingnew?">Why
 do I have to inject a page? Why can't I just create one using 
new?</a></li></ul>
 </div><h2 
id="PageAndComponentClassesFAQ-What'sthedifferencebetweenapageandacomponent?">What's
 the difference between a page and a component?</h2><p>There's very little 
difference between the two. Pages classes must be in the 
<em>root-package</em>.<code>pages</code> package; components must be in the 
<em>root-package</em>.<code>components</code>. Pages may provide event handlers 
for certain page-specific events (such as activate and passivate). Components 
may have parameters.</p><p>Other than that, they are more equal than they are 
different. They may have templates or may render themselves in code (pages 
usually have a template, components are more likely to render only in 
code).</p><p>The major difference is that Tapestry page templates may be stored 
in the web context directory, as if they were static files (they can't be 
accessed from the client however; a specific rule prevents access to files with 
the <code>.tml</code> extension).</p><div class="confluence-information-macro co
 nfluence-information-macro-warning"><span class="aui-icon aui-icon-small 
aui-iconfont-error confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>It is possible that this feature 
may be removed in a later release. It is preferred that page templates be 
stored on the classpath, like component templates.</p></div></div><h2 
id="PageAndComponentClassesFAQ-HowdoIstoremypageclassesinadifferentpackage?">How
 do I store my page classes in a different package?</h2><p>Tapestry is very 
rigid here; you can't. Page classes must go in 
<em>root-package</em>.<code>pages</code>, component classes in 
<em>root-package</em>.<code>components</code>, etc.</p><p>You are allowed to 
create sub-packages, to help organize your code better and more logically. For 
example, you might have 
<em>root-package</em>.<code>pages.account.ViewAccount</code>, which would have 
the page name "account/viewaccount". (<span>Tapestry would also create an alias 
"account/view", by stripping of
 f the redundant "account" suffix. Either name is equally valid in your code, 
and Tapestry will use the shorter name, "account/view" in 
URLs.)</span></p><p>In addition, it is possible to define additional root 
packages for the application:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre><code class="language-java">public static void 
contributeComponentClassResolver(Configuration&lt;LibraryMapping&gt; 
configuration) {
@@ -182,13 +182,13 @@ public class DBImage
 
 
 
-<span class="gliffy-container" id="gliffy-container-23527573-9912" 
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-861" 
data-fullwidth="750" data-ceoid="23335008" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" data-filename="Class Loaders">
 
-    <map id="gliffy-map-23527573-2633" name="gliffy-map-23527573-2633"></map>
+    <map id="gliffy-map-23527573-9778" name="gliffy-map-23527573-9778"></map>
 
-    <img class="gliffy-image" id="gliffy-image-23527573-9912" 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-2633">
+    <img class="gliffy-image" id="gliffy-image-23527573-861" 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-9778">
 
-    <map class="gliffy-dynamic" id="gliffy-dynamic-map-23527573-9912" 
name="gliffy-dynamic-map-23527573-9912"></map>
+    <map class="gliffy-dynamic" id="gliffy-dynamic-map-23527573-861" 
name="gliffy-dynamic-map-23527573-861"></map>
 </span>
 
 
@@ -253,4 +253,4 @@ public class DBImage
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: websites/production/tapestry/content/page-and-component-classes.html
==============================================================================
--- websites/production/tapestry/content/page-and-component-classes.html 
(original)
+++ websites/production/tapestry/content/page-and-component-classes.html Fri 
May  1 00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Page And Component Classes - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -196,4 +196,4 @@
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>

Modified: websites/production/tapestry/content/page-life-cycle.html
==============================================================================
--- websites/production/tapestry/content/page-life-cycle.html (original)
+++ websites/production/tapestry/content/page-life-cycle.html Fri May  1 
00:29:08 2020
@@ -19,24 +19,24 @@
 <head>
   <meta http-equiv="content-type" content="text/html; charset=utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
-  <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
+  <meta name="keywords" content="tapestry, apache, apache tapestry, framework, 
java, web, component, open source, application, dynamic, scalable, robust, 
servlet">
   <meta name="description" content="Apache Tapestry is a open-source 
component-oriented framework for creating dynamic, robust, highly scalable web 
applications in Java. Tapestry complements and builds upon the standard Java 
Servlet API, and so it works in any servlet container or application server.">
 
   <title>
           Page Life Cycle - Apache Tapestry
       </title>
 
-  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="images/apache-tapestry-5-icon-144.png">
-  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="images/apache-tapestry-5-icon-114.png">
-  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="images/apache-tapestry-5-icon-72.png">
-  <link rel="apple-touch-icon-precomposed" 
href="images/apache-tapestry-5-icon-57.png">
-  <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+  <link rel="apple-touch-icon-precomposed" sizes="144x144" 
href="/images/apache-tapestry-5-icon-144.png">
+  <link rel="apple-touch-icon-precomposed" sizes="114x114" 
href="/images/apache-tapestry-5-icon-114.png">
+  <link rel="apple-touch-icon-precomposed" sizes="72x72" 
href="/images/apache-tapestry-5-icon-72.png">
+  <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-5-icon-57.png">
+  <link rel="shortcut icon" href="/images/apache-tapestry-5-icon-32.png">
 
   <link rel="stylesheet" 
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap";>
 
   <link rel="stylesheet" 
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"; 
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
 crossorigin="anonymous">
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css";>
   <link rel="stylesheet" 
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css";>
-    <link rel="stylesheet" href="/styles/main.css">
+  <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
     if (window.location.protocol === 'http:' && window.location.hostname !== 
'localhost') {
@@ -55,7 +55,7 @@
     ga('create', 'UA-400821-1', 'auto');
     ga('send', 'pageview');
   </script>
-  <script async src='https://www.google-analytics.com/analytics.js'></script>
+  <script async src="https://www.google-analytics.com/analytics.js";></script>
 </head>
 <body>
   <!-- /// Navigation Start -->
@@ -213,7 +213,7 @@
 </div>
 
 
-<p>Tapestry takes a very different approach.</p><p>In Tapestry, each page is a 
singleton, but with a <em>per thread</em> map of field names &amp; values that 
Tapestry invisibly manages for you.</p><p>With this approach, all the 
difficult, ugly issues related to multi-threading go by the wayside. Instead, 
familiar, simple coding practices (using ordinary methods and fields) can be 
used.</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>Tapestry 5.0 and 5.1 used page 
pooling, rather than a singleton page with a per-thread map, to achieve the 
same effect.</p></div></div><p>The page life cycle is quite 
simple:</p><ol><li>When first needed, a page is loaded. Loading a page involves 
instantiating the components of the page and connecting them 
together.</li><li>Once a page is loaded, it is <em>attached</em> to
  the current request. Remember that there will be many threads, each handling 
its own request to the same page.</li><li>At the end of a request, after a 
response has been sent to the client, the page is <em>detached</em> from the 
request. This is a chance to perform any cleanup needed for the 
page.</li></ol><h2 id="PageLifeCycle-PageLifeCycleMethods">Page Life Cycle 
Methods</h2><p>There are rare occasions where it is useful for a component to 
perform some operations, usually some kind of initialization or caching, based 
on the life cycle of the page.</p><p>As with <a 
href="component-rendering.html">component rendering</a>, you have the ability 
to make your components "aware" of these events by telling Tapestry what 
methods to invoke for each.</p><p>Page life cycle methods should take no 
parameters and return void.</p><p>You have the choice of attaching an 
annotation to a method, or simply using the method naming conventions:</p><div 
class="table-wrap"><table class="table table-borde
 red"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Annotation</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Method Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>When Called</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>@<a class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/PageLoaded.html";>PageLoaded</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>pageLoaded()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>After the page is fully 
loaded</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>@<a 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/PageAttached.html";>PageAttached</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>pageAttached()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>After the page is attached to 
the request.</p></td></
 tr><tr><td colspan="1" rowspan="1" class="confluenceTd">@<a 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/PageReset.html";>PageReset</a></td><td
 colspan="1" rowspan="1" class="confluenceTd">pageReset()</td><td colspan="1" 
rowspan="1" class="confluenceTd">After the page is <em>activated</em>, except 
when requesting the same page</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>@<a class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/PageDetached.html";>PageDetached</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>pageDetached()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>AFter the page is detached from 
the request.</p></td></tr></tbody></table></div><p>The @PageReset life cycle 
(only for Tapestry 5.2 and later) is invoked on a page render request when the 
page is linked to from some <em>other</em> page of the application (but <em>no
 t</em> on a link to the same page), or upon a reload of the page in the 
browser. This is to allow the page to reset its state, if any, when a user 
returns to the page from some other part of the application.</p><h2 
id="PageLifeCycle-ComparisontoJavaServerPages">Comparison to JavaServer 
Pages</h2><p>JSPs also act as singletons. However, the individual JSP tags are 
pooled.</p><p>This is one of the areas where Tapestry can significantly 
outperform JSPs. Much of the code inside a compiled JSP class concerns getting 
tags from a tag pool, configuring the properties of the tag instance, using the 
tag instance, then cleaning up the tag instance and putting it back in the 
pool.</p><p>The operations Tapestry does once per request are instead executed 
dozens or potentially hundreds of times (depending the complexity of the page, 
and if any nested loops occur).</p><p>Pooling JSP tags is simply the wrong 
granularity.</p><p>Tapestry can also take advantage of its more coarse grained 
caching to op
 timize how data moves, via parameters, between components. This means that 
Tapestry pages will actually speed up after they render the first time.</p><h2 
id="PageLifeCycle-PagePoolConfiguration">Page Pool Configuration</h2><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 section is related to 
versions of Tapestry prior to 5.2. Modern Tapestry uses an alternate approach 
that allows a single page instance to be shared across many request processing 
threads.</p></div></div><p>In Tapestry 5.0 and 5.1, a page pool is used to 
store page instances. The pool is "keyed" on the name of the page (such as 
"start") and the <em>locale</em> for the page (such as "en" or 
"fr").</p><p>Within each key, Tapestry tracks the number of page instances that 
have been created, as well as the number that are in use (currently att
 ached to a request).</p><p>When a page is first accessed in a request, it is 
taken from the pool. Tapestry has some <a 
href="configuration.html">configuration values</a> that control the details of 
how and when page instances are created.</p><ul><li>If a free page instance is 
available, the page is marked in use and attached to the request.</li><li>If 
there are fewer page instances than the <em>soft limit</em>, then a new page 
instance is simply created and attached to the request.</li><li>If the soft 
limit has been reached, Tapestry will wait for a short period of time for a 
page instance to become available before creating a new page 
instance.</li><li>If the hard limit has been reached, Tapestry will throw an 
exception rather than create a new page instance.</li><li>Otherwise, Tapestry 
will create a new page instance. Thus a busy application will initially create 
pages up-to the soft limit (which defaults to five page instances). If the 
application continues to be pounded with req
 uests, it will slow its request processing, using the soft wait time in an 
attempt to reuse an existing page instance.</li></ul><p>A truly busy 
application will continue to create new page instances as needed until the hard 
limit is reached.</p><p>Remember that all these configuration values are per 
key: the combination of page name and locale. Thus even with a hard limit of 
20, you may eventually find that Tapestry has created 20 start page instances 
for locale "en" <em>and</em> 20 start page instances for locale "fr" (if your 
application is configured to support both English and French). Likewise, you 
may have 20 instances for the start page, and 20 instances for the newaccount 
page.</p><p>Tapestry periodically checks its cache for page instances that have 
not been used recently (within a configurable window). Unused page instances 
are release to the garbage collector.</p><p>The end result is that you have 
quite a degree of tuning control over the process. If memory is a limitatio
 n and throughput can be sacrificed, try lowering the soft and hard limit and 
increasing the soft wait.</p><p>If performance is absolute and you have lots of 
memory, then increase the soft and hard limit and reduce the soft wait. This 
encourages Tapestry to create more page instances and not wait as long to 
re-use existing instances.</p></div>
+<p>Tapestry takes a very different approach.</p><p>In Tapestry, each page is a 
singleton, but with a <em>per thread</em> map of field names &amp; values that 
Tapestry invisibly manages for you.</p><p>With this approach, all the 
difficult, ugly issues related to multi-threading go by the wayside. Instead, 
familiar, simple coding practices (using ordinary methods and fields) can be 
used.</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>Tapestry 5.0 and 5.1 used page 
pooling, rather than a singleton page with a per-thread map, to achieve the 
same effect.</p></div></div><p>The page life cycle is quite 
simple:</p><ol><li>When first needed, a page is loaded. Loading a page involves 
instantiating the components of the page and connecting them 
together.</li><li>Once a page is loaded, it is <em>attached</em> to
  the current request. Remember that there will be many threads, each handling 
its own request to the same page.</li><li>At the end of a request, after a 
response has been sent to the client, the page is <em>detached</em> from the 
request. This is a chance to perform any cleanup needed for the 
page.</li></ol><h2 id="PageLifeCycle-PageLifeCycleMethods">Page Life Cycle 
Methods</h2><p>There are rare occasions where it is useful for a component to 
perform some operations, usually some kind of initialization or caching, based 
on the life cycle of the page.</p><p>As with <a 
href="component-rendering.html">component rendering</a>, you have the ability 
to make your components "aware" of these events by telling Tapestry what 
methods to invoke for each.</p><p>Page life cycle methods should take no 
parameters and return void.</p><p>You have the choice of attaching an 
annotation to a method, or simply using the method naming conventions:</p><div 
class="table-wrap"><table class="table table-borde
 red table-responsive"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Annotation</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Method Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>When Called</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>@<a class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/PageLoaded.html";>PageLoaded</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>pageLoaded()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>After the page is fully 
loaded</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>@<a 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/PageAttached.html";>PageAttached</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>pageAttached()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>After the page is attached to 
the re
 quest.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">@<a 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/PageReset.html";>PageReset</a></td><td
 colspan="1" rowspan="1" class="confluenceTd">pageReset()</td><td colspan="1" 
rowspan="1" class="confluenceTd">After the page is <em>activated</em>, except 
when requesting the same page</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>@<a class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/PageDetached.html";>PageDetached</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>pageDetached()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>AFter the page is detached from 
the request.</p></td></tr></tbody></table></div><p>The @PageReset life cycle 
(only for Tapestry 5.2 and later) is invoked on a page render request when the 
page is linked to from some <em>other</em> page of the applic
 ation (but <em>not</em> on a link to the same page), or upon a reload of the 
page in the browser. This is to allow the page to reset its state, if any, when 
a user returns to the page from some other part of the application.</p><h2 
id="PageLifeCycle-ComparisontoJavaServerPages">Comparison to JavaServer 
Pages</h2><p>JSPs also act as singletons. However, the individual JSP tags are 
pooled.</p><p>This is one of the areas where Tapestry can significantly 
outperform JSPs. Much of the code inside a compiled JSP class concerns getting 
tags from a tag pool, configuring the properties of the tag instance, using the 
tag instance, then cleaning up the tag instance and putting it back in the 
pool.</p><p>The operations Tapestry does once per request are instead executed 
dozens or potentially hundreds of times (depending the complexity of the page, 
and if any nested loops occur).</p><p>Pooling JSP tags is simply the wrong 
granularity.</p><p>Tapestry can also take advantage of its more coarse grai
 ned caching to optimize how data moves, via parameters, between components. 
This means that Tapestry pages will actually speed up after they render the 
first time.</p><h2 id="PageLifeCycle-PagePoolConfiguration">Page Pool 
Configuration</h2><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 section is related to 
versions of Tapestry prior to 5.2. Modern Tapestry uses an alternate approach 
that allows a single page instance to be shared across many request processing 
threads.</p></div></div><p>In Tapestry 5.0 and 5.1, a page pool is used to 
store page instances. The pool is "keyed" on the name of the page (such as 
"start") and the <em>locale</em> for the page (such as "en" or 
"fr").</p><p>Within each key, Tapestry tracks the number of page instances that 
have been created, as well as the number that are in u
 se (currently attached to a request).</p><p>When a page is first accessed in a 
request, it is taken from the pool. Tapestry has some <a 
href="configuration.html">configuration values</a> that control the details of 
how and when page instances are created.</p><ul><li>If a free page instance is 
available, the page is marked in use and attached to the request.</li><li>If 
there are fewer page instances than the <em>soft limit</em>, then a new page 
instance is simply created and attached to the request.</li><li>If the soft 
limit has been reached, Tapestry will wait for a short period of time for a 
page instance to become available before creating a new page 
instance.</li><li>If the hard limit has been reached, Tapestry will throw an 
exception rather than create a new page instance.</li><li>Otherwise, Tapestry 
will create a new page instance. Thus a busy application will initially create 
pages up-to the soft limit (which defaults to five page instances). If the 
application continues to be
  pounded with requests, it will slow its request processing, using the soft 
wait time in an attempt to reuse an existing page instance.</li></ul><p>A truly 
busy application will continue to create new page instances as needed until the 
hard limit is reached.</p><p>Remember that all these configuration values are 
per key: the combination of page name and locale. Thus even with a hard limit 
of 20, you may eventually find that Tapestry has created 20 start page 
instances for locale "en" <em>and</em> 20 start page instances for locale "fr" 
(if your application is configured to support both English and French). 
Likewise, you may have 20 instances for the start page, and 20 instances for 
the newaccount page.</p><p>Tapestry periodically checks its cache for page 
instances that have not been used recently (within a configurable window). 
Unused page instances are release to the garbage collector.</p><p>The end 
result is that you have quite a degree of tuning control over the process. If 
memo
 ry is a limitation and throughput can be sacrificed, try lowering the soft and 
hard limit and increasing the soft wait.</p><p>If performance is absolute and 
you have lots of memory, then increase the soft and hard limit and reduce the 
soft wait. This encourages Tapestry to create more page instances and not wait 
as long to re-use existing instances.</p></div>
             </div>
             <!-- /// Content End -->
           </div>
@@ -267,4 +267,4 @@
 </footer><br clear="none"></p><p><br clear="none"></p></div>
   <!-- /// Footer End -->
 </body>
-</html>
\ No newline at end of file
+</html>


Reply via email to