You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by bu...@apache.org on 2015/06/27 23:21:05 UTC

svn commit: r956226 [14/34] - in /websites/production/tapestry/content: ./ 2010/10/11/ 2010/10/31/ 2010/11/18/ 2010/11/19/ 2010/12/16/ 2010/12/17/ 2011/01/10/ 2011/03/29/ 2011/06/13/ 2011/06/24/ 2011/06/29/ 2011/07/29/ 2011/08/16/ 2011/08/27/ 2011/10/3...

Modified: websites/production/tapestry/content/documentation.html
==============================================================================
--- websites/production/tapestry/content/documentation.html (original)
+++ websites/production/tapestry/content/documentation.html Sat Jun 27 21:21:02 2015
@@ -45,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><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"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Documentation</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 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">Documentation</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -57,7 +57,7 @@
   </div>
 
 <div id="content">
-<div id="ConfluenceContent"><div style="float:right;margin-left:1em"><h2 id="Documentation-AllTopics">All Topics</h2><ul class="childpages-macro"><li><a shape="rect" href="introduction.html">Introduction</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="principles.html">Principles</a></li><li><a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a><ul class="childpages-macro"><li><a shape="rect" href="dependencies-tools-and-plugins.html">Dependencies, Tools and Plugins</a></li><li><a shape="rect" href="creating-the-skeleton-application.html">Creating The Skeleton Application</a></li><li><a shape="rect" href="exploring-the-project.html">Exploring the Project</a></li><li><a shape="rect" href="implementing-the-hi-lo-guessing-game.html">Implementing the Hi-Lo Guessing Game</a></li><li><a shape="rect" href="using-beaneditform-to-create-user-forms.html">Using BeanEditForm To Create User Forms</a></li><li><a shape="rect" hr
 ef="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a></li></ul></li><li><a shape="rect" href="user-guide.html">User Guide</a><ul class="childpages-macro"><li><a shape="rect" href="project-layout.html">Project Layout</a></li><li><a shape="rect" href="configuration.html">Configuration</a></li><li><a shape="rect" href="runtime-exceptions.html">Runtime Exceptions</a></li><li><a shape="rect" href="class-reloading.html">Class Reloading</a></li><li><a shape="rect" href="component-reference.html">Component Reference</a></li><li><a shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect" href="component-classes.html">Component Classes</a></li><li><a shape="rect" href="component-templates.html">Component Templates</a></li><li><a shape="rect" href="property-expressions.html">Property Expressions</a></li><li><a shape="rect" href="component-parameters.html">Component Parameters</a></li><li><a shape="rect" href="parameter-type-coercion.html">Parameter Type 
 Coercion</a></li><li><a shape="rect" href="layout-component.html">Layout Component</a></li><li><a shape="rect" href="component-mixins.html">Component Mixins</a><ul class="childpages-macro"><li><a shape="rect" href="built-in-mixins.html">Built-in Mixins</a></li></ul></li><li><a shape="rect" href="page-navigation.html">Page Navigation</a></li><li><a shape="rect" href="localization.html">Localization</a></li><li><a shape="rect" href="page-life-cycle.html">Page Life Cycle</a></li><li><a shape="rect" href="request-processing.html">Request Processing</a></li><li><a shape="rect" href="component-rendering.html">Component Rendering</a></li><li><a shape="rect" href="component-events.html">Component Events</a></li><li><a shape="rect" href="url-rewriting.html">URL rewriting</a></li><li><a shape="rect" href="dom.html">DOM</a></li><li><a shape="rect" href="response-compression.html">Response Compression</a></li><li><a shape="rect" href="security.html">Security</a></li><li><a shape="rect" href="ht
 tps.html">HTTPS</a></li><li><a shape="rect" href="content-type-and-markup.html">Content Type and Markup</a></li><li><a shape="rect" href="persistent-page-data.html">Persistent Page Data</a></li><li><a shape="rect" href="session-storage.html">Session Storage</a><ul class="childpages-macro"><li><a shape="rect" href="clustering-issues.html">Clustering Issues</a></li></ul></li><li><a shape="rect" href="injection.html">Injection</a></li><li><a shape="rect" href="environmental-services.html">Environmental Services</a></li><li><a shape="rect" href="css.html">CSS</a></li><li><a shape="rect" href="assets.html">Assets</a></li><li><a shape="rect" href="forms-and-validation.html">Forms and Validation</a></li><li><a shape="rect" href="beaneditform-guide.html">BeanEditForm Guide</a></li><li><a shape="rect" href="uploading-files.html">Uploading Files</a></li><li><a shape="rect" href="logging.html">Logging</a></li><li><a shape="rect" href="unit-testing-pages-or-components.html">Unit testing pages o
 r components</a></li><li><a shape="rect" href="integration-testing.html">Integration Testing</a></li><li><a shape="rect" href="service-status.html">Service Status</a></li><li><a shape="rect" href="modules.html">Modules</a><ul class="childpages-macro"><li><a shape="rect" href="built-in-modules.html">Built In Modules</a></li><li><a shape="rect" href="third-party-modules.html">Third Party Modules</a></li></ul></li><li><a shape="rect" href="ioc.html">IoC</a><ul class="childpages-macro"><li><a shape="rect" href="tapestry-ioc-overview.html">Tapestry IoC Overview</a></li><li><a shape="rect" href="tapestry-ioc-modules.html">Tapestry IoC Modules</a></li><li><a shape="rect" href="defining-tapestry-ioc-services.html">Defining Tapestry IOC Services</a></li><li><a shape="rect" href="service-advisors.html">Service Advisors</a></li><li><a shape="rect" href="tapestry-ioc-decorators.html">Tapestry IoC Decorators</a></li><li><a shape="rect" href="tapestry-ioc-configuration.html">Tapestry IoC Configur
 ation</a></li><li><a shape="rect" href="case-insensitivity.html">Case Insensitivity</a></li><li><a shape="rect" href="autoloading-modules.html">Autoloading Modules</a></li><li><a shape="rect" href="service-implementation-reloading.html">Service Implementation Reloading</a></li><li><a shape="rect" href="ordering-by-constraints.html">Ordering by Constraints</a></li><li><a shape="rect" href="symbols.html">Symbols</a></li><li><a shape="rect" href="chainbuilder-service.html">ChainBuilder Service</a></li><li><a shape="rect" href="pipelinebuilder-service.html">PipelineBuilder Service</a></li><li><a shape="rect" href="shadowbuilder-service.html">ShadowBuilder Service</a></li><li><a shape="rect" href="strategybuilder-service.html">StrategyBuilder Service</a></li><li><a shape="rect" href="injection-in-detail.html">Injection in Detail</a></li><li><a shape="rect" href="object-providers.html">Object Providers</a></li><li><a shape="rect" href="service-serialization.html">Service Serialization</a>
 </li><li><a shape="rect" href="type-coercion.html">Type Coercion</a></li><li><a shape="rect" href="starting-the-ioc-registry.html">Starting the IoC Registry</a></li><li><a shape="rect" href="registry-startup.html">Registry Startup</a></li><li><a shape="rect" href="parallel-execution.html">Parallel Execution</a></li><li><a shape="rect" href="logging-in-tapestry.html">Logging in Tapestry</a></li><li><a shape="rect" href="using-jsr-330-standard-annotations.html">Using JSR 330 standard annotations</a></li><li><a shape="rect" href="operation-tracker.html">Operation Tracker</a></li></ul></li><li><a shape="rect" href="hibernate-core.html">Hibernate - Core</a><ul class="childpages-macro"><li><a shape="rect" href="hibernate-core-conf.html">Hibernate - Core - Conf</a></li><li><a shape="rect" href="hibernate.html">Hibernate</a></li></ul></li><li><a shape="rect" href="integrating-with-spring-framework.html">Integrating with Spring Framework</a></li><li><a shape="rect" href="bean-validation.html
 ">Bean Validation</a></li><li><a shape="rect" href="component-report.html">Component Report</a></li><li><a shape="rect" href="aliases.html">Aliases</a></li><li><a shape="rect" href="integrating-with-jpa.html">Integrating with JPA</a></li><li><a shape="rect" href="client-side-javascript.html">Client-Side JavaScript</a><ul class="childpages-macro"><li><a shape="rect" href="javascript-modules.html">JavaScript Modules</a></li><li><a shape="rect" href="coffeescript.html">CoffeeScript</a></li><li><a shape="rect" href="legacy-javascript.html">Legacy JavaScript</a></li><li><a shape="rect" href="ajax-and-zones.html">Ajax and Zones</a></li></ul></li></ul></li><li><a shape="rect" href="cheat-sheets.html">Cheat Sheets</a><ul class="childpages-macro"><li><a shape="rect" href="application-module-class-cheat-sheet.html">Application Module Class Cheat Sheet</a></li><li><a shape="rect" href="component-cheat-sheet.html">Component Cheat Sheet</a></li><li><a shape="rect" href="tapestry-for-jsf-users.ht
 ml">Tapestry for JSF Users</a></li></ul></li><li><a shape="rect" href="cookbook.html">Cookbook</a><ul class="childpages-macro"><li><a shape="rect" href="default-parameter.html">Default Parameter</a></li><li><a shape="rect" href="overriding-exception-reporting.html">Overriding Exception Reporting</a></li><li><a shape="rect" href="error-page-recipe.html">Error Page Recipe</a></li><li><a shape="rect" href="supporting-informal-parameters.html">Supporting Informal Parameters</a></li><li><a shape="rect" href="component-libraries.html">Component Libraries</a></li><li><a shape="rect" href="switching-cases.html">Switching Cases</a></li><li><a shape="rect" href="enum-parameter-recipe.html">Enum Parameter Recipe</a></li><li><a shape="rect" href="extending-the-if-component.html">Extending the If Component</a></li><li><a shape="rect" href="meta-programming-page-content.html">Meta-Programming Page Content</a></li><li><a shape="rect" href="using-select-with-a-list.html">Using Select With a List</a
 ></li><li><a shape="rect" href="ioc-cookbook.html">IoC cookbook</a><ul class="childpages-macro"><li><a shape="rect" href="ioc-cookbook-basic-services-and-injection.html">IoC Cookbook - Basic Services and Injection</a></li><li><a shape="rect" href="ioc-cookbook-overriding-ioc-services.html">IoC Cookbook - Overriding IoC Services</a></li><li><a shape="rect" href="ioc-cookbook-patterns.html">IoC Cookbook - Patterns</a></li><li><a shape="rect" href="ioc-cookbook-service-configurations.html">IoC cookbook - Service Configurations</a></li></ul></li><li><a shape="rect" href="performance-and-clustering.html">Performance and Clustering</a></li></ul></li><li><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a><ul class="childpages-macro"><li><a shape="rect" href="general-questions.html">General Questions</a></li><li><a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a></li><li><a shape="rect" href="page-and-component-classes-faq.ht
 ml">Page And Component Classes FAQ</a></li><li><a shape="rect" href="forms-and-form-components-faq.html">Forms and Form Components FAQ</a></li><li><a shape="rect" href="beaneditform-faq.html">BeanEditForm FAQ</a></li><li><a shape="rect" href="link-components-faq.html">Link Components FAQ</a></li><li><a shape="rect" href="component-events-faq.html">Component Events FAQ</a></li><li><a shape="rect" href="javascript-faq.html">JavaScript FAQ</a></li><li><a shape="rect" href="ajax-components-faq.html">Ajax Components FAQ</a></li><li><a shape="rect" href="injection-faq.html">Injection FAQ</a></li><li><a shape="rect" href="tapestry-inversion-of-control-faq.html">Tapestry Inversion of Control FAQ</a></li><li><a shape="rect" href="security-faq.html">Security FAQ</a></li><li><a shape="rect" href="integration-with-existing-applications.html">Integration with existing applications</a></li><li><a shape="rect" href="request-processing-faq.html">Request Processing FAQ</a></li><li><a shape="rect" hr
 ef="limitations.html">Limitations</a></li><li><a shape="rect" href="specific-errors-faq.html">Specific Errors FAQ</a></li><li><a shape="rect" href="hibernate-support-faq.html">Hibernate Support FAQ</a></li><li><a shape="rect" href="maven-support-faq.html">Maven Support FAQ</a></li><li><a shape="rect" href="release-upgrade-faq.html">Release Upgrade FAQ</a></li></ul></li><li><a shape="rect" href="release-notes.html">Release Notes</a><ul class="childpages-macro"><li><a shape="rect" href="how-to-upgrade.html">How to Upgrade</a></li><li><a shape="rect" href="release-notes-50.html">Release Notes 5.0</a></li><li><a shape="rect" href="release-notes-51.html">Release Notes 5.1</a></li><li><a shape="rect" href="release-notes-52.html">Release Notes 5.2</a><ul class="childpages-macro"><li><a shape="rect" href="release-notes-520.html">Release Notes 5.2.0</a></li><li><a shape="rect" href="release-notes-521.html">Release Notes 5.2.1</a></li><li><a shape="rect" href="release-notes-522.html">Release 
 Notes 5.2.2</a></li><li><a shape="rect" href="release-notes-523.html">Release Notes 5.2.3</a></li><li><a shape="rect" href="release-notes-524.html">Release Notes 5.2.4</a></li><li><a shape="rect" href="release-notes-525.html">Release Notes 5.2.5</a></li><li><a shape="rect" href="release-notes-526.html">Release Notes 5.2.6</a></li></ul></li><li><a shape="rect" href="release-notes-53.html">Release Notes 5.3</a></li><li><a shape="rect" href="release-notes-531.html">Release Notes 5.3.1</a></li><li><a shape="rect" href="release-notes-532.html">Release Notes 5.3.2</a></li><li><a shape="rect" href="release-notes-533.html">Release Notes 5.3.3</a></li><li><a shape="rect" href="release-notes-534.html">Release Notes 5.3.4</a></li><li><a shape="rect" href="release-notes-535.html">Release Notes 5.3.5</a></li><li><a shape="rect" href="release-notes-536.html">Release Notes 5.3.6</a></li><li><a shape="rect" href="release-notes-537.html">Release Notes 5.3.7</a></li><li><a shape="rect" href="release-
 notes-54.html">Release Notes 5.4</a></li><li><a shape="rect" href="release-notes-538.html">Release notes 5.3.8</a></li></ul></li><li><a shape="rect" href="javascript-rewrite.html">JavaScript Rewrite</a></li><li><a shape="rect" href="support.html">Support</a></li><li><a shape="rect" href="developer-information.html">Developer Information</a><ul class="childpages-macro"><li><a shape="rect" href="building-tapestry-from-source.html">Building Tapestry from Source</a></li><li><a shape="rect" href="confluence-site-setup.html">Confluence Site Setup</a><ul class="childpages-macro"><li><a shape="rect" href="since-and-deprecated-user-macros.html">Since and Deprecated User Macros</a></li></ul></li><li><a shape="rect" href="developer-bible.html">Developer Bible</a></li><li><a shape="rect" href="release-process.html">Release Process</a></li><li><a shape="rect" href="the-tapestry-jail.html">The tapestry jail</a></li><li><a shape="rect" href="version-numbers.html">Version Numbers</a></li></ul></li>
 </ul></div><p>Welcome to the Tapestry 5 Documentation. A rich collection of guides is available to teach beginners the basics and help even experienced developers deepen their understanding of Tapestry's power. <em>Code less, deliver more!</em></p><h1 id="Documentation-Highlights">Highlights</h1><p>These are the most useful starting points for common needs.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="introduction.html">Introduction</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>An overview of Tapestry's general approach and philosophy</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="getting-started.html">Getting Started</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A quick guide to creating your first Tapestry project, using Maven</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="r
 ect" href="tapestry-tutorial.html">Tapestry Tutorial</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Picks up where <em>Getting Started</em> leaves off, explaining in greater detail how Tapestry works</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="user-guide.html">User Guide</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Detailed articles on every Tapestry feature</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="community.html">Community</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Getting support, mailing lists, JIRA, outside resources, and access to the source</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="cookbook.html">Cookbook</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Guides to doing common things with Tapestry</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><
 p><strong><a shape="rect" href="frequently-asked-questions.html">FAQ</a></strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A quick place to check for common problems and solutions</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="component-cheat-sheet.html">Component Cheat Sheet</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A concise guide to component classes, methods and annotations</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://refcardz.dzone.com/refcardz/apache-tapestry-50?oid=hom7948" >Refcard</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A color, six page foldout guide to Tapestry 5.0 (PDF)</p></td></tr></tbody></table></div><h1 id="Documentation-APIandComponentReference">API and Component Reference</h1><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluen
 ceTh"><p>API (Javadoc):</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>5.0<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.1<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.2<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/">5.3.7 (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" class="external-link" href="http://tapestry.apache.org/5.4/">5.4 (beta)</a></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Component Reference:</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>5.0<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.1<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.2<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="component-reference.html">5.3.7
  (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd">same as current</td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Release Notes:</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-50.html">5.0</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-51.html">5.1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-52.html">5.2</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes.html">5.3.7 (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd">not yet available</td></tr></tbody></table></div><p><sup>1</sup> needs to be built manually from archived sources at <a shape="rect" class="external-link" href="http://archive.apache.org/dist/tapestry/">http://archive.apache.org/dist/tapestry/</a>.</p><h1 id="Documentation-UserGuide">User Guide</h1><p><span cl
 ass="confluence-anchor-link" id="Documentation-userguide"></span>The <a shape="rect" href="user-guide.html">User Guide</a> consists of over 75 pages of detailed information on the concepts behind Tapestry and instructions on how to use this powerful tool. Highlights include:</p><ul><li><a shape="rect" href="legacy-javascript.html">Legacy JavaScript</a> and <a shape="rect" href="ajax-and-zones.html">Ajax and Zones</a> describe Tapestry's built-in support for dynamic in-page behavior.</li><li><a shape="rect" href="integrating-with-spring-framework.html">Integrating with Spring Framework</a> describes how to integrate Spring into your Tapestry application.</li><li><a shape="rect" href="hibernate.html">Tapestry/Hibernate Integration Library</a> provides out-of-the-box support for using Hibernate 3.</li><li><a shape="rect" href="bean-validation.html">JSR 303: Bean Validation</a> shows how to use standard annotations for validation</li><li><a shape="rect" href="integration-testing.html">I
 ntegration Testing</a> shows how to test your application with Selenium.</li></ul><p><a shape="rect" href="user-guide.html">More topics</a>...</p><h1 id="Documentation-BlogsbyTapestryDevelopersandtheCommunity">Blogs by Tapestry Developers and the Community</h1><ul><li><a shape="rect" class="external-link" href="http://tapestryjava.blogspot.com/" >Tapestry Central</a> is Howard Lewis Ship's blog. As the creator of Tapestry, he provides valuable insights into Tapestry's latest features and future directions.</li><li><a shape="rect" class="external-link" href="http://blog.tapestry5.de/" >Igor Drobiazko's blog</a> (committer &amp; PMC) contains news on Tapestry development and will guide you through some of the most exciting parts of Tapestry.</li><li><a shape="rect" class="external-link" href="http://tawus.wordpress.com/" >Java Magic</a> (by Taha Hafeez, committer) has a series of tutorials illustrating some of the more advanced Tapestry and Plastic features and techniques.</li><li><a 
 shape="rect" class="external-link" href="http://blog.andyhot.gr/tag/tapestry/" >Andreas Andreou's blog</a> (committer &amp; PMC) has news and commentary on Tapestry.</li><li><a shape="rect" class="external-link" href="http://spreadthesource.com/" >Spread the Source blog</a> (Christophe Cordenier and Robin Komiwes) has news and advanced tutorials on Tapestry 5.</li></ul><h1 id="Documentation-BooksonTapestry">Books on Tapestry</h1><p>There are at least 8 published <a shape="rect" href="books.html">books on Tapestry</a>, including two on Tapestry 5 &#8212; and more on the way.</p><h1 id="Documentation-ArticlesonTapestry">Articles on Tapestry</h1><ul><li>This <a shape="rect" class="external-link" href="http://www.laliluna.de/articles/the-web-framework-evaluation.html" >eBook</a> published in 2009 contains a <a shape="rect" class="external-link" href="http://www.laliluna.de/articles/2009/08/14/tapestry-web-framework-evaluation-and-test.html" >good introduction and analysis of Tapestry 5<
 /a></li></ul><ul><li><a shape="rect" class="external-link" href="http://www.infoq.com/articles/tapestry5-intro" >Tapestry 5 for Nonbelievers</a> will convince the skeptical why Tapestry is the best web framework.</li></ul><p><a shape="rect" href="articles.html">More articles</a>...</p><h1 id="Documentation-TapestryPresentations">Tapestry Presentations</h1><ul><li>Mark W. Shead's <a shape="rect" class="external-link" href="http://blog.markwshead.com/900/tapestry-5-10-minute-demo/" >10 Minute Demo</a></li><li>H. L. Ship's <a shape="rect" class="external-link" href="https://www.youtube.com/watch?v=5BGt7eMFC20" >Tapestry 5.4 - Bootstrap-enhanced Exception Reporting</a></li><li><a shape="rect" class="external-link" href="http://jazoon.com/Portals/0/Content/slides/th_a7_1130-1220_drobiazko.pdf" >JavaServer Faces 2.0 vs. Tapestry 5</a> (PDF) A Head-to-Head Comparison by Igor Drobiazko at Jazoon 2010</li><li><a shape="rect" class="external-link" href="http://www.parleys.com/#st=5&amp;sl=5&a
 mp;id=1700" >Tapestry 5: Java power, Scripting Ease</a> (VIDEO) by Howard Lewis Ship at Devoxx 2009</li></ul><p><a shape="rect" href="presentations.html">More presentations</a> ...</p><h1 id="Documentation-TapestryWikis">Tapestry Wikis</h1><ul><li><a shape="rect" class="external-link" href="http://wiki.apache.org/tapestry/FrontPage">Tapestry Community Wiki</a> (Moin Moin) contains a lot of user-generated information on different Tapestry use cases.</li><li><a shape="rect" href="https://cwiki.apache.org/confluence/x/VCFkAQ">Documentation Source wiki</a> (Confluence) &#8211; the wiki used as the content editor for the official Tapestry documentation</li></ul><h1 id="Documentation-Gettinghelp">Getting help</h1><p>The primary method of support is the <a shape="rect" href="mailing-lists.html">Tapestry Mailing Lists</a>.</p><p>In addition, there are occasionally questions and answers about Tapestry at <a shape="rect" class="external-link" href="http://stackoverflow.com/questions/tagged/ta
 pestry" >Stack Overflow</a>.</p><h1 id="Documentation-TheDeveloperCorner">The Developer Corner</h1><p><a shape="rect" href="developer-information.html">Developer Information</a> gives information needed by the Tapestry developers</p><p>&#160;</p></div>
+<div id="ConfluenceContent"><div style="float:right;margin-left:1em"><h2 id="Documentation-AllTopics">All Topics</h2><ul class="childpages-macro"><li><a shape="rect" href="introduction.html">Introduction</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="principles.html">Principles</a></li><li><a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a><ul class="childpages-macro"><li><a shape="rect" href="dependencies-tools-and-plugins.html">Dependencies, Tools and Plugins</a></li><li><a shape="rect" href="creating-the-skeleton-application.html">Creating The Skeleton Application</a></li><li><a shape="rect" href="exploring-the-project.html">Exploring the Project</a></li><li><a shape="rect" href="implementing-the-hi-lo-guessing-game.html">Implementing the Hi-Lo Guessing Game</a></li><li><a shape="rect" href="using-beaneditform-to-create-user-forms.html">Using BeanEditForm To Create User Forms</a></li><li><a shape="rect" hr
 ef="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a></li></ul></li><li><a shape="rect" href="user-guide.html">User Guide</a><ul class="childpages-macro"><li><a shape="rect" href="project-layout.html">Project Layout</a></li><li><a shape="rect" href="configuration.html">Configuration</a></li><li><a shape="rect" href="runtime-exceptions.html">Runtime Exceptions</a></li><li><a shape="rect" href="class-reloading.html">Class Reloading</a></li><li><a shape="rect" href="component-reference.html">Component Reference</a></li><li><a shape="rect" href="annotations.html">Annotations</a></li><li><a shape="rect" href="component-classes.html">Component Classes</a></li><li><a shape="rect" href="component-templates.html">Component Templates</a></li><li><a shape="rect" href="property-expressions.html">Property Expressions</a></li><li><a shape="rect" href="component-parameters.html">Component Parameters</a></li><li><a shape="rect" href="parameter-type-coercion.html">Parameter Type 
 Coercion</a></li><li><a shape="rect" href="layout-component.html">Layout Component</a></li><li><a shape="rect" href="component-mixins.html">Component Mixins</a><ul class="childpages-macro"><li><a shape="rect" href="built-in-mixins.html">Built-in Mixins</a></li></ul></li><li><a shape="rect" href="page-navigation.html">Page Navigation</a></li><li><a shape="rect" href="localization.html">Localization</a></li><li><a shape="rect" href="page-life-cycle.html">Page Life Cycle</a></li><li><a shape="rect" href="request-processing.html">Request Processing</a></li><li><a shape="rect" href="component-rendering.html">Component Rendering</a></li><li><a shape="rect" href="component-events.html">Component Events</a></li><li><a shape="rect" href="url-rewriting.html">URL rewriting</a></li><li><a shape="rect" href="dom.html">DOM</a></li><li><a shape="rect" href="response-compression.html">Response Compression</a></li><li><a shape="rect" href="security.html">Security</a></li><li><a shape="rect" href="ht
 tps.html">HTTPS</a></li><li><a shape="rect" href="content-type-and-markup.html">Content Type and Markup</a></li><li><a shape="rect" href="persistent-page-data.html">Persistent Page Data</a></li><li><a shape="rect" href="session-storage.html">Session Storage</a><ul class="childpages-macro"><li><a shape="rect" href="clustering-issues.html">Clustering Issues</a></li></ul></li><li><a shape="rect" href="injection.html">Injection</a></li><li><a shape="rect" href="environmental-services.html">Environmental Services</a></li><li><a shape="rect" href="css.html">CSS</a></li><li><a shape="rect" href="assets.html">Assets</a></li><li><a shape="rect" href="forms-and-validation.html">Forms and Validation</a></li><li><a shape="rect" href="beaneditform-guide.html">BeanEditForm Guide</a></li><li><a shape="rect" href="uploading-files.html">Uploading Files</a></li><li><a shape="rect" href="logging.html">Logging</a></li><li><a shape="rect" href="unit-testing-pages-or-components.html">Unit testing pages o
 r components</a></li><li><a shape="rect" href="integration-testing.html">Integration Testing</a></li><li><a shape="rect" href="development-dashboard.html">Development Dashboard</a></li><li><a shape="rect" href="modules.html">Modules</a><ul class="childpages-macro"><li><a shape="rect" href="built-in-modules.html">Built In Modules</a></li><li><a shape="rect" href="third-party-modules.html">Third Party Modules</a></li></ul></li><li><a shape="rect" href="ioc.html">IoC</a><ul class="childpages-macro"><li><a shape="rect" href="tapestry-ioc-overview.html">Tapestry IoC Overview</a></li><li><a shape="rect" href="tapestry-ioc-modules.html">Tapestry IoC Modules</a></li><li><a shape="rect" href="defining-tapestry-ioc-services.html">Defining Tapestry IOC Services</a></li><li><a shape="rect" href="service-advisors.html">Service Advisors</a></li><li><a shape="rect" href="tapestry-ioc-decorators.html">Tapestry IoC Decorators</a></li><li><a shape="rect" href="tapestry-ioc-configuration.html">Tapestr
 y IoC Configuration</a></li><li><a shape="rect" href="case-insensitivity.html">Case Insensitivity</a></li><li><a shape="rect" href="autoloading-modules.html">Autoloading Modules</a></li><li><a shape="rect" href="service-implementation-reloading.html">Service Implementation Reloading</a></li><li><a shape="rect" href="ordering-by-constraints.html">Ordering by Constraints</a></li><li><a shape="rect" href="symbols.html">Symbols</a></li><li><a shape="rect" href="chainbuilder-service.html">ChainBuilder Service</a></li><li><a shape="rect" href="pipelinebuilder-service.html">PipelineBuilder Service</a></li><li><a shape="rect" href="shadowbuilder-service.html">ShadowBuilder Service</a></li><li><a shape="rect" href="strategybuilder-service.html">StrategyBuilder Service</a></li><li><a shape="rect" href="injection-in-detail.html">Injection in Detail</a></li><li><a shape="rect" href="object-providers.html">Object Providers</a></li><li><a shape="rect" href="service-serialization.html">Service Ser
 ialization</a></li><li><a shape="rect" href="type-coercion.html">Type Coercion</a></li><li><a shape="rect" href="starting-the-ioc-registry.html">Starting the IoC Registry</a></li><li><a shape="rect" href="registry-startup.html">Registry Startup</a></li><li><a shape="rect" href="parallel-execution.html">Parallel Execution</a></li><li><a shape="rect" href="logging-in-tapestry.html">Logging in Tapestry</a></li><li><a shape="rect" href="using-jsr-330-standard-annotations.html">Using JSR 330 standard annotations</a></li><li><a shape="rect" href="operation-tracker.html">Operation Tracker</a></li></ul></li><li><a shape="rect" href="hibernate-core.html">Hibernate - Core</a><ul class="childpages-macro"><li><a shape="rect" href="hibernate-core-conf.html">Hibernate - Core - Conf</a></li><li><a shape="rect" href="hibernate.html">Hibernate</a></li></ul></li><li><a shape="rect" href="integrating-with-spring-framework.html">Integrating with Spring Framework</a></li><li><a shape="rect" href="bean-v
 alidation.html">Bean Validation</a></li><li><a shape="rect" href="component-report.html">Component Report</a></li><li><a shape="rect" href="aliases.html">Aliases</a></li><li><a shape="rect" href="integrating-with-jpa.html">Integrating with JPA</a></li><li><a shape="rect" href="client-side-javascript.html">Client-Side JavaScript</a><ul class="childpages-macro"><li><a shape="rect" href="javascript-modules.html">JavaScript Modules</a></li><li><a shape="rect" href="coffeescript.html">CoffeeScript</a></li><li><a shape="rect" href="legacy-javascript.html">Legacy JavaScript</a></li><li><a shape="rect" href="ajax-and-zones.html">Ajax and Zones</a></li></ul></li></ul></li><li><a shape="rect" href="cheat-sheets.html">Cheat Sheets</a><ul class="childpages-macro"><li><a shape="rect" href="application-module-class-cheat-sheet.html">Application Module Class Cheat Sheet</a></li><li><a shape="rect" href="component-cheat-sheet.html">Component Cheat Sheet</a></li><li><a shape="rect" href="tapestry-fo
 r-jsf-users.html">Tapestry for JSF Users</a></li></ul></li><li><a shape="rect" href="cookbook.html">Cookbook</a><ul class="childpages-macro"><li><a shape="rect" href="default-parameter.html">Default Parameter</a></li><li><a shape="rect" href="overriding-exception-reporting.html">Overriding Exception Reporting</a></li><li><a shape="rect" href="error-page-recipe.html">Error Page Recipe</a></li><li><a shape="rect" href="supporting-informal-parameters.html">Supporting Informal Parameters</a></li><li><a shape="rect" href="component-libraries.html">Component Libraries</a></li><li><a shape="rect" href="switching-cases.html">Switching Cases</a></li><li><a shape="rect" href="enum-parameter-recipe.html">Enum Parameter Recipe</a></li><li><a shape="rect" href="extending-the-if-component.html">Extending the If Component</a></li><li><a shape="rect" href="meta-programming-page-content.html">Meta-Programming Page Content</a></li><li><a shape="rect" href="using-select-with-a-list.html">Using Select 
 With a List</a></li><li><a shape="rect" href="ioc-cookbook.html">IoC cookbook</a><ul class="childpages-macro"><li><a shape="rect" href="ioc-cookbook-basic-services-and-injection.html">IoC Cookbook - Basic Services and Injection</a></li><li><a shape="rect" href="ioc-cookbook-overriding-ioc-services.html">IoC Cookbook - Overriding IoC Services</a></li><li><a shape="rect" href="ioc-cookbook-patterns.html">IoC Cookbook - Patterns</a></li><li><a shape="rect" href="ioc-cookbook-service-configurations.html">IoC cookbook - Service Configurations</a></li></ul></li><li><a shape="rect" href="performance-and-clustering.html">Performance and Clustering</a></li></ul></li><li><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a><ul class="childpages-macro"><li><a shape="rect" href="general-questions.html">General Questions</a></li><li><a shape="rect" href="templating-and-markup-faq.html">Templating and Markup FAQ</a></li><li><a shape="rect" href="page-and-component-
 classes-faq.html">Page And Component Classes FAQ</a></li><li><a shape="rect" href="forms-and-form-components-faq.html">Forms and Form Components FAQ</a></li><li><a shape="rect" href="beaneditform-faq.html">BeanEditForm FAQ</a></li><li><a shape="rect" href="link-components-faq.html">Link Components FAQ</a></li><li><a shape="rect" href="component-events-faq.html">Component Events FAQ</a></li><li><a shape="rect" href="javascript-faq.html">JavaScript FAQ</a></li><li><a shape="rect" href="ajax-components-faq.html">Ajax Components FAQ</a></li><li><a shape="rect" href="injection-faq.html">Injection FAQ</a></li><li><a shape="rect" href="tapestry-inversion-of-control-faq.html">Tapestry Inversion of Control FAQ</a></li><li><a shape="rect" href="security-faq.html">Security FAQ</a></li><li><a shape="rect" href="integration-with-existing-applications.html">Integration with existing applications</a></li><li><a shape="rect" href="request-processing-faq.html">Request Processing FAQ</a></li><li><a s
 hape="rect" href="limitations.html">Limitations</a></li><li><a shape="rect" href="specific-errors-faq.html">Specific Errors FAQ</a></li><li><a shape="rect" href="hibernate-support-faq.html">Hibernate Support FAQ</a></li><li><a shape="rect" href="maven-support-faq.html">Maven Support FAQ</a></li><li><a shape="rect" href="release-upgrade-faq.html">Release Upgrade FAQ</a></li></ul></li><li><a shape="rect" href="release-notes.html">Release Notes</a><ul class="childpages-macro"><li><a shape="rect" href="how-to-upgrade.html">How to Upgrade</a></li><li><a shape="rect" href="release-notes-50.html">Release Notes 5.0</a></li><li><a shape="rect" href="release-notes-51.html">Release Notes 5.1</a></li><li><a shape="rect" href="release-notes-52.html">Release Notes 5.2</a><ul class="childpages-macro"><li><a shape="rect" href="release-notes-520.html">Release Notes 5.2.0</a></li><li><a shape="rect" href="release-notes-521.html">Release Notes 5.2.1</a></li><li><a shape="rect" href="release-notes-522.
 html">Release Notes 5.2.2</a></li><li><a shape="rect" href="release-notes-523.html">Release Notes 5.2.3</a></li><li><a shape="rect" href="release-notes-524.html">Release Notes 5.2.4</a></li><li><a shape="rect" href="release-notes-525.html">Release Notes 5.2.5</a></li><li><a shape="rect" href="release-notes-526.html">Release Notes 5.2.6</a></li></ul></li><li><a shape="rect" href="release-notes-53.html">Release Notes 5.3</a></li><li><a shape="rect" href="release-notes-531.html">Release Notes 5.3.1</a></li><li><a shape="rect" href="release-notes-532.html">Release Notes 5.3.2</a></li><li><a shape="rect" href="release-notes-533.html">Release Notes 5.3.3</a></li><li><a shape="rect" href="release-notes-534.html">Release Notes 5.3.4</a></li><li><a shape="rect" href="release-notes-535.html">Release Notes 5.3.5</a></li><li><a shape="rect" href="release-notes-536.html">Release Notes 5.3.6</a></li><li><a shape="rect" href="release-notes-537.html">Release Notes 5.3.7</a></li><li><a shape="rect" 
 href="release-notes-54.html">Release Notes 5.4</a></li><li><a shape="rect" href="release-notes-538.html">Release notes 5.3.8</a></li></ul></li><li><a shape="rect" href="javascript-rewrite-in-54.html">JavaScript Rewrite in 5.4</a></li><li><a shape="rect" href="support.html">Support</a></li><li><a shape="rect" href="developer-information.html">Developer Information</a><ul class="childpages-macro"><li><a shape="rect" href="building-tapestry-from-source.html">Building Tapestry from Source</a></li><li><a shape="rect" href="confluence-site-setup.html">Confluence Site Setup</a><ul class="childpages-macro"><li><a shape="rect" href="since-and-deprecated-user-macros.html">Since and Deprecated User Macros</a></li></ul></li><li><a shape="rect" href="developer-bible.html">Developer Bible</a></li><li><a shape="rect" href="release-process.html">Release Process</a></li><li><a shape="rect" href="the-tapestry-jail.html">The tapestry jail</a></li><li><a shape="rect" href="version-numbers.html">Version
  Numbers</a></li></ul></li></ul></div><p>Welcome to the Tapestry 5 Documentation. A rich collection of guides is available to teach beginners the basics and help even experienced developers deepen their understanding of Tapestry's power. <em>Code less, deliver more!</em></p><h1 id="Documentation-Highlights">Highlights</h1><p>These are the most useful starting points for common needs.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="introduction.html">Introduction</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>An overview of Tapestry's general approach and philosophy</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="getting-started.html">Getting Started</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A quick guide to creating your first Tapestry project, using Maven</p></td></tr><tr><td colspan="1" rowspan="1" class="c
 onfluenceTd"><p><a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Picks up where <em>Getting Started</em> leaves off, explaining in greater detail how Tapestry works</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="user-guide.html">User Guide</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Detailed articles on every Tapestry feature</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="community.html">Community</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Getting support, mailing lists, JIRA, outside resources, and access to the source</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="cookbook.html">Cookbook</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Guides to doing common things with Tapestry</p></td></tr><tr><td colspan="1" rowspan
 ="1" class="confluenceTd"><p><strong><a shape="rect" href="frequently-asked-questions.html">FAQ</a></strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A quick place to check for common problems and solutions</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="component-cheat-sheet.html">Component Cheat Sheet</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A concise guide to component classes, methods and annotations</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://refcardz.dzone.com/refcardz/apache-tapestry-50?oid=hom7948" >Refcard</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A color, six page foldout guide to Tapestry 5.0 (PDF)</p></td></tr></tbody></table></div><h1 id="Documentation-APIandComponentReference">API and Component Reference</h1><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
 rowspan="1" class="confluenceTh"><p>API (Javadoc):</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>5.0<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.1<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.2<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/">5.3.7 (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" class="external-link" href="http://tapestry.apache.org/5.4/">5.4 (beta)</a></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Component Reference:</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>5.0<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.1<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5.2<sup>1</sup></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="comp
 onent-reference.html">5.3.7 (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd">same as current</td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Release Notes:</p></th><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-50.html">5.0</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-51.html">5.1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes-52.html">5.2</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="release-notes.html">5.3.7 (current)</a></p></td><td colspan="1" rowspan="1" class="confluenceTd">not yet available</td></tr></tbody></table></div><p><sup>1</sup> needs to be built manually from archived sources at <a shape="rect" class="external-link" href="http://archive.apache.org/dist/tapestry/">http://archive.apache.org/dist/tapestry/</a>.</p><h1 id="Documentation-UserGuide"
 >User Guide</h1><p><span class="confluence-anchor-link" id="Documentation-userguide"></span>The <a shape="rect" href="user-guide.html">User Guide</a> consists of over 75 pages of detailed information on the concepts behind Tapestry and instructions on how to use this powerful tool. Highlights include:</p><ul><li><a shape="rect" href="legacy-javascript.html">Legacy JavaScript</a> and <a shape="rect" href="ajax-and-zones.html">Ajax and Zones</a> describe Tapestry's built-in support for dynamic in-page behavior.</li><li><a shape="rect" href="integrating-with-spring-framework.html">Integrating with Spring Framework</a> describes how to integrate Spring into your Tapestry application.</li><li><a shape="rect" href="hibernate.html">Tapestry/Hibernate Integration Library</a> provides out-of-the-box support for using Hibernate 3.</li><li><a shape="rect" href="bean-validation.html">JSR 303: Bean Validation</a> shows how to use standard annotations for validation</li><li><a shape="rect" href="
 integration-testing.html">Integration Testing</a> shows how to test your application with Selenium.</li></ul><p><a shape="rect" href="user-guide.html">More topics</a>...</p><h1 id="Documentation-BlogsbyTapestryDevelopersandtheCommunity">Blogs by Tapestry Developers and the Community</h1><ul><li><a shape="rect" class="external-link" href="http://tapestryjava.blogspot.com/" >Tapestry Central</a> is Howard Lewis Ship's blog. As the creator of Tapestry, he provides valuable insights into Tapestry's latest features and future directions.</li><li><a shape="rect" class="external-link" href="http://blog.tapestry5.de/" >Igor Drobiazko's blog</a> (committer &amp; PMC) contains news on Tapestry development and will guide you through some of the most exciting parts of Tapestry.</li><li><a shape="rect" class="external-link" href="http://tawus.wordpress.com/" >Java Magic</a> (by Taha Hafeez, committer) has a series of tutorials illustrating some of the more advanced Tapestry and Plastic features 
 and techniques.</li><li><a shape="rect" class="external-link" href="http://blog.andyhot.gr/tag/tapestry/" >Andreas Andreou's blog</a> (committer &amp; PMC) has news and commentary on Tapestry.</li><li><a shape="rect" class="external-link" href="http://spreadthesource.com/" >Spread the Source blog</a> (Christophe Cordenier and Robin Komiwes) has news and advanced tutorials on Tapestry 5.</li></ul><h1 id="Documentation-BooksonTapestry">Books on Tapestry</h1><p>There are at least 8 published <a shape="rect" href="books.html">books on Tapestry</a>, including two on Tapestry 5 &#8212; and more on the way.</p><h1 id="Documentation-ArticlesonTapestry">Articles on Tapestry</h1><ul><li>This <a shape="rect" class="external-link" href="http://www.laliluna.de/articles/the-web-framework-evaluation.html" >eBook</a> published in 2009 contains a <a shape="rect" class="external-link" href="http://www.laliluna.de/articles/2009/08/14/tapestry-web-framework-evaluation-and-test.html" >good introduction 
 and analysis of Tapestry 5</a></li></ul><ul><li><a shape="rect" class="external-link" href="http://www.infoq.com/articles/tapestry5-intro" >Tapestry 5 for Nonbelievers</a> will convince the skeptical why Tapestry is the best web framework.</li></ul><p><a shape="rect" href="articles.html">More articles</a>...</p><h1 id="Documentation-TapestryPresentations">Tapestry Presentations</h1><ul><li>Mark W. Shead's <a shape="rect" class="external-link" href="http://blog.markwshead.com/900/tapestry-5-10-minute-demo/" >10 Minute Demo</a></li><li>H. L. Ship's <a shape="rect" class="external-link" href="https://www.youtube.com/watch?v=5BGt7eMFC20" >Tapestry 5.4 - Bootstrap-enhanced Exception Reporting</a></li><li><a shape="rect" class="external-link" href="http://jazoon.com/Portals/0/Content/slides/th_a7_1130-1220_drobiazko.pdf" >JavaServer Faces 2.0 vs. Tapestry 5</a> (PDF) A Head-to-Head Comparison by Igor Drobiazko at Jazoon 2010</li><li><a shape="rect" class="external-link" href="http://www.p
 arleys.com/#st=5&amp;sl=5&amp;id=1700" >Tapestry 5: Java power, Scripting Ease</a> (VIDEO) by Howard Lewis Ship at Devoxx 2009</li></ul><p><a shape="rect" href="presentations.html">More presentations</a> ...</p><h1 id="Documentation-TapestryWikis">Tapestry Wikis</h1><ul><li><a shape="rect" class="external-link" href="http://wiki.apache.org/tapestry/FrontPage">Tapestry Community Wiki</a> (Moin Moin) contains a lot of user-generated information on different Tapestry use cases.</li><li><a shape="rect" href="https://cwiki.apache.org/confluence/x/VCFkAQ">Documentation Source wiki</a> (Confluence) &#8211; the wiki used as the content editor for the official Tapestry documentation</li></ul><h1 id="Documentation-Gettinghelp">Getting help</h1><p>The primary method of support is the <a shape="rect" href="mailing-lists.html">Tapestry Mailing Lists</a>.</p><p>In addition, there are occasionally questions and answers about Tapestry at <a shape="rect" class="external-link" href="http://stackoverf
 low.com/questions/tagged/tapestry" >Stack Overflow</a>.</p><h1 id="Documentation-TheDeveloperCorner">The Developer Corner</h1><p><a shape="rect" href="developer-information.html">Developer Information</a> gives information needed by the Tapestry developers</p><p>&#160;</p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/dom.html
==============================================================================
--- websites/production/tapestry/content/dom.html (original)
+++ websites/production/tapestry/content/dom.html Sat Jun 27 21:21:02 2015
@@ -27,16 +27,6 @@
   </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 type="text/javascript">
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all();
-  </script>
 
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
 
@@ -55,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><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"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">DOM</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 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">DOM</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -68,20 +58,13 @@
 
 <div id="content">
 <div id="ConfluenceContent"><h1 id="DOM-DocumentObjectModel">Document Object Model</h1><p>Tapestry 5 takes a very different approach to markup generation than most other frameworks. Components render out a Document Object Model (DOM). This is a tree of nodes representing elements, attributes and text within a document.</p><p>Once all rendering is complete, the DOM tree is streamed to the client.</p><p>The <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/MarkupWriter.html">MarkupWriter</a> interface allows the majority of component code to treat the generation of output as a stream. In reality, MarkupWriter is more like a cursor into the DOM tree, and the DOM may ultimately be operated upon in a random access manner (rather than the serial (or buffered) approach used in Tapestry 4).</p><div class="navmenu" style="float:right; width:30%; background:white; margin:3px; padding:3px">
-    <div class="aui-message hint shadowed information-macro">
-                    <p class="title">A Note For Tapestry 4 Users</p>
-                            <span class="aui-icon icon-hint">Icon</span>
-                <div class="message-content">
-                            
-<p>In Tapestry 4, markup generation was based on generating a character stream. At the lowest level, the fact that the output was in a markup format such as HTML, XHTML or WML was not known. Higher levels, such as the IMarkupWriter interface (and its implementations) provide the concept of markup generation: elements, attributes, start tags and end tags. This technique breaks down when two elements are peers, and not in a parent/child relationship. For example, the rendering of a FieldLabel component is affected by its companion TextField component. Handling these cases in Tapestry 4 required a number of kludges and special cases.</p>
-                    </div>
-    </div>
-</div><h1 id="DOM-DOMClasses">DOM Classes</h1><p>The implementation of this DOM is part of Tapestry, despite the fact that several third-party alternatives exist. This represents a desire to limit dependencies for the framework, but also the Tapestry DOM is streamlined for initial creation, and a limited amount of subsequent modification. Most DOM implementations are more sophisticated than needed for Tapestry, with greater support for querying (often using XPath) and manipulation.</p><p>Once the Document object is created, you don't directly create new DOM objects; instead, each DOM object includes methods that create new sub-objects. This primarily applies to the Element class, which can be a container of text, comments and other elements.</p><h2 id="DOM-Document">Document</h2><p>The <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/dom/Document.html">Document Object</a> represents the an entire document, which is to say, a
 n entire response to be sent to the client.</p><p>Documents will have a single root element. The newRootElement() method is used to create the root element for the document.</p><p>The Document class also has methods for setting and getting the DTD, adding comments and text, and finding an element based on a path of element names.</p><h2 id="DOM-Element">Element</h2><p>An <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/dom/Element.html">Element Object</a> represents an element of the document. Elements may have attributes, and they may themselves contain other elements, as well as text and comments.</p><p>The Element class has methods for searching, traversing and manipulating the DOM after it is built.</p><h1 id="DOM-DOMManipulation/Rewriting">DOM Manipulation/Rewriting</h1><p>A powerful feature of Tapestry 5 is the ability to manipulate the structure and ordering of the DOM after it has been rendered. For example, this can
  be used to alter the output of a component that may otherwise be outside of your control.</p><p>DOM manipulation is surprisingly fast, too.</p><p>Methods on Node (and Element, which is a subclass of Node) allow an existing node to be moved relative to an Element. Nodes may be moved before or after the Element, or may be moved inside an Element at the top (the first child) or the bottom (the last child).</p><p>Element's <code>attribute</code> method adds a new attribute name/value pair to the Element. If an existing attribute with the specified name already exists, then then the new value is ignored. This has implications when different pieces of code try to add attributes to an Element ... the first to add an attribute will "win". Conversely, the <code>forceAttributes</code> method can be used to update or remove an attribute.</p><p>In addition, the children of an Element may be removed or a Node (and all of its children) removed entirely.</p><p>Finally, an Element may "pop": the E
 lement is removed and replaced with its children.</p><h1 id="DOM-MarkupWriter">MarkupWriter</h1><p>The <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/MarkupWriter.html">MarkupWriter interface</a> allows the structure of the document to be built while maintaining a streaming metaphor.</p><h2 id="DOM-element()andend()methods">element() and end() methods</h2><p>Calls to element() create a new element within the tree, and may provide attributes for the new element as well. Calls to write(), writeln() and writef() write text nodes within the current element. <em>Every call to element() should be matched with a call to end()</em>, which is used to move the current node up one level.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[  writer.element(&quot;img&quot;, &quot;src&quot;, &quot;icon.png&quot;, &quot;width&quot;, 20, &quot;height&quot;, 20, alt, &quot;*&quot;);
+<div class="confluence-information-macro confluence-information-macro-information"><p class="title">A Note For Tapestry 4 Users</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body">
+<p>In Tapestry 4, markup generation was based on generating a character stream. At the lowest level, the fact that the output was in a markup format such as HTML, XHTML or WML was not known. Higher levels, such as the IMarkupWriter interface (and its implementations) provide the concept of markup generation: elements, attributes, start tags and end tags. This technique breaks down when two elements are peers, and not in a parent/child relationship. For example, the rendering of a FieldLabel component is affected by its companion TextField component. Handling these cases in Tapestry 4 required a number of kludges and special cases.</p></div></div></div><h1 id="DOM-DOMClasses">DOM Classes</h1><p>The implementation of this DOM is part of Tapestry, despite the fact that several third-party alternatives exist. This represents a desire to limit dependencies for the framework, but also the Tapestry DOM is streamlined for initial creation, and a limited amount of subsequent modification. Mo
 st DOM implementations are more sophisticated than needed for Tapestry, with greater support for querying (often using XPath) and manipulation.</p><p>Once the Document object is created, you don't directly create new DOM objects; instead, each DOM object includes methods that create new sub-objects. This primarily applies to the Element class, which can be a container of text, comments and other elements.</p><h2 id="DOM-Document">Document</h2><p>The <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/dom/Document.html">Document Object</a> represents the an entire document, which is to say, an entire response to be sent to the client.</p><p>Documents will have a single root element. The newRootElement() method is used to create the root element for the document.</p><p>The Document class also has methods for setting and getting the DTD, adding comments and text, and finding an element based on a path of element names.</p><h2 id="
 DOM-Element">Element</h2><p>An <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/dom/Element.html">Element Object</a> represents an element of the document. Elements may have attributes, and they may themselves contain other elements, as well as text and comments.</p><p>The Element class has methods for searching, traversing and manipulating the DOM after it is built.</p><h1 id="DOM-DOMManipulation/Rewriting">DOM Manipulation/Rewriting</h1><p>A powerful feature of Tapestry 5 is the ability to manipulate the structure and ordering of the DOM after it has been rendered. For example, this can be used to alter the output of a component that may otherwise be outside of your control.</p><p>DOM manipulation is surprisingly fast, too.</p><p>Methods on Node (and Element, which is a subclass of Node) allow an existing node to be moved relative to an Element. Nodes may be moved before or after the Element, or may be moved inside an Elem
 ent at the top (the first child) or the bottom (the last child).</p><p>Element's <code>attribute</code> method adds a new attribute name/value pair to the Element. If an existing attribute with the specified name already exists, then then the new value is ignored. This has implications when different pieces of code try to add attributes to an Element ... the first to add an attribute will "win". Conversely, the <code>forceAttributes</code> method can be used to update or remove an attribute.</p><p>In addition, the children of an Element may be removed or a Node (and all of its children) removed entirely.</p><p>Finally, an Element may "pop": the Element is removed and replaced with its children.</p><h1 id="DOM-MarkupWriter">MarkupWriter</h1><p>The <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/MarkupWriter.html">MarkupWriter interface</a> allows the structure of the document to be built while maintaining a streaming metapho
 r.</p><h2 id="DOM-element()andend()methods">element() and end() methods</h2><p>Calls to element() create a new element within the tree, and may provide attributes for the new element as well. Calls to write(), writeln() and writef() write text nodes within the current element. <em>Every call to element() should be matched with a call to end()</em>, which is used to move the current node up one level.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[  writer.element(&quot;img&quot;, &quot;src&quot;, &quot;icon.png&quot;, &quot;width&quot;, 20, &quot;height&quot;, 20, alt, &quot;*&quot;);
   writer.end();
 ]]></script>
 </div></div><p>Note that end() must be called here, even though the &lt;img&gt; element is empty (has no body). If the call to end() is omitted, then later elements created by calls to element() will be nested <em>inside</em> the &lt;img&gt; element, which is not desired.</p><p>Again, <strong>every call to element() must be matched with a call to end()</strong>:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[  writer.element(&quot;select&quot;, &quot;name&quot;, &quot;choice&quot;);
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[  writer.element(&quot;select&quot;, &quot;name&quot;, &quot;choice&quot;);
   
   for (String name : optionsNames)
   {
@@ -93,7 +76,7 @@
   writer.end();
 ]]></script>
 </div></div><h2 id="DOM-attributes()">attributes()</h2><p>Adds additional name/value pairs to the current element.</p><p>When a value is null, no attribute is added.</p><p>When a new name conflicts with an existing name, the new value is ignored. This gives precedence to the first value specified for an attribute over any subsequent value.</p><h2 id="DOM-write()">write()</h2><p>The write() method writes text inside the current element. It scans the provided text for XML control characters ('&lt;', '&gt;', and '&amp;') and converts them to their XML entity equivalents ('&lt;', '&gt;', and '&amp;'). The result is correct, safe, HTML/XML output even when the content (which may come from a template, or from an external source such as a database) contains such problematic characters.</p><h2 id="DOM-writef()">writef()</h2><p>The writef() method formats an number of arguments. It uses a java.util.Formatter. It is a convenience for formatting that ultimately invokes write().</p><h2 id="DOM-
 writeRaw()">writeRaw()</h2><p>The writeRaw() method writes unfiltered text into the DOM. When the DOM is rendered to markup, the provided string is written to the output stream exactly as-is. Care should be taken, as this can easily result invalid markup, or even markup that is not well formed.</p><h2 id="DOM-comment()">comment()</h2><p>Adds an XML comment. The comment delimiters will be supplied by Tapestry:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[  writer.comment(&quot;Start of JS Menu code&quot;);
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[  writer.comment(&quot;Start of JS Menu code&quot;);
   
 ]]></script>
 </div></div></div>

Modified: websites/production/tapestry/content/download.html
==============================================================================
--- websites/production/tapestry/content/download.html (original)
+++ websites/production/tapestry/content/download.html Sat Jun 27 21:21:02 2015
@@ -27,15 +27,6 @@
   </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 type="text/javascript">
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all();
-  </script>
 
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
 
@@ -54,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><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"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Download</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 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">Download</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -66,28 +57,22 @@
   </div>
 
 <div id="content">
-<div id="ConfluenceContent"><p>Tapestry can be downloaded in either binary or source format.</p>    <div class="aui-message hint shadowed information-macro">
-                            <span class="aui-icon icon-hint">Icon</span>
-                <div class="message-content">
-                            <p>The easiest way to download Tapestry and its dependencies is using Maven, as described in <a shape="rect" href="getting-started.html">Getting Started</a>.</p>
-                    </div>
-    </div>
-<p>See the <a shape="rect" href="release-notes.html">Release Notes</a> for differences between versions and how to upgrade.</p><h1 id="Download-StableReleases">Stable Releases</h1><p>Stable releases should be relatively free of critical bugs and are considered the <em>safest</em> option if stability is a requirement.</p><h2 id="Download-Tapestry5.3.x">Tapestry 5.3.x</h2><p>Tapestry 5.3.8 was released on 20 Nov 2014. See the <a shape="rect" href="release-notes-538.html">release notes</a> for more details.</p><p>Note that the <em>recommended</em> distribution method of binary and source JARs is via Maven repository. Binaries, source code, and Javadocs are also available as a zip archive.</p><div class="sectionColumnWrapper"><div class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Tapestry 5.3.8</p></th><th colspan="1" rowspan="1" class="confluenc
 eTh"><p>Mirrors</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Signature</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Binary (zip)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.3.8-bin.zip">Download</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/tapestry/apache-tapestry-5.3.8-bin.zip.asc">ASC</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0509cda0f16f96a0ddca9351ec80a59d</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source (zip)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.3.8-sources.zip">Download</a></p></td><td col
 span="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/tapestry/apache-tapestry-5.3.8-sources.zip.asc">ASC</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>6de96428545fd235389c51d8e1d9008a</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Javadoc (zip)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.3.8-javadocs.zip">Download</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/tapestry/apache-tapestry-5.3.8-javadocs.zip.asc">ASC</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>f1ba1d4fa6fcbd10467aa5b803a5a001</p></td></tr></tbody></table></div></div><div class="columnMacro"><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="b
 order-bottom-width: 1px;"><b>Maven Dependency</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
+<div id="ConfluenceContent"><p>Tapestry can be downloaded in either binary or source format.</p><div class="confluence-information-macro confluence-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The easiest way to download Tapestry and its dependencies is using Maven, as described in <a shape="rect" href="getting-started.html">Getting Started</a>.</p></div></div><p>See the <a shape="rect" href="release-notes.html">Release Notes</a> for differences between versions and how to upgrade.</p><h1 id="Download-StableReleases">Stable Releases</h1><p>Stable releases should be relatively free of critical bugs and are considered the <em>safest</em> option if stability is a requirement.</p><h2 id="Download-Tapestry5.3.x">Tapestry 5.3.x</h2><p>Tapestry 5.3.8 was released on 20 Nov 2014. See the <a shape="rect" href="release-notes-538.html">release notes</a> for more 
 details.</p><p>Note that the <em>recommended</em> distribution method of binary and source JARs is via Maven repository. Binaries, source code, and Javadocs are also available as a zip archive.</p><div class="sectionColumnWrapper"><div class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Tapestry 5.3.8</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Mirrors</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Signature</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Binary (zip)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.3.8-bin.zip">Download</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
  class="external-link" href="http://www.apache.org/dist/tapestry/apache-tapestry-5.3.8-bin.zip.asc">ASC</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>0509cda0f16f96a0ddca9351ec80a59d</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source (zip)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.3.8-sources.zip">Download</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/tapestry/apache-tapestry-5.3.8-sources.zip.asc">ASC</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>6de96428545fd235389c51d8e1d9008a</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Javadoc (zip)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/tapestry/apa
 che-tapestry-5.3.8-javadocs.zip">Download</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/tapestry/apache-tapestry-5.3.8-javadocs.zip.asc">ASC</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>f1ba1d4fa6fcbd10467aa5b803a5a001</p></td></tr></tbody></table></div></div><div class="columnMacro"><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Maven Dependency</b></div><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.tapestry&lt;/groupId&gt;
   &lt;artifactId&gt;tapestry-core&lt;/artifactId&gt;
   &lt;version&gt;5.3.8&lt;/version&gt;
 &lt;/dependency&gt;
 ]]></script>
 </div></div></div></div></div></div><p><span style="line-height: 1.5;color: rgb(83,145,38);font-size: 20.0px;"><br clear="none"></span></p><p><span style="line-height: 1.5;color: rgb(83,145,38);font-size: 20.0px;">Archives</span></p><p>Looking for an older version of Tapestry? Try the <a shape="rect" class="external-link" href="http://archive.apache.org/dist/tapestry/">archives</a>.</p><h1 id="Download-ReleasesUnderDevelopment">Releases Under Development</h1><p>Releases under development are less stable; <em>alpha</em> releases are often incomplete; <em>beta</em> releases occur in the lead up to creation of a stable release.</p><p>Tapestry 5.4 is under <a shape="rect" class="external-link" href="https://git1-us-west.apache.org/repos/asf?p=tapestry-5.git;a=shortlog">active development</a>. There have been a series beta releases so far, and several have been voted for general release. The most recent is <strong>5.4-beta-26</strong>.</p><p>&#160;</p><div class="sectionColumnWrapper"><d
 iv class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Tapestry 5.4-beta-26</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Mirrors</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Signature</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Binary (zip)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.4-beta-26-bin.zip">Download</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/tapestry/apache-tapestry-5.4-beta-26-bin.zip.asc">ASC</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>9f3765a4712818389765a69e561fb25e</p></td></tr><
 tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source (zip)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.4-beta-26-sources.zip">Download</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/tapestry/apache-tapestry-5.4-beta-26-sources.zip.asc">ASC</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>52956107049086841b02ecdb18e93b60</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>API Docs (zip)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/tapestry/apache-tapestry-5.4-beta-26-apidocs.zip">Download</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/tapestry/apache-tape
 stry-5.4-beta-26-apidocs.zip.asc">ASC</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>f730230c5850480b211780c0dce702fa</p></td></tr></tbody></table></div></div><div class="columnMacro"><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Maven Dependency</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.tapestry&lt;/groupId&gt;
   &lt;artifactId&gt;tapestry-core&lt;/artifactId&gt;
   &lt;version&gt;5.4-beta-26&lt;/version&gt;
 &lt;/dependency&gt;
 ]]></script>
 </div></div></div></div></div></div><p>Nightly snapshot binaries are also available in Apache's Nexus <a shape="rect" class="external-link" href="https://repository.apache.org">Maven repository</a> under the subdirectories of <a shape="rect" class="external-link" href="https://repository.apache.org/content/repositories/snapshots/org/apache/tapestry">https://repository.apache.org/content/repositories/snapshots/org/apache/tapestry</a>. Please be aware that nightly snapshots have not been reviewed and may have significant stability problems from time to time.</p><h1 id="Download-Downloadsources">Download sources</h1><p>The source download links are listed in the boxes above. In addition, the source code can be checked out anonymously from Git with the <a shape="rect" class="external-link" href="http://gitref.org/creating/#clone" >clone</a> command:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[git clone  http://git-wip-us.apache.org/repos/asf/tapestry-5.git
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[git clone  http://git-wip-us.apache.org/repos/asf/tapestry-5.git
 ]]></script>
 </div></div><p>(See <a shape="rect" href="building-tapestry-from-source.html">Building Tapestry from Source</a> for more info.)</p><p>Versions 5.3.2 and earlier are also available via Subversion, at <a shape="rect" class="external-link" href="https://svn.apache.org/repos/asf/tapestry/tapestry5/trunk/">https://svn.apache.org/repos/asf/tapestry/tapestry5/trunk/</a></p><h2 id="Download-Accessfrombehindafirewall">Access from behind a firewall</h2><p>Refer to the documentation of your Git client for more information about access behind a firewall. Generally this requires configuring access through a proxy (by specifying the proxy host and port) or opening up a port on the firewall.</p></div>
 </div>

Modified: websites/production/tapestry/content/downloadboxes.html
==============================================================================
--- websites/production/tapestry/content/downloadboxes.html (original)
+++ websites/production/tapestry/content/downloadboxes.html Sat Jun 27 21:21:02 2015
@@ -45,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><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"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">downloadBoxes</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 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">downloadBoxes</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/enum-parameter-recipe.html
==============================================================================
--- websites/production/tapestry/content/enum-parameter-recipe.html (original)
+++ websites/production/tapestry/content/enum-parameter-recipe.html Sat Jun 27 21:21:02 2015
@@ -27,16 +27,6 @@
   </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 type="text/javascript">
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all();
-  </script>
 
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
 
@@ -55,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><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"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Enum Parameter Recipe</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" 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">Enum Parameter Recipe</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -87,7 +77,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>Let's start with the enum type itself:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>BlankOption.java</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 public enum BlankOption
 {
     /**
@@ -111,7 +101,7 @@ public enum BlankOption
 <p>Next, we define the parameter:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Select.java (partial)</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 
     /**
      * Controls whether an additional blank option is provided. The blank option precedes all other options and is never
@@ -128,7 +118,7 @@ public enum BlankOption
 <p>The final piece of the puzzle is to inform Tapestry how to convert from a string, such as "never", to a BlankOption value.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>TapestryModule.java (partial)</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
     public static void contributeTypeCoercer(Configuration&lt;CoercionTuple&gt; configuration)
     {
        . . .