You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by bu...@apache.org on 2016/11/08 12:22:29 UTC

svn commit: r1000746 [3/20] - in /websites/production/tapestry/content: ./ cache/

Modified: websites/production/tapestry/content/client-side-javascript.html
==============================================================================
--- websites/production/tapestry/content/client-side-javascript.html (original)
+++ websites/production/tapestry/content/client-side-javascript.html Tue Nov  8 12:22:26 2016
@@ -44,18 +44,13 @@
 
   <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  href="community.html">Community</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">Client-Side JavaScript</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">Client-Side JavaScript</h1></div></div>
       <div class="clearer"></div>
       </div>
 
@@ -67,100 +62,61 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>Perhaps nothing in Tapestry has changed over the years so much as the way client-side JavaScript is supported. From the get go, the goal was to make JavaScript a first-class citizen in the Tapestry world, and make it easy to encapsulate JavaScript within components.</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="ajax-and-zones.html">Ajax and Zones</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="legacy-javascript.html">Legacy JavaScript</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="coffeescript.html">CoffeeScript</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="client-side-javascript.html">Client-Side JavaScript</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="javascript-modules.html">JavaScript Modules</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="javascript-faq.html">JavaScript 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="ajax-components-faq.html">Ajax Components 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="component-cheat-sheet.html">Component Cheat Sheet</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="assets.html">Assets</a>
-                
-                        
-                    </div>
-    </li></ul>
-</div><p>The <a  href="legacy-javascript.html">legacy JavaScript</a> page discusses the earlier approaches; the main feature of Tapestry 5.4 is a total rewrite of all things client-side, with the following goals:</p><ul><li>Break the hard linkage of Tapestry to <a  class="external-link" href="http://prototypejs.org/" rel="nofollow">Prototype</a> and <a  class="external-link" href="http://script.aculo.us/" rel="nofollow">Scriptaculous</a>, by introducing an abstraction layer</li><li>Remove the clumsy <code>Tapestry</code> and <code>T5</code> "namespaces"</li><li>Reduce the amount of page-specific JavaScript initialization</li><li>Make it easier to override behavior associated with client elements</li><li>Support CoffeeScript and (potentially) other languages that target JavaScript</li><li>Organize client-side JavaScript using <a  href="javascript-modules.html">modules</a></li><li>Make pages load faster</li><li>Integrate <a  class="external-link" href="http://getbootstrap.com/" rel="n
 ofollow">Bootstrap</a></li><li>Make it easier for rich client libraries such as&#160;<a  class="external-link" href="http://backbonejs.org/" rel="nofollow">Backbone</a> or&#160;<a  class="external-link" href="https://angularjs.org/" rel="nofollow">AngularJS</a> to operate within a page</li><li>Properly document Tapestry's client support</li></ul><h3 id="Client-SideJavaScript-TheOverallVision">The Overall Vision</h3><p>The overall vision for the client-side in Tapestry is encapsulation, at several different levels.</p><p>On the server-side, a Tapestry component (or mixin) will exposes configurable parameters. The component will write DOM elements or attributes, as well as some amount of JavaScript initialization. The encapsulation here allows developers with little or no knowledge of client-side JavaScript to enjoy the benefits (as consumers of components created by developers who are versed in client-side coding and Tapestry components).</p><p>On the client-side, the JavaScript comb
 ines with the special markup to produce the behaviors that are desired ... anything from controlling the initial focus field, to performing client-side input field validation, to running complex Ajax workflows.</p><p>Where possible, all of this behavior is driven by <code>data-</code> attributes on the elements, combined with top-level event handlers. On the client side, events are used not only to respond directly to user actions (with "click", "mouseOver", "submit", or other event listeners) but also to allow elements to collaborate in various ways. &#160;For example, input validation is based on triggering a specific custom event on each form control element, and top-level event handlers can then manage the validation for any number of fields.</p><h3 id="Client-SideJavaScript-Prototypevs.jQuery">Prototype vs. jQuery</h3><p>For several years, it has been obvious that Tapestry "backed the wrong horse" with respect to Prototype and jQuery. When the first code was being laid down in 
 2007 or 2008, it wasn't so clear that jQuery with its odd abstractions and unfamiliar approach, would go on to conquer the world. Meanwhile, Prototype was very strongly integrated into Ruby on Rails and had first class documentation and books.</p><p>That being said, jQuery may not be the be-all and end-all. Tapestry 5.4 introduces an abstraction layer, that allows many components to write code that doesn't care whether the foundation framework in Prototype or jQuery. This is especially useful during the arduous process of moving Tapestry 5.3 client-side code forward to 5.4.</p><p>If you like jQuery then there's no problem: write your application using just jQuery and you can ignore a lot of the features in the abstraction layer. Your code will likely be just a bit more efficient.</p><p>If you are building a reusable component or library, writing to the abstraction layer may be worth the effort; it is entirely possible that someone may write a replacement for the abstraction layer th
 at targets your favorite foundation framework, such as ExtJS, MooTools, or something not even known of today.</p><h3 id="Client-SideJavaScript-Heavyvs.Light">Heavy vs. Light</h3><p>Earlier Tapestry JavaScript was&#160;<em>heavy</em>. Essentially, each component would write some very specific JavaScript initialization that would include the component's DOM id and many other details. This initialization would reference a function on the <code>T5.inits</code> namespace.</p><p>The function there would typically locate the specific element by its client DOM id, then attach event handlers to the one element. It might also create some form of client-side controller object. There were issues due to this: for complex pages (or perhaps even typical pages), the "blob" of JavaScript initialization at the bottom of the page could be quite large.</p><p>The use of individual event handlers meant that Tapestry applications would use more client-side objects that a bespoke jQuery solution ... becaus
 e the normal approach in jQuery is to attach a single event handler to the document or body that handles any events that bubble up to the top&#160;<em>and</em> match a CSS selector.</p><p>In Tapestry 5.4, the goal is to make things&#160;<em>light</em>. In most cases, there will not be a specific initialization function; instead a <a  href="javascript-modules.html">JavaScript module</a> will be loaded, and it will install one or more top-level event handlers; the elements will have <a  class="external-link" href="https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes" rel="nofollow"><code>data-</code> attributes</a> that are used by those top level handlers to recognize which elements they are responsible for.</p><p>This is more of a full lifecycle approach; adding or removing page content (such as with a&#160;<a  href="ajax-and-zones.html">Zone</a> component) is both cheaper and less error prone using top-level event handlers than per-element event handlers; t
 here's also less of a chance of memory leaks under Internet Explorer.</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>Internet Explorer is pretty well known for memory leaks; its DOM and JavaScript run in different kinds of memory, which are garbage collected individually. This means that a reference from JavaScript to a DOM element will keep the DOM element live, even if that's the only reference to the DOM element anywhere. Meanwhile, event handler JavaScript functions are kept live from the DOM element, making a cycle that can't be broken. Libraries like Prototype and jQuery have to expend some effort to break this link by unregistering event handlers from DOM elements when removing them from the DOM.</p></div></div><p>A specific example of this approach is how client-side validation now works; in the 
 past, there was a complex system of classes and event listeners that were specific to each individual field. Field controllers had to register with Form controllers. Validators had to register with Field controllers.</p><p>Under 5.4, there are a number of&#160;<code>data-</code> attributes that can be attached to any DOM element. A form will search for elements with a non-blank value for&#160;<code>data-validation</code>; each such element has a series of custom events triggered on it. The top-level handlers for those events will receive notifications for elements throughout the document.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>t5/core/validation.coffee (partial)</b></div><div class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><p>Perhaps nothing in Tapestry has changed over the years so much as the way client-side JavaScript is supported. From the get go, the goal was to make JavaScript a first-class citizen in the Tapestry world, and make it easy to encapsulate JavaScript within components.</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="ajax-and-zones.html">Ajax and Zones</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="legacy-javascript.html">Legacy JavaScript</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="coffeescript.html">CoffeeScript</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="client-side-javascript.html">Client-Side JavaScript</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="javascript-modules.html">JavaScript Modules</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="javascript-faq.html">JavaScript 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="ajax-components-faq.html">Ajax Components 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="component-cheat-sheet.html">Component Cheat Sheet</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="assets.html">Assets</a> 
+  </div> </li></ul></div><p>The <a  href="legacy-javascript.html">legacy JavaScript</a> page discusses the earlier approaches; the main feature of Tapestry 5.4 is a total rewrite of all things client-side, with the following goals:</p><ul><li>Break the hard linkage of Tapestry to <a  class="external-link" href="http://prototypejs.org/" rel="nofollow">Prototype</a> and <a  class="external-link" href="http://script.aculo.us/" rel="nofollow">Scriptaculous</a>, by introducing an abstraction layer</li><li>Remove the clumsy <code>Tapestry</code> and <code>T5</code> "namespaces"</li><li>Reduce the amount of page-specific JavaScript initialization</li><li>Make it easier to override behavior associated with client elements</li><li>Support CoffeeScript and (potentially) other languages that target JavaScript</li><li>Organize client-side JavaScript using <a  href="javascript-modules.html">modules</a></li><li>Make pages load faster</li><li>Integrate <a  class="external-link" href="http://getboo
 tstrap.com/" rel="nofollow">Bootstrap</a></li><li>Make it easier for rich client libraries such as&#160;<a  class="external-link" href="http://backbonejs.org/" rel="nofollow">Backbone</a> or&#160;<a  class="external-link" href="https://angularjs.org/" rel="nofollow">AngularJS</a> to operate within a page</li><li>Properly document Tapestry's client support</li></ul><h3 id="Client-SideJavaScript-TheOverallVision">The Overall Vision</h3><p>The overall vision for the client-side in Tapestry is encapsulation, at several different levels.</p><p>On the server-side, a Tapestry component (or mixin) will exposes configurable parameters. The component will write DOM elements or attributes, as well as some amount of JavaScript initialization. The encapsulation here allows developers with little or no knowledge of client-side JavaScript to enjoy the benefits (as consumers of components created by developers who are versed in client-side coding and Tapestry components).</p><p>On the client-side, 
 the JavaScript combines with the special markup to produce the behaviors that are desired ... anything from controlling the initial focus field, to performing client-side input field validation, to running complex Ajax workflows.</p><p>Where possible, all of this behavior is driven by <code>data-</code> attributes on the elements, combined with top-level event handlers. On the client side, events are used not only to respond directly to user actions (with "click", "mouseOver", "submit", or other event listeners) but also to allow elements to collaborate in various ways. &#160;For example, input validation is based on triggering a specific custom event on each form control element, and top-level event handlers can then manage the validation for any number of fields.</p><h3 id="Client-SideJavaScript-Prototypevs.jQuery">Prototype vs. jQuery</h3><p>For several years, it has been obvious that Tapestry "backed the wrong horse" with respect to Prototype and jQuery. When the first code was 
 being laid down in 2007 or 2008, it wasn't so clear that jQuery with its odd abstractions and unfamiliar approach, would go on to conquer the world. Meanwhile, Prototype was very strongly integrated into Ruby on Rails and had first class documentation and books.</p><p>That being said, jQuery may not be the be-all and end-all. Tapestry 5.4 introduces an abstraction layer, that allows many components to write code that doesn't care whether the foundation framework in Prototype or jQuery. This is especially useful during the arduous process of moving Tapestry 5.3 client-side code forward to 5.4.</p><p>If you like jQuery then there's no problem: write your application using just jQuery and you can ignore a lot of the features in the abstraction layer. Your code will likely be just a bit more efficient.</p><p>If you are building a reusable component or library, writing to the abstraction layer may be worth the effort; it is entirely possible that someone may write a replacement for the a
 bstraction layer that targets your favorite foundation framework, such as ExtJS, MooTools, or something not even known of today.</p><h3 id="Client-SideJavaScript-Heavyvs.Light">Heavy vs. Light</h3><p>Earlier Tapestry JavaScript was&#160;<em>heavy</em>. Essentially, each component would write some very specific JavaScript initialization that would include the component's DOM id and many other details. This initialization would reference a function on the <code>T5.inits</code> namespace.</p><p>The function there would typically locate the specific element by its client DOM id, then attach event handlers to the one element. It might also create some form of client-side controller object. There were issues due to this: for complex pages (or perhaps even typical pages), the "blob" of JavaScript initialization at the bottom of the page could be quite large.</p><p>The use of individual event handlers meant that Tapestry applications would use more client-side objects that a bespoke jQuery 
 solution ... because the normal approach in jQuery is to attach a single event handler to the document or body that handles any events that bubble up to the top&#160;<em>and</em> match a CSS selector.</p><p>In Tapestry 5.4, the goal is to make things&#160;<em>light</em>. In most cases, there will not be a specific initialization function; instead a <a  href="javascript-modules.html">JavaScript module</a> will be loaded, and it will install one or more top-level event handlers; the elements will have <a  class="external-link" href="https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes" rel="nofollow"><code>data-</code> attributes</a> that are used by those top level handlers to recognize which elements they are responsible for.</p><p>This is more of a full lifecycle approach; adding or removing page content (such as with a&#160;<a  href="ajax-and-zones.html">Zone</a> component) is both cheaper and less error prone using top-level event handlers than per-elemen
 t event handlers; there's also less of a chance of memory leaks under Internet Explorer.</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>Internet Explorer is pretty well known for memory leaks; its DOM and JavaScript run in different kinds of memory, which are garbage collected individually. This means that a reference from JavaScript to a DOM element will keep the DOM element live, even if that's the only reference to the DOM element anywhere. Meanwhile, event handler JavaScript functions are kept live from the DOM element, making a cycle that can't be broken. Libraries like Prototype and jQuery have to expend some effort to break this link by unregistering event handlers from DOM elements when removing them from the DOM.</p></div></div><p>A specific example of this approach is how client-side validation
  now works; in the past, there was a complex system of classes and event listeners that were specific to each individual field. Field controllers had to register with Form controllers. Validators had to register with Field controllers.</p><p>Under 5.4, there are a number of&#160;<code>data-</code> attributes that can be attached to any DOM element. A form will search for elements with a non-blank value for&#160;<code>data-validation</code>; each such element has a series of custom events triggered on it. The top-level handlers for those events will receive notifications for elements throughout the document.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>t5/core/validation.coffee (partial)</b></div><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">define ["underscore", "./dom", "./events", "./utils", "./messages", "./fields"],
   (_, dom, events, utils, messages) -&gt;
 

Modified: websites/production/tapestry/content/clustering-issues.html
==============================================================================
--- websites/production/tapestry/content/clustering-issues.html (original)
+++ websites/production/tapestry/content/clustering-issues.html Tue Nov  8 12:22:26 2016
@@ -36,18 +36,13 @@
 
   <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  href="community.html">Community</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">Clustering Issues</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">Clustering Issues</h1></div></div>
       <div class="clearer"></div>
       </div>
 

Modified: websites/production/tapestry/content/coffeescript.html
==============================================================================
--- websites/production/tapestry/content/coffeescript.html (original)
+++ websites/production/tapestry/content/coffeescript.html Tue Nov  8 12:22:26 2016
@@ -44,18 +44,13 @@
 
   <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  href="community.html">Community</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">CoffeeScript</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">CoffeeScript</h1></div></div>
       <div class="clearer"></div>
       </div>
 
@@ -67,91 +62,55 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p><strong>CoffeeScript</strong> (<a  class="external-link" href="http://coffeescript.org" rel="nofollow">http://coffeescript.org</a>) is a language that compiles down to JavaScript.</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="coffeescript.html">CoffeeScript</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="client-side-javascript.html">Client-Side JavaScript</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="javascript-modules.html">JavaScript Modules</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="javascript-faq.html">JavaScript 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="ajax-and-zones.html">Ajax and Zones</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="component-cheat-sheet.html">Component Cheat Sheet</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="legacy-javascript.html">Legacy JavaScript</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="assets.html">Assets</a>
-                
-                        
-                    </div>
-    </li></ul>
-</div><p><em>Starting with version 5.4,</em> Tapestry can automatically compile your CoffeeScript code into JavaScript on the fly. This is done with the optional tapestry-webresources module. It is highly recommended for anyone who wants to use CoffeeScript in their application ... just let Tapestry do the compilation at runtime (with access to Tapestry's full exception reporting capabilities).</p><p>To use the tapestry-webresources module, just add the JAR to your project. For example, if you're using Maven:</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">
+                <div id="ConfluenceContent"><p><strong>CoffeeScript</strong> (<a  class="external-link" href="http://coffeescript.org" rel="nofollow">http://coffeescript.org</a>) is a language that compiles down to JavaScript.</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="coffeescript.html">CoffeeScript</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="client-side-javascript.html">Client-Side JavaScript</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="javascript-modules.html">JavaScript Modules</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="javascript-faq.html">JavaScript 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="ajax-and-zones.html">Ajax and Zones</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="component-cheat-sheet.html">Component Cheat Sheet</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="legacy-javascript.html">Legacy JavaScript</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="assets.html">Assets</a> 
+  </div> </li></ul></div><p><em>Starting with version 5.4,</em> Tapestry can automatically compile your CoffeeScript code into JavaScript on the fly. This is done with the optional tapestry-webresources module. It is highly recommended for anyone who wants to use CoffeeScript in their application ... just let Tapestry do the compilation at runtime (with access to Tapestry's full exception reporting capabilities).</p><p>To use the tapestry-webresources module, just add the JAR to your project. For example, if you're using Maven:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>pom.xml (partial)</b></div><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.tapestry&lt;/groupId&gt;
     &lt;artifactId&gt;tapestry-webresources&lt;/artifactId&gt;

Modified: websites/production/tapestry/content/committers.html
==============================================================================
--- websites/production/tapestry/content/committers.html (original)
+++ websites/production/tapestry/content/committers.html Tue Nov  8 12:22:26 2016
@@ -36,18 +36,13 @@
 
   <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  href="community.html">Community</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">Committers</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">Committers</h1></div></div>
       <div class="clearer"></div>
       </div>
 
@@ -59,7 +54,57 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>ID</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>role</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>email address</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>website</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Andreas Andreou</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>andyhot</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">andyhot@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://andyhot.gr" rel="nofollow">http://andyhot.gr</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Ben Dotte</p></td><t
 d colspan="1" rowspan="1" class="confluenceTd"><p>bdotte</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">bdotte@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Bob Harner</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>bobharner</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">bobharner@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="https://github.com/bobharner" rel="nofollow">https://github.com/bobharner</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Christophe Cordenier</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>ccordenier</p></td><td colspan="1" rowspan="1" class="con
 fluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">ccordenier@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://spreadthesource.com" rel="nofollow">http://spreadthesource.com</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Dan Adams</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>dadams</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">dadams@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Daniel Gredler</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>gredler</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">gredler@ap
 ache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Daniel Jue</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>djue</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">djue@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>David Solis</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>dsolis</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">dsolis@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Fran&#231;ois Facon</p></td><td colspan="1" rowspan="1" class="confluenceTd
 "><p>ffacon</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">ffacon@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://people.apache.org/~ffacon/">http://people.apache.org/~ffacon/</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Howard M. Lewis Ship</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>hlship</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member and former chair</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">hlship@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://howardlewisship.com" rel="nofollow">http://howardlewisship.com</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Igor Drobiazko</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p
 >drobiazko</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">drobiazko@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://tapestry5.de" rel="nofollow">http://tapestry5.de</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Jesse Kuhnert</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>jkuhnert</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">jkuhnert@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Jochen Kemnade</td><td colspan="1" rowspan="1" class="confluenceTd">jkemnade</td><td colspan="1" rowspan="1" class="confluenceTd">PMC member</td><td colspan="1" rowspan="1" class="confluenceTd"><div 
 align="right" class=""><a  class="external-link" href="mailto:jkemnade@apache.org" rel="nofollow">jkemnade@apache.org</a></div></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Josh Canfield</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>joshcanfield</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">joshcanfield@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Kalle Korhonen</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>kaosko</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">kaosko@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" 
 href="http://tynamo.org" rel="nofollow">http://tynamo.org</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Kevin Menard</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>kmenard</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">kmenard@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Marcus Schulte</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>mschulte</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">mschulte@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Massimo Lusetti</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>mlu
 setti</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">mlusetti@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://meridio.blogspot.com" rel="nofollow">http://meridio.blogspot.com</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Richard Lewis-Shell</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>rlewisshell</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">rlewisshell@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Robert D. Zeigler</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>robertdzeigler</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td
  colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">robertdzeigler@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Robin Komiwes</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>robinkomiwes</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">robinkomiwes@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://spreadthesource.com" rel="nofollow">http://spreadthesource.com</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Taha Hafeez</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>tawus</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">tawus@apache.org</div></td><td
  colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://tawus.wordpress.com" rel="nofollow">http://tawus.wordpress.com</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Ted Steen</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>tedst</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">tedst@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Thiago H. de Paula Figueiredo</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>thiagohp</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC chair</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">thiagohp@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://machina.com.br" rel="n
 ofollow">http://machina.com.br</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Ulrich St&#228;rk</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>uli</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd"><div align="right" class="">uli@apache.org</div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr></tbody></table></div></div>
+                <div id="ConfluenceContent"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>ID</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>role</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>email address</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>website</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Andreas Andreou</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>andyhot</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">andyhot@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://andyhot.gr" rel="nofollow">http://andyhot.gr</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Ben Dotte</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>bdotte</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">bdotte@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Bob Harner</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>bobharner</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">bobharner@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="https://github.com/bobharner" rel="nofollow">https://github.com/bobharner</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Christophe Cordenier</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>ccordenier</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">ccordenier@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://spreadthesource.com" rel="nofollow">http://spreadthesource.com</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Dan Adams</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>dadams</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">dadams@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Daniel Gredler</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>gredler</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">gredler@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Daniel Jue</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>djue</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">djue@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>David Solis</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>dsolis</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">dsolis@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Fran&#231;ois Facon</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>ffacon</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">ffacon@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://people.apache.org/~ffacon/">http://people.apache.org/~ffacon/</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Howard M. Lewis Ship</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>hlship</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member and former chair</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">hlship@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://howardlewisship.com" rel="nofollow">http://howardlewisship.com</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Igor Drobiazko</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>drobiazko</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">drobiazko@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://tapestry5.de" rel="nofollow">http://tapestry5.de</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Jesse Kuhnert</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>jkuhnert</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">jkuhnert@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Jochen Kemnade</td><td colspan="1" rowspan="1" class="confluenceTd">jkemnade</td><td colspan="1" rowspan="1" class="confluenceTd">PMC member</td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;"><a  class="external-link" href="mailto:jkemnade@apache.org" rel="nofollow">jkemnade@apache.org</a></div>
+</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Josh Canfield</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>joshcanfield</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">joshcanfield@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Kalle Korhonen</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>kaosko</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">kaosko@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://tynamo.org" rel="nofollow">http://tynamo.org</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Kevin Menard</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>kmenard</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">kmenard@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Marcus Schulte</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>mschulte</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">mschulte@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Massimo Lusetti</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>mlusetti</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">mlusetti@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://meridio.blogspot.com" rel="nofollow">http://meridio.blogspot.com</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Richard Lewis-Shell</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>rlewisshell</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">rlewisshell@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Robert D. Zeigler</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>robertdzeigler</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">robertdzeigler@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Robin Komiwes</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>robinkomiwes</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">robinkomiwes@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://spreadthesource.com" rel="nofollow">http://spreadthesource.com</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Taha Hafeez</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>tawus</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">tawus@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://tawus.wordpress.com" rel="nofollow">http://tawus.wordpress.com</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Ted Steen</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>tedst</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">tedst@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Thiago H. de Paula Figueiredo</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>thiagohp</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC chair</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">thiagohp@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" href="http://machina.com.br" rel="nofollow">http://machina.com.br</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Ulrich St&#228;rk</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>uli</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" class="confluenceTd">    
+<div class="cfm-align-right" style="text-align: right;">uli@apache.org</div>
+</td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr></tbody></table></div></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/community.html
==============================================================================
--- websites/production/tapestry/content/community.html (original)
+++ websites/production/tapestry/content/community.html Tue Nov  8 12:22:26 2016
@@ -36,18 +36,13 @@
 
   <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  href="community.html">Community</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">Community</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">Community</h1></div></div>
       <div class="clearer"></div>
       </div>
 
@@ -60,11 +55,11 @@
 
       <div id="content">
                 <div id="ConfluenceContent"><p>Tapestry has an active community of users and developers. This is an overview of how to participate, along with a list of some of the great contributions of the community members.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1447035577952 {padding: 0px;}
-div.rbtoc1447035577952 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1447035577952 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1478607591625 {padding: 0px;}
+div.rbtoc1478607591625 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1478607591625 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1447035577952">
+/*]]>*/</style></p><div class="toc-macro rbtoc1478607591625">
 <ul class="toc-indentation"><li><a  href="#Community-GettingInvolved">Getting Involved</a>
 <ul class="toc-indentation"><li><a  href="#Community-ReportingProblems/GettingSupport">Reporting Problems / Getting Support</a></li><li><a  href="#Community-ContributingtranslationsforTapestrybuilt-inmessages">Contributing translations for Tapestry built-in messages</a></li><li><a  href="#Community-SourceCodeAccess">Source Code Access</a></li><li><a  href="#Community-BecomingaContributor">Becoming a Contributor</a></li><li><a  href="#Community-BecomingaCommitter">Becoming a Committer</a></li></ul>
 </li><li><a  href="#Community-CommunityContributions">Community Contributions</a>