Modified: websites/production/tapestry/content/release-notes-541.html
==============================================================================
--- websites/production/tapestry/content/release-notes-541.html (original)
+++ websites/production/tapestry/content/release-notes-541.html Sat Feb  3 
18:21:36 2018
@@ -36,13 +36,26 @@
 
   <div class="wrapper bs">
 
-        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div></div>
+        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div>
+
+</div>
 
           <div id="top">
-            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span><form 
enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";> 
- <input type="text" name="q"> 
- <input type="submit" value="Search"> 
-</form></div><div class="emblem" style="float:left"><p><a  
href="index.html"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Release Notes 5.4.1</h1></div></div>
+            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+  <input type="text" name="q">
+  <input type="submit" value="Search">
+</form>
+
+</div>
+
+
+<div class="emblem" style="float:left"><p><a  href="index.html"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div>
+
+
+<div class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Release Notes 5.4.1</h1></div>
+
+</div>
       <div class="clearer"></div>
       </div>
 
@@ -54,8 +67,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>Tapestry 5.4.1 is a drop-in 
replacement for Tapestry 5.4.1 releases. To upgrade, just update the dependency 
in your build configuration (Maven POM, Gradle build script, etc.) &#8211; 
or&#160;<a  href="download.html">Download</a> the new JAR file -- and the new 
version will just work. However, please review the&#160;<a  
href="how-to-upgrade.html">How to Upgrade</a> instructions before 
upgrading.</p><p>&#160;</p>
-        Release Notes - Tapestry 5 - Version 5.4.1
+                <div id="ConfluenceContent"><p>Tapestry 5.4.1 is a drop-in 
replacement for Tapestry 5.4.1 releases. To upgrade, just update the dependency 
in your build configuration (Maven POM, Gradle build script, etc.) &#8211; 
or&#160;<a  href="download.html">Download</a> the new JAR file -- and the new 
version will just work. However, please review the&#160;<a  
href="how-to-upgrade.html">How to Upgrade</a> instructions before 
upgrading.</p><p>&#160;</p>        Release Notes - Tapestry 5 - Version 5.4.1
                                 
 <h2>        Bugs fixed
 </h2>
@@ -84,7 +96,7 @@
 </li><li>[<a  
href="TAP5-2520https://issues.apache.org/jira/browse/TAP5-2520";>TAP5-2520</a>] 
-         NullPointerException in CaseInsensitiveMap
 </li><li>[<a  
href="TAP5-2528https://issues.apache.org/jira/browse/TAP5-2528";>TAP5-2528</a>] 
-         Fix typo: "classes" instead of "clashes"
 </li></ul>
-                                                                               
                                    </div>
+                                                                               
                                    <p></p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/release-notes-542.html
==============================================================================
--- websites/production/tapestry/content/release-notes-542.html (original)
+++ websites/production/tapestry/content/release-notes-542.html Sat Feb  3 
18:21:36 2018
@@ -67,7 +67,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>Tapestry 5.4.2 is a drop-in 
replacement for Tapestry 5.4 releases. To upgrade, just update the dependency 
in your build configuration (Maven POM, Gradle build script, etc.) &#8211; 
or&#160;<a  href="download.html">Download</a> the new JAR file -- and the new 
version will just work. However, please review the&#160;<a  
href="how-to-upgrade.html">How to Upgrade</a> instructions before 
upgrading.</p><p>&#160;</p>        Release Notes - Tapestry 5 - Version 5.4.2
+                <div id="ConfluenceContent"><p>Tapestry 5.4.2 is a drop-in 
replacement for Tapestry 5.4 releases. To upgrade, just update the dependency 
in your build configuration (Maven POM, Gradle build script, etc.) &#8211; 
or&#160;<a  href="release-notes-542.html">Release Notes 5.4.2</a> the new JAR 
file -- and the new version will just work. However, please review the&#160;<a  
href="release-notes-542.html">Release Notes 5.4.2</a> instructions before 
upgrading.</p><p>&#160;</p>        Release Notes - Tapestry 5 - Version 5.4.2
                                 
 <h2>        Bugs fixed
 </h2>
@@ -84,7 +84,7 @@
 <h2>        Task completed
 </h2>
 <ul><li>[<a  
href="TAP5-2575https://issues.apache.org/jira/browse/TAP5-2575";>TAP5-2575</a>] 
-         Replace json.org-licensed classes with Apache-compatible versions
-</li></ul>                                                                     
                                              </div>
+</li></ul>                                                                     
                                              
<p></p><p>&#160;</p><p>&#160;</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/release-notes-543.html
==============================================================================
--- websites/production/tapestry/content/release-notes-543.html (original)
+++ websites/production/tapestry/content/release-notes-543.html Sat Feb  3 
18:21:36 2018
@@ -67,13 +67,13 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>Tapestry 5.4.3 is a drop-in 
replacement for Tapestry 5.4 releases. To upgrade, just update the dependency 
in your build configuration (Maven POM, Gradle build script, etc.) &#8211; 
or&#160;<a  href="download.html">Download</a> the new JAR file -- and the new 
version will just work. However, please review the&#160;<a  
href="how-to-upgrade.html">How to Upgrade</a> instructions before 
upgrading.</p><p>&#160;</p>        Release Notes - Tapestry 5 - Version 5.4.3
+                <div id="ConfluenceContent"><p>Tapestry 5.4.3 is a drop-in 
replacement for Tapestry 5.4 releases. To upgrade, just update the dependency 
in your build configuration (Maven POM, Gradle build script, etc.) &#8211; 
or&#160;<a  href="release-notes-543.html">Release Notes 5.4.3</a> the new JAR 
file -- and the new version will just work. However, please review the&#160;<a  
href="release-notes-543.html">Release Notes 5.4.3</a> instructions before 
upgrading.</p><p>&#160;</p>        Release Notes - Tapestry 5 - Version 5.4.3
                                 
 <h2>        Bugs fixed
 </h2>
 <ul><li>[<a  
href="TAP5-2578https://issues.apache.org/jira/browse/TAP5-2578";>TAP5-2578</a>] 
-         Changed constructor signature JSONObject(JSONObject, String...)
 </li><li>[<a  
href="TAP5-2580https://issues.apache.org/jira/browse/TAP5-2580";>TAP5-2580</a>] 
-         Quickstart project should not set SymbolConstants.MINIFICATION_ENABLED
-</li></ul></div>
+</li></ul><p></p><p>&#160;</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/release-process.html
==============================================================================
--- websites/production/tapestry/content/release-process.html (original)
+++ websites/production/tapestry/content/release-process.html Sat Feb  3 
18:21:36 2018
@@ -44,13 +44,26 @@
 
   <div class="wrapper bs">
 
-        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div></div>
+        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div>
+
+</div>
 
           <div id="top">
-            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span><form 
enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";> 
- <input type="text" name="q"> 
- <input type="submit" value="Search"> 
-</form></div><div class="emblem" style="float:left"><p><a  
href="index.html"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Release Process</h1></div></div>
+            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+  <input type="text" name="q">
+  <input type="submit" value="Search">
+</form>
+
+</div>
+
+
+<div class="emblem" style="float:left"><p><a  href="index.html"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div>
+
+
+<div class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Release Process</h1></div>
+
+</div>
       <div class="clearer"></div>
       </div>
 
@@ -62,43 +75,76 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><h2 
id="ReleaseProcess-Prerequisites">Prerequisites</h2><div class="aui-label" 
style="float:right" title="Related Articles"><h3>Related Articles</h3><ul 
class="content-by-label"><li> 
-  <div> 
-   <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" 
title="Page">Page:</span> 
-  </div> 
-  <div class="details"> 
-   <a  href="building-tapestry-from-source.html">Building Tapestry from 
Source</a> 
-  </div> </li><li> 
-  <div> 
-   <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" 
title="Page">Page:</span> 
-  </div> 
-  <div class="details"> 
-   <a  href="version-numbers.html">Version Numbers</a> 
-  </div> </li><li> 
-  <div> 
-   <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" 
title="Page">Page:</span> 
-  </div> 
-  <div class="details"> 
-   <a  href="developer-bible.html">Developer Bible</a> 
-  </div> </li><li> 
-  <div> 
-   <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" 
title="Page">Page:</span> 
-  </div> 
-  <div class="details"> 
-   <a  href="release-process.html">Release Process</a> 
-  </div> </li><li> 
-  <div> 
-   <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" 
title="Page">Page:</span> 
-  </div> 
-  <div class="details"> 
-   <a  href="developer-information.html">Developer Information</a> 
-  </div> </li><li> 
-  <div> 
-   <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" 
title="Page">Page:</span> 
-  </div> 
-  <div class="details"> 
-   <a  href="confluence-site-setup.html">Confluence Site Setup</a> 
-  </div> </li></ul></div><p>Before creating a release, ensure 
that:</p><ul><li>You have <a  class="external-link" 
href="http://www.apache.org/dev/openpgp.html";>setup your own public OpenGPG key 
signature</a> for signing the distribution</li><li>You can login to <a  
class="external-link" 
href="https://repository.apache.org/index.html#stagingRepositories";>Nexus</a></li><li>You
 have a Git workspace for&#160;<a  class="external-link" 
href="https://git-wip-us.apache.org/repos/asf/tapestry-5.git";>https://git-wip-us.apache.org/repos/asf/tapestry-5.git</a></li><li>You
 have a Subversion&#160;workspace for&#160;<a  class="external-link" 
href="https://dist.apache.org/repos/dist/dev/tapestry";>https://dist.apache.org/repos/dist/dev/tapestry</a>&#160;(dev
 archives workspace)</li><li>You have a Subversion workspace for&#160;<a  
class="external-link" 
href="https://dist.apache.org/repos/dist/release/tapestry";>https://dist.apache.org/repos/dist/release/tapestry</a>&#160;(release
 archives workspace)</
 li><li>You have a Subversion workspace for&#160;<a  class="external-link" 
href="https://svn.apache.org/repos/infra/websites/production/tapestry/content";>https://svn.apache.org/repos/infra/websites/production/tapestry/content</a>&#160;(site
 content workspace)</li></ul><h2 
id="ReleaseProcess-GITandDeploymentCredentials">GIT and Deployment 
Credentials</h2><p>To successfully create a release, you will need to update 
your Gradle settings with the credentials for your git user and the deployment 
user. These credentials are stored in the Gradle configuration file 
<code>~/.gradle/gradle.properties</code>:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><h2 
id="ReleaseProcess-Prerequisites">Prerequisites</h2><div class="aui-label" 
style="float:right" title="Related Articles">
+
+
+
+
+
+
+
+
+<h3>Related Articles</h3>
+
+<ul class="content-by-label"><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="building-tapestry-from-source.html">Building 
Tapestry from Source</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="version-numbers.html">Version Numbers</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="developer-bible.html">Developer Bible</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="release-process.html">Release Process</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="developer-information.html">Developer 
Information</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="confluence-site-setup.html">Confluence Site 
Setup</a>
+                
+                        
+                    </div>
+    </li></ul>
+</div>
+
+
+<p>Before creating a release, ensure that:</p><ul><li>You have <a  
class="external-link" href="http://www.apache.org/dev/openpgp.html";>setup your 
own public OpenGPG key signature</a> for signing the distribution</li><li>You 
can login to <a  class="external-link" 
href="https://repository.apache.org/index.html#stagingRepositories";>Nexus</a></li><li>You
 have a Git workspace for&#160;<a  class="external-link" 
href="https://git-wip-us.apache.org/repos/asf/tapestry-5.git";>https://git-wip-us.apache.org/repos/asf/tapestry-5.git</a></li><li>You
 have a Subversion&#160;workspace for&#160;<a  class="external-link" 
href="https://dist.apache.org/repos/dist/dev/tapestry";>https://dist.apache.org/repos/dist/dev/tapestry</a>&#160;(dev
 archives workspace)</li><li>You have a Subversion workspace for&#160;<a  
class="external-link" 
href="https://dist.apache.org/repos/dist/release/tapestry";>https://dist.apache.org/repos/dist/release/tapestry</a>&#160;(release
 archives workspace)</li><li>You have a Subvers
 ion workspace for&#160;<a  class="external-link" 
href="https://svn.apache.org/repos/infra/websites/production/tapestry/content";>https://svn.apache.org/repos/infra/websites/production/tapestry/content</a>&#160;(site
 content workspace)</li></ul><h2 
id="ReleaseProcess-GITandDeploymentCredentials">GIT and Deployment 
Credentials</h2><p>To successfully create a release, you will need to update 
your Gradle settings with the credentials for your git user and the deployment 
user. These credentials are stored in the Gradle configuration file 
<code>~/.gradle/gradle.properties</code>:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">apacheDeployUserName=hlship
 apacheDeployPassword=...
 
@@ -107,7 +153,7 @@ signing.secretKeyRingFile=.../.gnupg/sec
 signing.password=...
 
 apacheArchivesFolder=.../tapestry-dev</pre>
-</div></div><p>You can find your keyId using&#160;<code>gpg 
--list-keys</code>.</p><p>&#160;The apacheArchivesFolder should be the full 
path to your dev archives workspace.&#160;The build will copy files to this 
folder; see further notes below.</p><h2 
id="ReleaseProcess-ReleaseSteps">Release Steps</h2><h3 
id="ReleaseProcess-1.GeneratetheRelease">1.&#160;Generate the 
Release</h3><ol><li>Update your workspace to the release branch<ol><li>For 
current work, the release branch is&#160;<em>master</em></li><li>When creating 
bug fix releases for older releases, the branch will match the release, 
e.g.,&#160;<em>5.3</em></li></ol></li><li><span style="line-height: 
1.4285715;">Run the build using </span><code style="line-height: 
1.4285715;">gradle generateRelease</code><br clear="none"><ol><li>This will 
create, sign, and upload JAR files and other artifacts to the Nexus 
repository</li><li>It will also create, sign, and copy the source, binary, and 
documentation archives to your dev archives wo
 rkspace</li></ol></li><li>Tag the release in Git, then push the changes up to 
the Apache repository:<ol><li><code>git tag 5.x</code></li><li><code>git push 
--tags</code></li></ol></li><li>Login to&#160;<a  class="external-link" 
href="https://repository.apache.org/index.html#stagingRepositories";>Nexus</a>&#160;and&#160;<strong>close</strong>&#160;the
 automatically created staging repository</li></ol><h3 
id="ReleaseProcess-2.CommittheArchives">2. Commit the Archives</h3><ol><li>The 
build will have copied archive files to your dist workspace</li><li><code>svn 
add</code> the new files</li><li><code>svn commit</code> to copy the files up 
to Apache (this is&#160;<em>slow</em>)<ol><li>Use the full version number as 
the commit message, e.g.,&#160;<em>5.4-beta-26</em></li></ol></li><li>You can 
verify the files via the web:&#160;<a  class="external-link" 
href="https://dist.apache.org/repos/dist/dev/tapestry";>https://dist.apache.org/repos/dist/dev/tapestry</a></li></ol><h3
 id="ReleaseProcess-3
 .BumptheVersionNumber">3. Bump the Version 
Number</h3><ol><li>Update&#160;<code>build.gradle</code>&#160;to increment the 
version number</li><li>Increment the minor version number (inside the 
tapestryVersion method, near the top of the file)</li><li><p>Commit and push 
the changes</p></li></ol><h3 id="ReleaseProcess-4.SendVote">4. Send 
Vote</h3><ol><li><span style="line-height: 1.4285715;">Send vote 
email</span></li><li><span style="line-height: 1.4285715;"><strong>Wait 3 
days</strong><br clear="none"></span></li><li><span style="line-height: 
1.4285715;">The vote is successful if there are at least 
three&#160;<strong>+1</strong>'s and more <strong>+1</strong> than 
<strong>-1</strong></span></li><li><span style="line-height: 1.4285715;">Only 
PMC members may cast binding votes</span></li></ol><h3 
id="ReleaseProcess-5.UpdateJIRAandgeneratereleasenotes"><span>5. Update JIRA 
and generate release notes</span><span style="line-height: 
22.857143px;">&#160;</span></h3><ol><li><span>Use the&#1
 60;</span><a  class="external-link" 
href="https://issues.apache.org/jira/plugins/servlet/project-config/TAP5/versions";>Manage
 Versions page</a><span>&#160;in JIRA to add a new version (this is often not 
necessary as it is often created by someone 
earlier)</span></li><li><strong>Release</strong>&#160;the version, moving 
outstanding issues to the next version</li><li>Generate HTML Release 
Notes<ol><li>Visit the&#160;<a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5#selectedTab=com.atlassian.jira.plugin.system.project:versions-panel&amp;subset=-1";>TAP5
 Versions pages in JIRA</a></li><li>Choose the correct version 
number</li><li>Click "Release Notes" (upper right corner of the 
page)</li><li>Create a new Confluence child page of&#160;<a  
href="release-notes.html">Release Notes</a>&#160;(it may already 
exist)</li><li>Update with text about any unusual aspects of the upgrade 
(especially, non-backwards compatible changes)</li><li>Paste the HTML release 
notes content
  into the new page (you'll have to use the {html} macro)</li><li>Rename the 
"Bug" heading to "Bugs Fixed", "Improvement" to "Improvements Made", "New 
Feature" to "New Features Added"</li><li>Update&#160;<a  
href="release-notes.html">Release Notes</a>&#160;index page to point to the new 
page</li></ol></li></ol><h3 
id="ReleaseProcess-6.ReleasetheMavenArtifacts"><span style="line-height: 
22.857143px;">6. Release the Maven Artifacts</span></h3><ol><li>Login to <a  
class="external-link" 
href="https://repository.apache.org/index.html#stagingRepositories";>Nexus</a> 
and <strong>release</strong> the version's repository<ol><li>Enter "Apache 
Tapestry 5.x" (adjust as necessary) for the message</li><li>The version will 
disappear from the list of repositories after releasing 
it</li></ol></li><li>Releasing will ultimately get the artifacts up to the 
central Maven repository</li></ol><h3 
id="ReleaseProcess-7.ReleasetheArchives">7. Release the 
Archives</h3><ol><li>Copy the release archives files (i
 ncluding checksums and GPG signatures) to the release archives 
workspace</li><li>Change to the release archives workspace</li><li><code>svn 
add</code> and<code>svn commit</code>, as with the dev archives 
workspace</li></ol><h3 id="ReleaseProcess-8.ReleasetheJavadocs">8. Release the 
Javadocs</h3><ol><li>Run the "aggregateJavadoc" gradle task</li><li>Copy the 
resulting files from build/documentation/javadocs/* to a version-numbered 
subdirectory of your site <em>content</em> workspace (see Prerequisites at the 
top of this page)</li><li>svn commit those new javadoc files</li><li>Update the 
"current" symbolic link under the content directory to point to new 
version-numbered directory. For example, if "current" is a symbolic link to 
"5.4" and you want to change it to "5.5", do this:<br clear="none"><ul><li>rm 
current</li><li>ln -s 5.5 current</li><li>svn commit -m "Updated javadocs 
current symbolic link" current</li></ul></li></ol><h3 
id="ReleaseProcess-9.Wait">9. Wait</h3><ul><li>You mus
 t wait at least 24 hours for the archives and artifacts to be distributed to 
the Apache mirrors and to the central Maven repository</li></ul><h3 
id="ReleaseProcess-10.UpdateDocumentation"><span style="line-height: 
1.4285715;">10. Update Documentation</span></h3><ol><li><span 
style="line-height: 1.4285715;">Update the release number listed in the 
following pages in the Confluence wiki:</span><br clear="none"><ol><li><a  
href="download.html">Download</a> page</li><li>(Optional) Tutorial <a  
href="creating-the-skeleton-application.html">Creating The Skeleton 
Application</a> page: Tapestry version number in the 
archetype</li><li>(Optional) <a  href="getting-started.html">Getting 
Started</a> page: Tapestry version number in the 
archetype</li></ol></li><li><span>Change to the site content 
workspace</span></li><li><code>svn update</code>&#160;to get any recent 
changes</li><li><span>Edit&#160;</span><a  class="external-link" 
href="https://svn.apache.org/repos/infra/websites/production/tapes
 
try/content/archetype-catalog.xml"><span>&#160;</span><code>archetype-catalog.xml</code><span>&#160;</span></a><span>to
 add or update a new entry for the release</span></li><li><span 
style="line-height: 1.4285715;">Update the release number and date 
inside&#160;</span><code style="line-height: 1.4285715;">doap.rdf</code><span 
style="line-height: 1.4285715;"> &#160;(this is a </span><a  
class="external-link" href="https://projects.apache.org/doap.html"; 
style="line-height: 1.4285715;">description file</a><span style="line-height: 
1.4285715;"> for the project)</span></li><li><span style="line-height: 
1.4285715;"><code>svn commit</code></span></li></ol><h3 
id="ReleaseProcess-11.Blog&amp;Tweet"><span>11. Blog &amp; 
Tweet</span></h3><ol><li><a  
href="https://cwiki.apache.org/confluence/pages/viewrecentblogposts.action?key=TAPESTRY";><span>Write
 a blog post</span></a><span> in Confluence announcing the 
release.</span></li><li><span>Send an email to the <em>users</em> mailing list 
announcing
  the release.<br clear="none"></span></li><li><span>Send out a tweet (using 
the <a  class="external-link" href="https://twitter.com/apachetapestry"; 
rel="nofollow"><em>ApacheTapestry</em></a> Twitter account) announcing the 
release.<br clear="none"></span></li></ol><h3 
id="ReleaseProcess-Done!"><span>Done!</span></h3><p><span><br 
clear="none"></span></p><hr><h2 
id="ReleaseProcess-Atemplateforthevotee-mail:">A template for the vote 
e-mail:</h2><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+</div></div><p>You can find your keyId using&#160;<code>gpg 
--list-keys</code>.</p><p>&#160;The apacheArchivesFolder should be the full 
path to your dev archives workspace.&#160;The build will copy files to this 
folder; see further notes below.</p><h2 
id="ReleaseProcess-ReleaseSteps">Release Steps</h2><h3 
id="ReleaseProcess-1.GeneratetheRelease">1.&#160;Generate the 
Release</h3><ol><li>Update your workspace to the release branch<ol><li>For 
current work, the release branch is&#160;<em>master</em></li><li>When creating 
bug fix releases for older releases, the branch will match the release, 
e.g.,&#160;<em>5.3</em></li></ol></li><li><span>Run the build using 
</span><code>gradle generateRelease</code><br clear="none"><ol><li>This will 
create, sign, and upload JAR files and other artifacts to the Nexus 
repository</li><li>It will also create, sign, and copy the source, binary, and 
documentation archives to your dev archives workspace</li></ol></li><li>Tag the 
release in Git, then push the 
 changes up to the Apache repository:<ol><li><code>git tag 
5.x</code></li><li><code>git push --tags</code></li></ol></li><li>Login 
to&#160;<a  class="external-link" 
href="https://repository.apache.org/index.html#stagingRepositories";>Nexus</a>&#160;and&#160;<strong>close</strong>&#160;the
 automatically created staging repository</li></ol><h3 
id="ReleaseProcess-2.CommittheArchives">2. Commit the Archives</h3><ol><li>The 
build will have copied archive files to your dist workspace</li><li><code>svn 
add</code> the new files</li><li><code>svn commit</code> to copy the files up 
to Apache (this is&#160;<em>slow</em>)<ol><li>Use the full version number as 
the commit message, e.g.,&#160;<em>5.4-beta-26</em></li></ol></li><li>You can 
verify the files via the web:&#160;<a  class="external-link" 
href="https://dist.apache.org/repos/dist/dev/tapestry";>https://dist.apache.org/repos/dist/dev/tapestry</a></li></ol><h3
 id="ReleaseProcess-3.BumptheVersionNumber">3. Bump the Version 
Number</h3><ol><li>Up
 date&#160;<code>build.gradle</code>&#160;to increment the version 
number</li><li>Increment the minor version number (inside the tapestryVersion 
method, near the top of the file)</li><li><p>Commit and push the 
changes</p></li></ol><h3 id="ReleaseProcess-4.SendVote">4. Send 
Vote</h3><ol><li><span>Send vote email</span></li><li><span><strong>Wait 3 
days</strong><br clear="none"></span></li><li><span>The vote is successful if 
there are at least three&#160;<strong>+1</strong>'s and more 
<strong>+1</strong> than <strong>-1</strong></span></li><li><span>Only PMC 
members may cast binding votes</span></li></ol><h3 
id="ReleaseProcess-5.UpdateJIRAandgeneratereleasenotes"><span>5. Update JIRA 
and generate release notes</span><span>&#160;</span></h3><ol><li><span>Use 
the&#160;</span><a  class="external-link" 
href="https://issues.apache.org/jira/plugins/servlet/project-config/TAP5/versions";>Manage
 Versions page</a><span>&#160;in JIRA to add a new version (this is often not 
necessary as it is ofte
 n created by someone earlier)</span></li><li><strong>Release</strong>&#160;the 
version, moving outstanding issues to the next version</li><li>Generate HTML 
Release Notes<ol><li>Visit the&#160;<a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5#selectedTab=com.atlassian.jira.plugin.system.project:versions-panel&amp;subset=-1";>TAP5
 Versions pages in JIRA</a></li><li>Choose the correct version 
number</li><li>Click "Release Notes" (upper right corner of the 
page)</li><li>Create a new Confluence child page of&#160;<a  
href="release-process.html">Release Process</a>&#160;(it may already 
exist)</li><li>Update with text about any unusual aspects of the upgrade 
(especially, non-backwards compatible changes)</li><li>Paste the HTML release 
notes content into the new page (you'll have to use the {html} 
macro)</li><li>Rename the "Bug" heading to "Bugs Fixed", "Improvement" to 
"Improvements Made", "New Feature" to "New Features 
Added"</li><li>Update&#160;<a  href="release-p
 rocess.html">Release Process</a>&#160;index page to point to the new 
page</li></ol></li></ol><h3 
id="ReleaseProcess-6.ReleasetheMavenArtifacts"><span>6. Release the Maven 
Artifacts</span></h3><ol><li>Login to <a  class="external-link" 
href="https://repository.apache.org/index.html#stagingRepositories";>Nexus</a> 
and <strong>release</strong> the version's repository<ol><li>Enter "Apache 
Tapestry 5.x" (adjust as necessary) for the message</li><li>The version will 
disappear from the list of repositories after releasing 
it</li></ol></li><li>Releasing will ultimately get the artifacts up to the 
central Maven repository</li></ol><h3 
id="ReleaseProcess-7.ReleasetheArchives">7. Release the 
Archives</h3><ol><li>Copy the release archives files (including checksums and 
GPG signatures) to the release archives workspace</li><li>Change to the release 
archives workspace</li><li><code>svn add</code> and<code>svn commit</code>, as 
with the dev archives workspace</li></ol><h3 id="ReleaseProcess-8.Rele
 asetheJavadocs">8. Release the Javadocs</h3><ol><li>Run the "aggregateJavadoc" 
gradle task</li><li>Copy the resulting files from 
build/documentation/javadocs/* to a version-numbered subdirectory of your site 
<em>content</em> workspace (see Prerequisites at the top of this 
page)</li><li>svn commit those new javadoc files</li><li>Update the "current" 
symbolic link under the content directory to point to new version-numbered 
directory. For example, if "current" is a symbolic link to "5.4" and you want 
to change it to "5.5", do this:<br clear="none"><ul><li>rm current</li><li>ln 
-s 5.5 current</li><li>svn commit -m "Updated javadocs current symbolic link" 
current</li></ul></li></ol><h3 id="ReleaseProcess-9.Wait">9. 
Wait</h3><ul><li>You must wait at least 24 hours for the archives and artifacts 
to be distributed to the Apache mirrors and to the central Maven 
repository</li></ul><h3 id="ReleaseProcess-10.UpdateDocumentation"><span>10. 
Update Documentation</span></h3><ol><li><span>Update t
 he release number listed in the following pages in the Confluence 
wiki:</span><br clear="none"><ol><li><a  href="release-process.html">Release 
Process</a> page</li><li>(Optional) Tutorial <a  
href="release-process.html">Release Process</a> page: Tapestry version number 
in the archetype</li><li>(Optional) <a  href="release-process.html">Release 
Process</a> page: Tapestry version number in the 
archetype</li></ol></li><li><span>Change to the site content 
workspace</span></li><li><code>svn update</code>&#160;to get any recent 
changes</li><li><span>Edit&#160;</span><a  class="external-link" 
href="https://svn.apache.org/repos/infra/websites/production/tapestry/content/archetype-catalog.xml";><span>&#160;</span><code>archetype-catalog.xml</code><span>&#160;</span></a><span>to
 add or update a new entry for the release</span></li><li><span>Update the 
release number and date inside&#160;</span><code>doap.rdf</code><span> 
&#160;(this is a </span><a  class="external-link" href="https://projects.
 apache.org/doap.html">description file</a><span> for the 
project)</span></li><li><span><code>svn commit</code></span></li></ol><h3 
id="ReleaseProcess-11.Blog&amp;Tweet"><span>11. Blog &amp; 
Tweet</span></h3><ol><li><a  
href="https://cwiki.apache.org/confluence/pages/viewrecentblogposts.action?key=TAPESTRY";><span>Write
 a blog post</span></a><span> in Confluence announcing the 
release.</span></li><li><span>Send an email to the <em>users</em> mailing list 
announcing the release.<br clear="none"></span></li><li><span>Send out a tweet 
(using the <a  class="external-link" href="https://twitter.com/apachetapestry"; 
rel="nofollow"><em>ApacheTapestry</em></a> Twitter account) announcing the 
release.<br clear="none"></span></li></ol><h3 
id="ReleaseProcess-Done!"><span>Done!</span></h3><p><span><br 
clear="none"></span></p><hr><h2 
id="ReleaseProcess-Atemplateforthevotee-mail:">A template for the vote 
e-mail:</h2><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panel
 Content pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">I've created and uploaded a release of Tapestry 5.x, 
ready to be voted upon.
 
 The source, binary, and documentation archives have been uploaded to:

Modified: websites/production/tapestry/content/release-upgrade-faq.html
==============================================================================
--- websites/production/tapestry/content/release-upgrade-faq.html (original)
+++ websites/production/tapestry/content/release-upgrade-faq.html Sat Feb  3 
18:21:36 2018
@@ -77,16 +77,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"> 
-
-<h2 id="ReleaseUpgradeFAQ-ReleaseUpgradeFAQ">Release Upgrade FAQ </h2>
-
-<p>Main Article: <a  href="release-notes.html">Release Notes</a> </p>
-
-<h3 
id="ReleaseUpgradeFAQ-WhydoIgetanexceptionaboutorg.apache.tapestry5.internal.services.RequestPathOptimizerafterupgradingto5.2?">Why
 do I get an exception about 
org.apache.tapestry5.internal.services.RequestPathOptimizer after upgrading to 
5.2?</h3>
-
-<p>Although Tapestry works very hard to keep backwards compatibility between 
releases for <em>public</em> APIs, all <em>internal</em> APIs are subject to 
change. This error is commonly due to the use of the ChenilleKit library, which 
makes use of some internal APIs. You must also upgrade your ChenilleKit 
dependency when moving from Tapestry 5.1 to 5.2 or later. See the <a  
class="external-link" 
href="http://tapestry.markmail.org/thread/3cj2wuvl4idnpmjr"; 
rel="nofollow">complete discussion of this from the Tapestry user mailing 
list</a>. </p>
-</div>
+                <div id="ConfluenceContent"><h2 
id="ReleaseUpgradeFAQ-ReleaseUpgradeFAQ">Release Upgrade FAQ</h2><p>Main 
Article: <a  href="release-upgrade-faq.html">Release Upgrade FAQ</a></p><h3 
id="ReleaseUpgradeFAQ-WhydoIgetanexceptionaboutorg.apache.tapestry5.internal.services.RequestPathOptimizerafterupgradingto5.2?">Why
 do I get an exception about 
org.apache.tapestry5.internal.services.RequestPathOptimizer after upgrading to 
5.2?</h3><p>Although Tapestry works very hard to keep backwards compatibility 
between releases for <em>public</em> APIs, all <em>internal</em> APIs are 
subject to change. This error is commonly due to the use of the ChenilleKit 
library, which makes use of some internal APIs. You must also upgrade your 
ChenilleKit dependency when moving from Tapestry 5.1 to 5.2 or later. See the 
<a  class="external-link" 
href="http://tapestry.markmail.org/thread/3cj2wuvl4idnpmjr"; 
rel="nofollow">complete discussion of this from the Tapestry user mailing 
list</a>.</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/request-processing-faq.html
==============================================================================
--- websites/production/tapestry/content/request-processing-faq.html (original)
+++ websites/production/tapestry/content/request-processing-faq.html Sat Feb  3 
18:21:36 2018
@@ -77,30 +77,13 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"> 
-
-<h2 id="RequestProcessingFAQ-RequestProcessing">Request Processing</h2>
-
-<h3 id="RequestProcessingFAQ-HowdoIgetTapestrytonothandlearequest?">How do I 
get Tapestry to <strong>not</strong> handle a request?</h3>
-
-<p>Often, when <a  
href="integration-with-existing-applications.html">integrating with outside 
libraries, or working with legacy code</a>, you will want Tapestry to ignore a 
request and let the normal servlet or other processing handle the request.</p>
-
-<p>The easy way to do this is to contribute a regular expression to the <a  
href="configuration.html">IgnoredPathsFilter service</a>, whose job is to 
exclude some requests.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">
-public static void contributeIgnoredPathsFilter(Configuration&lt;String&gt; 
configuration)
+                <div id="ConfluenceContent"><h2 
id="RequestProcessingFAQ-RequestProcessing">Request Processing</h2><h3 
id="RequestProcessingFAQ-HowdoIgetTapestrytonothandlearequest?">How do I get 
Tapestry to <strong>not</strong> handle a request?</h3><p>Often, when <a  
href="request-processing-faq.html">integrating with outside libraries, or 
working with legacy code</a>, you will want Tapestry to ignore a request and 
let the normal servlet or other processing handle the request.</p><p>The easy 
way to do this is to contribute a regular expression to the <a  
href="request-processing-faq.html">IgnoredPathsFilter service</a>, whose job is 
to exclude some requests.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">public static void 
contributeIgnoredPathsFilter(Configuration&lt;String&gt; configuration)
   {
     configuration.add("/dwr/.*");
   }
 </pre>
-</div></div>
-
-<p>Alternately, you may contribute a <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/HttpServletRequestFilter.html";>HttpServletRequestFilter</a>
 to the <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/HttpServletRequestHandler.html";>HttpServletRequestHandler</a>
 pipeline. A filter that simply returns false from its <code>service()</code> 
method will cause Tapestry to hand off the request to the servlet container for 
normal handling.  You would use this approach when a simple regular expression 
is not sufficient to identify which requests should be ignored.</p>
-
-<p>Alternately, you can configure the Tapestry application to execute inside a 
folder to avoid conflicts. See the notes on the <a  
href="configuration.html">configuration page</a>.</p>
-
- </div>
+</div></div><p>Alternately, you may contribute a <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/HttpServletRequestFilter.html";>HttpServletRequestFilter</a>
 to the <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/HttpServletRequestHandler.html";>HttpServletRequestHandler</a>
 pipeline. A filter that simply returns false from its <code>service()</code> 
method will cause Tapestry to hand off the request to the servlet container for 
normal handling. You would use this approach when a simple regular expression 
is not sufficient to identify which requests should be 
ignored.</p><p>Alternately, you can configure the Tapestry application to 
execute inside a folder to avoid conflicts. See the notes on the <a  
href="request-processing-faq.html">configuration page</a>.</p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/security-faq.html
==============================================================================
--- websites/production/tapestry/content/security-faq.html (original)
+++ websites/production/tapestry/content/security-faq.html Sat Feb  3 18:21:36 
2018
@@ -27,6 +27,16 @@
       </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css" />
 
+          <link href='/resources/highlighter/styles/shCoreCXF.css' 
rel='stylesheet' type='text/css' />
+    <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
+    <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
+          <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
+          <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
+          <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
+        <script>
+      SyntaxHighlighter.defaults['toolbar'] = false;
+      SyntaxHighlighter.all();
+    </script>
   
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
 
@@ -67,12 +77,56 @@
       </div>
 
       <div id="content">
-                <div 
id="ConfluenceContent"><p><plain-text-body>{scrollbar}</plain-text-body></p><h2 
id="SecurityFAQ-SecurityFAQ">Security FAQ</h2><p>&#160;</p><parameter 
ac:name="style">float:right</parameter><parameter ac:name="title">Related 
Articles</parameter><parameter 
ac:name="class">aui-label</parameter><rich-text-body><parameter 
ac:name="showLabels">false</parameter><parameter 
ac:name="showSpace">false</parameter><parameter ac:name="title">Related 
Articles</parameter><parameter ac:name="cql">label = "security" and space = 
currentSpace()</parameter></rich-text-body><h3 
id="SecurityFAQ-Thebuilt-inDashboardpagearevisibleinmyproductionapplicationandIdon'twantthemtobe,whatcanIdo?">The
 built-in Dashboard page are visible in my production application and I don't 
want them to be, what can I do?</h3><p>First off all, don't panic: the <a  
href="development-dashboard.html">Developer Dashboard</a> page is marked with 
the @<a  class="external-link" href="http://tapestry.apache.org/curre
 
nt/apidocs/org/apache/tapestry5/annotations/WhitelistAccessOnly.html">WhitelistAccessOnly</a>
 annotation, which makes it invisible to clients that are not on the whitelist. 
Try accessing the page from a different workstation and you may find that the 
pages are not visible after all.</p><p>Sometimes, in production, a firewall or 
proxy may make it look like the client web browser originates from localhost; 
in that situation, you may want to disable the logic that puts localhost onto 
the whitelist. This determination is made by the contributions to the <a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/security/ClientWhitelist.html";>ClientWhitelist</a>
 service. Tapestry makes a contribution with id "LocalhostOnly", which one of 
your modules can override:</p><plain-text-body>  
@Contribute(ClientWhitelist.class)
+                <div id="ConfluenceContent"><h2 
id="SecurityFAQ-SecurityFAQ">Security FAQ</h2><p>&#160;</p><div 
class="aui-label" style="float:right" title="Related Articles">
+
+
+
+
+
+
+
+
+<h3>Related Articles</h3>
+
+<ul class="content-by-label"><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="security-faq.html">Security FAQ</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="https.html">HTTPS</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="security.html">Security</a>
+                
+                        
+                    </div>
+    </li></ul>
+</div>
+
+
+<h3 
id="SecurityFAQ-Thebuilt-inDashboardpagearevisibleinmyproductionapplicationandIdon'twantthemtobe,whatcanIdo?">The
 built-in Dashboard page are visible in my production application and I don't 
want them to be, what can I do?</h3><p>First off all, don't panic: the <a  
href="security-faq.html">Developer Dashboard</a> page is marked with the @<a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/WhitelistAccessOnly.html";>WhitelistAccessOnly</a>
 annotation, which makes it invisible to clients that are not on the whitelist. 
Try accessing the page from a different workstation and you may find that the 
pages are not visible after all.</p><p>Sometimes, in production, a firewall or 
proxy may make it look like the client web browser originates from localhost; 
in that situation, you may want to disable the logic that puts localhost onto 
the whitelist. This determination is made by the contributions to the <a  
class="external-link" href="h
 
ttp://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/security/ClientWhitelist.html">ClientWhitelist</a>
 service. Tapestry makes a contribution with id "LocalhostOnly", which one of 
your modules can override:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">  @Contribute(ClientWhitelist.class)
   public static void 
turnOffLocalhostInProduction(OrderedConfiguration&lt;WhitelistAnalyzer&gt; 
configuration, 
                                                  
@Symbol(SymbolConstants.PRODUCTION_MODE) boolean productionMode) {
     if (productionMode) { configuration.override("LocalhostOnly", null); }
   } 
-</plain-text-body><p><plain-text-body>{scrollbar}</plain-text-body></p></div>
+</pre>
+</div></div><p></p></div>
       </div>
 
       <div class="clearer"></div>

Modified: 
websites/production/tapestry/content/since-and-deprecated-user-macros.html
==============================================================================
--- websites/production/tapestry/content/since-and-deprecated-user-macros.html 
(original)
+++ websites/production/tapestry/content/since-and-deprecated-user-macros.html 
Sat Feb  3 18:21:36 2018
@@ -67,17 +67,11 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>We have two Confluence user 
macros to mark deprecated or newly added features in the documentation wiki: 
{<code>since</code>} and {<code>deprecated</code>}. Both aren't optimal (we can 
still style them if we see the need) and don't work within tables or similar 
structures (or maybe the versions without any parameters do, we haven't 
tried).</p>
-
-<h2 id="SinceandDeprecatedUserMacros-Thesincemacro">The since macro</h2>
-
-<p>Examples:</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><div class="preformatted panel" 
style="border-width: 1px;"><div class="preformattedContent panelContent">
+                <div id="ConfluenceContent"><p>We have two Confluence user 
macros to mark deprecated or newly added features in the documentation wiki: 
{<code>since</code>} and {<code>deprecated</code>}. Both aren't optimal (we can 
still style them if we see the need) and don't work within tables or similar 
structures (or maybe the versions without any parameters do, we haven't 
tried).</p><h2 id="SinceandDeprecatedUserMacros-Thesincemacro">The since 
macro</h2><p>Examples:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><div class="preformatted panel" style="border-width: 
1px;"><div class="preformattedContent panelContent">
 <pre>{since}This got added in 5.2{since}</pre>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>
 
-<div class="error"><span class="error">Unknown macro: {div}</span> 
+</p><div class="error"><span class="error">Unknown macro: {div}</span> 
 <p>This got added in 5.2</p></div></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><div class="preformatted panel" style="border-width: 
1px;"><div class="preformattedContent panelContent">
 <pre>{since:since=5.2}This got added in 5.2{since} And this was always 
there.</pre>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>
@@ -85,25 +79,18 @@
 </p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
 </div></div>
 <div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>This got added in 5.2</p></div> And this was always there.</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><div class="preformatted panel" 
style="border-width: 1px;"><div class="preformattedContent panelContent">
+<p>This got added in 5.2</p></div>And this was always there.</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><div class="preformatted panel" 
style="border-width: 1px;"><div class="preformattedContent panelContent">
 <pre>{since:since=5.2}{since}</pre>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>
 
-<div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
+</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
 </div></div>
 <div class="error"><span class="error">Unknown macro: {div}</span> 
-</div></td></tr></tbody></table></div>
-
-
-<h2 id="SinceandDeprecatedUserMacros-Thedeprecatedmacro">The deprecated 
macro</h2>
-
-<p>Examples:</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><div class="preformatted panel" 
style="border-width: 1px;"><div class="preformattedContent panelContent">
+<p>&#160;</p></div></td></tr></tbody></table></div><h2 
id="SinceandDeprecatedUserMacros-Thedeprecatedmacro">The deprecated 
macro</h2><p>Examples:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><div class="preformatted panel" style="border-width: 
1px;"><div class="preformattedContent panelContent">
 <pre>{deprecated}This was removed in 5.2{deprecated}</pre>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>
 
-<div class="error"><span class="error">Unknown macro: {div}</span> 
+</p><div class="error"><span class="error">Unknown macro: {div}</span> 
 <p>This was removed in 5.2</p></div></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><div class="preformatted panel" style="border-width: 
1px;"><div class="preformattedContent panelContent">
 <pre>{deprecated:since=5.2}This was removed in 5.2{deprecated} And this is 
still there.</pre>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>
@@ -111,14 +98,14 @@
 </p><div class="confluence-information-macro 
confluence-information-macro-warning"><p class="title">Deprecated since 
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-error 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
 </div></div>
 <div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>This was removed in 5.2</p></div> And this is still there.</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><div class="preformatted panel" 
style="border-width: 1px;"><div class="preformattedContent panelContent">
+<p>This was removed in 5.2</p></div>And this is still there.</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><div class="preformatted panel" 
style="border-width: 1px;"><div class="preformattedContent panelContent">
 <pre>{deprecated:since=5.2}{deprecated}</pre>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>
 
-<div class="confluence-information-macro 
confluence-information-macro-warning"><p class="title">Deprecated since 
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-error 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
+</p><div class="confluence-information-macro 
confluence-information-macro-warning"><p class="title">Deprecated since 
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-error 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
 </div></div>
 <div class="error"><span class="error">Unknown macro: {div}</span> 
-</div></td></tr></tbody></table></div></div>
+<p>&#160;</p></div></td></tr></tbody></table></div></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/specific-errors-faq.html
==============================================================================
--- websites/production/tapestry/content/specific-errors-faq.html (original)
+++ websites/production/tapestry/content/specific-errors-faq.html Sat Feb  3 
18:21:36 2018
@@ -27,6 +27,16 @@
       </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css" />
 
+          <link href='/resources/highlighter/styles/shCoreCXF.css' 
rel='stylesheet' type='text/css' />
+    <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
+    <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
+          <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
+          <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
+          <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
+        <script>
+      SyntaxHighlighter.defaults['toolbar'] = false;
+      SyntaxHighlighter.all();
+    </script>
   
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
 
@@ -67,7 +77,50 @@
       </div>
 
       <div id="content">
-                <div 
id="ConfluenceContent"><p><plain-text-body>{scrollbar}</plain-text-body></p><parameter
 ac:name="style">float:right</parameter><parameter ac:name="title">Related 
Articles</parameter><parameter 
ac:name="class">aui-label</parameter><rich-text-body><parameter 
ac:name="showLabels">false</parameter><parameter 
ac:name="showSpace">false</parameter><parameter ac:name="title">Related 
Articles</parameter><parameter ac:name="cql">label = "errors" and space = 
currentSpace()</parameter></rich-text-body><h3 
id="SpecificErrorsFAQ-WhydoIgettheexception&quot;Noserviceimplementstheinterfaceorg.apache.tapestry5.internal.InternalComponentResources&quot;whentryingtousetheBeanEditFormcomponent?">Why
 do I get the exception "No service implements the interface 
org.apache.tapestry5.internal.InternalComponentResources" when trying to use 
the BeanEditForm component?</h3><p>This can occur when you choose the wrong 
package for your data object, the object edited by the BeanEditForm component
 . If you place it in the same package as your pages, Tapestry will treat it 
like a page, and perform a number of transformation on it, including adding a 
new constructor.</p><p>Only component classes should go in the 
Tapestry-controlled packages (<code>pages</code>, <code>components</code>, 
<code>mixins</code> and <code>base</code> under your application's root 
package). By convention, simple data objects should go in a <code>data</code> 
package, and Hibernate entities should go in an <code>entities</code> 
package.</p><rich-text-body><p>This is likely a bit different in 5.3 than in 
5.2 (because 5.3 builds a very different constructor into the component) and 
needs to be tested in 5.3 to see what exact exception will 
occur.</p></rich-text-body><h3 
id="SpecificErrorsFAQ-Igetanerrorabout&quot;Pagedidnotgenerateanymarkupwhenrendered.&quot;butIhaveatemplate,whathappened?">I
 get an error about "Page did not generate any markup when rendered." but I 
have a template, what happened?</h3><p>Th
 e most common error here is that the case of the page class did not match the 
case of the template. For example, you might name your class ViewOrders, but 
name the template vieworders.tml. The correct name for the template is 
ViewOrders.tml, matching the case of the Java class name.</p><p>Worse, you may 
find that your application works during development (under Windows, which is 
case insensitive) but does not work when deployed on a Linux or Unix server, 
which may be case sensitive.</p><p>The other cause of this may be that your 
template files simply are not being packaged up correctly with the rest of your 
application. When in doubt, use the Java <code>jar</code> command to see 
exactly whats inside your WAR file. Your page templates should either be in the 
root folder of the WAR, or package with the corresponding .class file.</p><h3 
id="SpecificErrorsFAQ-MyapplicationfailswiththeerrorPermGen,howdoIfixthis?">My 
application fails with the error <strong>PermGen</strong>, how do I fix 
 this?</h3><p>PermGen refers to the part of the Java memory space devoted to 
permanent objects, which are mostly loaded classes. When developing under 
Tapestry, many more classes and class loaders are created than normal; this is 
part of live class reloading. Because of this, you will want to increase the 
amount of memory Java devotes to this.</p><p>The solution is to add 
<code>-XX:MaxPermSize=512m</code> to your command line. You may also want to 
increase the regular amount of heap space with <code>-Xmx600M</code>. Of 
course, you may need to adjust the amount of memory in each category to match 
your actual application, but these are good starting values.</p><p>Java Virtual 
Machine arguments can be specified inside an Eclipse launch 
configuration:</p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-thumbnail" 
src="specific-errors-faq.data/eclipse-permgen.png"></span></p><h3 
id="SpecificErrorsFAQ-WhydoIsometimesgetajava.lang.NoSuchMeth
 odErrorexceptionafterreloadingmypage?">Why do I sometimes get a 
<code>java.lang.NoSuchMethodError</code> exception after reloading my 
page?</h3><p>Tapestry's live class reloading is not perfect.&#160;<span 
style="line-height: 1.4285715;">It tends to use a lot of Java ClassLoaders on 
top of the normal ClassLoaders used by the Java Virtual Machine and the servlet 
container. When you change non-component classes and interfaces that are 
referenced by components and pages, such as to add or change a method, only the 
component classes are reloaded. The non-component classes are frozen as they 
were when they were </span><em style="line-height: 1.4285715;">first</em><span 
style="line-height: 1.4285715;"> loaded.</span></p><p>Unfortunately, this is 
one of the areas where you must restart your application entirely in order to 
force the new versions of the non-component classes to be loaded into 
memory.</p><h3 
id="SpecificErrorsFAQ-Whydomylogscontain&quot;java.lang.RuntimeException:Formsrequir
 
ethattherequestmethodbePOSTandthatthet:formdataqueryparameterhavevalues&quot;?">Why
 do my logs contain "java.lang.RuntimeException: Forms require that the request 
method be POST and that the t:formdata query parameter have 
values"?</h3><p>This is caused by someone (or something) submitting the URL of 
your form using an HTTP GET instead of POST. Tapestry forms must always use 
POST actions.</p><p>Some known scenarios that cause this error:</p><ul><li>Bots 
crawling your site</li><li>Web browser auto-complete functions trying to be 
helpful</li><li>Users with browser developer tools manually modifying the form 
from a POST to a GET to see what will happen.</li><li>Users getting a 
validation error on a form, then re-submitting the form by clicking in the URL 
address field and hitting Enter.</li><li>In Tapestry versions before 5.4, 
(rarely) the use of property names for form fields where the property name 
matches a JavaScript property (see <a  class="external-link" 
href="https://issues.apac
 he.org/jira/browse/TAP5-2066">TAP5-2066</a>).</li></ul><p>In every known 
scenario except the last, these errors are harmless and you probably want to 
redirect the user to the page the form is on &#8211; and avoid logging an 
error. That's not too hard to do. Just add code like the following to your 
module class (usually AppModule.java):</p><parameter 
ac:name="language">java</parameter><parameter ac:name="title">AppModule.java 
(partial)</parameter><plain-text-body>    /**
+                <div id="ConfluenceContent"><div class="aui-label" 
style="float:right" title="Related Articles">
+
+
+
+
+
+
+
+
+<h3>Related Articles</h3>
+
+<ul class="content-by-label"><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="error-page-recipe.html">Error Page Recipe</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="specific-errors-faq.html">Specific Errors 
FAQ</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  
href="overriding-exception-reporting.html">Overriding Exception Reporting</a>
+                
+                        
+                    </div>
+    </li></ul>
+</div>
+
+
+<h3 
id="SpecificErrorsFAQ-WhydoIgettheexception&quot;Noserviceimplementstheinterfaceorg.apache.tapestry5.internal.InternalComponentResources&quot;whentryingtousetheBeanEditFormcomponent?">Why
 do I get the exception "No service implements the interface 
org.apache.tapestry5.internal.InternalComponentResources" when trying to use 
the BeanEditForm component?</h3><p>This can occur when you choose the wrong 
package for your data object, the object edited by the BeanEditForm component. 
If you place it in the same package as your pages, Tapestry will treat it like 
a page, and perform a number of transformation on it, including adding a new 
constructor.</p><p>Only component classes should go in the Tapestry-controlled 
packages (<code>pages</code>, <code>components</code>, <code>mixins</code> and 
<code>base</code> under your application's root package). By convention, simple 
data objects should go in a <code>data</code> package, and Hibernate entities 
should go in an <code>entities</code> pac
 kage.</p><div class="confluence-information-macro 
confluence-information-macro-note"><span class="aui-icon aui-icon-small 
aui-iconfont-warning confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This is likely a bit different in 
5.3 than in 5.2 (because 5.3 builds a very different constructor into the 
component) and needs to be tested in 5.3 to see what exact exception will 
occur.</p></div></div><h3 
id="SpecificErrorsFAQ-Igetanerrorabout&quot;Pagedidnotgenerateanymarkupwhenrendered.&quot;butIhaveatemplate,whathappened?">I
 get an error about "Page did not generate any markup when rendered." but I 
have a template, what happened?</h3><p>The most common error here is that the 
case of the page class did not match the case of the template. For example, you 
might name your class ViewOrders, but name the template vieworders.tml. The 
correct name for the template is ViewOrders.tml, matching the case of the Java 
class name.</p><p>Worse, you may find tha
 t your application works during development (under Windows, which is case 
insensitive) but does not work when deployed on a Linux or Unix server, which 
may be case sensitive.</p><p>The other cause of this may be that your template 
files simply are not being packaged up correctly with the rest of your 
application. When in doubt, use the Java <code>jar</code> command to see 
exactly whats inside your WAR file. Your page templates should either be in the 
root folder of the WAR, or package with the corresponding .class file.</p><h3 
id="SpecificErrorsFAQ-MyapplicationfailswiththeerrorPermGen,howdoIfixthis?">My 
application fails with the error <strong>PermGen</strong>, how do I fix 
this?</h3><p>In Java versions <em>prior to</em> JDK 1.8, PermGen refers to the 
part of the Java memory space devoted to permanent objects, which are mostly 
loaded classes. When developing under Tapestry, many more classes and class 
loaders are created than normal; this is part of live class reloading. Because 
of
  this, you will want to increase the amount of memory Java devotes to 
this.</p><p>In JDK 1.7 and earlier, the solution is to add 
<code>-XX:MaxPermSize=512m</code> to your command line. You may also want to 
increase the regular amount of heap space with <code>-Xmx600M</code>. Of 
course, you may need to adjust the amount of memory in each category to match 
your actual application, but these are good starting values.</p><p>Java Virtual 
Machine arguments can be specified inside an Eclipse launch 
configuration:</p><p>&#160;</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-thumbnail" 
src="specific-errors-faq.data/eclipse-permgen.png"></span></p><h3 
id="SpecificErrorsFAQ-WhydoIsometimesgetajava.lang.NoSuchMethodErrorexceptionafterreloadingmypage?">Why
 do I sometimes get a <code>java.lang.NoSuchMethodError</code> exception after 
reloading my page?</h3><p>Tapestry's live class reloading is not 
perfect.&#160;<span>It tends to use a lot of J
 ava ClassLoaders on top of the normal ClassLoaders used by the Java Virtual 
Machine and the servlet container. When you change non-component classes and 
interfaces that are referenced by components and pages, such as to add or 
change a method, only the component classes are reloaded. The non-component 
classes are frozen as they were when they were </span><em>first</em><span> 
loaded.</span></p><p>Unfortunately, this is one of the areas where you must 
restart your application entirely in order to force the new versions of the 
non-component classes to be loaded into memory.</p><h3 
id="SpecificErrorsFAQ-Whydomylogscontain&quot;java.lang.RuntimeException:FormsrequirethattherequestmethodbePOSTandthatthet:formdataqueryparameterhavevalues&quot;?">Why
 do my logs contain "java.lang.RuntimeException: Forms require that the request 
method be POST and that the t:formdata query parameter have 
values"?</h3><p>This is caused by someone (or something) submitting the URL of 
your form using an HTTP GE
 T instead of POST. Tapestry forms must always use POST actions.</p><p>Some 
known scenarios that cause this error:</p><ul><li>Bots crawling your 
site</li><li>Web browser auto-complete functions trying to be 
helpful</li><li>Users with browser developer tools manually modifying the form 
from a POST to a GET to see what will happen.</li><li>Users getting a 
validation error on a form, then re-submitting the form by clicking in the URL 
address field and hitting Enter.</li><li>In Tapestry versions before 5.4, 
(rarely) the use of property names for form fields where the property name 
matches a JavaScript property (see <a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-2066";>TAP5-2066</a>).</li></ul><p>In
 every known scenario except the last, these errors are harmless and you 
probably want to redirect the user to the page the form is on &#8211; and avoid 
logging an error. That's not too hard to do. Just add code like the following 
to your module class (usually AppModu
 le.java):</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>AppModule.java (partial)</b></div><div class="codeContent panelContent 
pdl">
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">    /**
      * Redirect the user to the intended page when browsing through
      * tapestry forms through browser history or over-eager autocomplete
      */
@@ -92,7 +145,8 @@
                 response.sendRedirect(uri);
             }
         };
-    }</plain-text-body><p><em>Thanks to <a  class="external-link" 
href="http://mail-archives.apache.org/mod_mbox/tapestry-users/201110.mbox/%[email protected]%3E";>Lenny
 Primak</a> for the above code. A slightly less fragile approach is <a  
class="external-link" 
href="https://mail-archives.apache.org/mod_mbox/tapestry-users/201509.mbox/%3ccae26fnjevncyv52kms-kpsewwnaln9pg6lg60xzkxuhs0ut...@mail.gmail.com%3E";>described
 here</a>. When <a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1733";>TAP5-1733</a> is fixed a 
much less fragile solution may be 
possible.</em></p><p>&#160;<plain-text-body>{scrollbar}</plain-text-body></p></div>
+    }</pre>
+</div></div><p><em>Thanks to <a  class="external-link" 
href="http://mail-archives.apache.org/mod_mbox/tapestry-users/201110.mbox/%[email protected]%3E";>Lenny
 Primak</a> for the above code. A slightly less fragile approach is <a  
class="external-link" 
href="https://mail-archives.apache.org/mod_mbox/tapestry-users/201509.mbox/%3ccae26fnjevncyv52kms-kpsewwnaln9pg6lg60xzkxuhs0ut...@mail.gmail.com%3E";>described
 here</a>. When <a  class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-1733";>TAP5-1733</a> is fixed a 
much less fragile solution may be 
possible.</em></p><p>&#160;&#160;</p><p>&#160;</p></div>
       </div>
 
       <div class="clearer"></div>


Reply via email to