Author: buildbot
Date: Sat Jan 30 21:20:37 2021
New Revision: 1070732

Log:
Production update by buildbot for tapestry

Added:
    websites/production/tapestry/content/release-notes-562.html
    websites/production/tapestry/content/release-notes-570.html
Modified:
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/documentation.html
    websites/production/tapestry/content/error-page-recipe.html
    websites/production/tapestry/content/extending-the-if-component.html

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

Modified: websites/production/tapestry/content/documentation.html
==============================================================================
--- websites/production/tapestry/content/documentation.html (original)
+++ websites/production/tapestry/content/documentation.html Sat Jan 30 21:20:37 
2021
@@ -142,7 +142,7 @@
             
             <!-- /// Content Start -->
             <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 
href="introduction.html">Introduction</a></li><li><a 
href="getting-started.html">Getting Started</a></li><li><a 
href="principles.html">Principles</a></li><li><a 
href="tapestry-tutorial.html">Tapestry Tutorial</a><ul 
class="childpages-macro"><li><a 
href="dependencies-tools-and-plugins.html">Dependencies, Tools and 
Plugins</a></li><li><a href="creating-the-skeleton-application.html">Creating 
The Skeleton Application</a></li><li><a 
href="exploring-the-project.html">Exploring the Project</a></li><li><a 
href="implementing-the-hi-lo-guessing-game.html">Implementing the Hi-Lo 
Guessing Game</a></li><li><a 
href="using-beaneditform-to-create-user-forms.html">Using BeanEditForm To 
Create User Forms</a></li><li><a 
href="using-tapestry-with-hibernate.html">Using Tapestry With 
Hibernate</a></li></ul></li><li><a href="u
 ser-guide.html">User Guide</a><ul class="childpages-macro"><li><a 
href="supported-environments-and-versions.html">Supported Environments and 
Versions</a></li><li><a href="project-layout.html">Project 
Layout</a></li><li><a href="configuration.html">Configuration</a></li><li><a 
href="runtime-exceptions.html">Runtime Exceptions</a></li><li><a 
href="class-reloading.html">Class Reloading</a></li><li><a 
href="component-reference.html">Component Reference</a></li><li><a 
href="annotations.html">Annotations</a></li><li><a 
href="component-classes.html">Component Classes</a></li><li><a 
href="component-templates.html">Component Templates</a></li><li><a 
href="property-expressions.html">Property Expressions</a></li><li><a 
href="component-parameters.html">Component Parameters</a></li><li><a 
href="parameter-type-coercion.html">Parameter Type Coercion</a></li><li><a 
href="layout-component.html">Layout Component</a></li><li><a 
href="component-mixins.html">Component Mixins</a><ul class="childpages-mac
 ro"><li><a href="built-in-mixins.html">Built-in 
Mixins</a></li></ul></li><li><a href="page-navigation.html">Page 
Navigation</a></li><li><a href="localization.html">Localization</a></li><li><a 
href="page-life-cycle.html">Page Life Cycle</a></li><li><a 
href="request-processing.html">Request Processing</a></li><li><a 
href="component-rendering.html">Component Rendering</a></li><li><a 
href="component-events.html">Component Events</a></li><li><a 
href="url-rewriting.html">URL rewriting</a></li><li><a 
href="dom.html">DOM</a></li><li><a href="response-compression.html">Response 
Compression</a></li><li><a href="security.html">Security</a></li><li><a 
href="https.html">HTTPS</a></li><li><a 
href="content-type-and-markup.html">Content Type and Markup</a></li><li><a 
href="persistent-page-data.html">Persistent Page Data</a></li><li><a 
href="session-storage.html">Session Storage</a><ul 
class="childpages-macro"><li><a href="clustering-issues.html">Clustering 
Issues</a></li></ul></li><li><a href="inje
 ction.html">Injection</a></li><li><a 
href="environmental-services.html">Environmental Services</a></li><li><a 
href="css.html">CSS</a></li><li><a href="assets.html">Assets</a></li><li><a 
href="forms-and-validation.html">Forms and Validation</a></li><li><a 
href="beaneditform-guide.html">BeanEditForm Guide</a></li><li><a 
href="uploading-files.html">Uploading Files</a></li><li><a 
href="logging.html">Logging</a></li><li><a 
href="unit-testing-pages-or-components.html">Unit testing pages or 
components</a></li><li><a href="integration-testing.html">Integration 
Testing</a></li><li><a href="development-dashboard.html">Development 
Dashboard</a></li><li><a href="modules.html">Modules</a><ul 
class="childpages-macro"><li><a href="built-in-modules.html">Built In 
Modules</a></li><li><a href="third-party-modules.html">Third Party 
Modules</a></li></ul></li><li><a href="ioc.html">IOC</a><ul 
class="childpages-macro"><li><a href="tapestry-ioc-overview.html">Tapestry IoC 
Overview</a></li><li><a href="tap
 estry-ioc-modules.html">Tapestry IoC Modules</a></li><li><a 
href="defining-tapestry-ioc-services.html">Defining Tapestry IOC 
Services</a></li><li><a href="service-advisors.html">Service 
Advisors</a></li><li><a href="tapestry-ioc-decorators.html">Tapestry IoC 
Decorators</a></li><li><a href="tapestry-ioc-configuration.html">Tapestry IoC 
Configuration</a></li><li><a href="case-insensitivity.html">Case 
Insensitivity</a></li><li><a href="autoloading-modules.html">Autoloading 
Modules</a></li><li><a href="service-implementation-reloading.html">Service 
Implementation Reloading</a></li><li><a 
href="ordering-by-constraints.html">Ordering by Constraints</a></li><li><a 
href="symbols.html">Symbols</a></li><li><a 
href="chainbuilder-service.html">ChainBuilder Service</a></li><li><a 
href="pipelinebuilder-service.html">PipelineBuilder Service</a></li><li><a 
href="shadowbuilder-service.html">ShadowBuilder Service</a></li><li><a 
href="strategybuilder-service.html">StrategyBuilder Service</a></li><li><
 a href="injection-in-detail.html">Injection in Detail</a></li><li><a 
href="object-providers.html">Object Providers</a></li><li><a 
href="service-serialization.html">Service Serialization</a></li><li><a 
href="type-coercion.html">Type Coercion</a></li><li><a 
href="starting-the-ioc-registry.html">Starting the IoC Registry</a></li><li><a 
href="registry-startup.html">Registry Startup</a></li><li><a 
href="parallel-execution.html">Parallel Execution</a></li><li><a 
href="logging-in-tapestry.html">Logging in Tapestry</a></li><li><a 
href="using-jsr-330-standard-annotations.html">Using JSR 330 standard 
annotations</a></li><li><a href="operation-tracker.html">Operation 
Tracker</a></li></ul></li><li><a href="hibernate-core.html">Hibernate - 
Core</a><ul class="childpages-macro"><li><a 
href="hibernate-core-conf.html">Hibernate - Core - Conf</a></li><li><a 
href="hibernate.html">Hibernate</a></li><li><a 
href="hibernate-user-guide.html">Hibernate User Guide</a></li></ul></li><li><a 
href="integrating-w
 ith-spring-framework.html">Integrating with Spring Framework</a></li><li><a 
href="bean-validation.html">Bean Validation</a></li><li><a 
href="component-report.html">Component Report</a></li><li><a 
href="aliases.html">Aliases</a></li><li><a 
href="integrating-with-jpa.html">Integrating with JPA</a></li><li><a 
href="client-side-javascript.html">Client-Side JavaScript</a><ul 
class="childpages-macro"><li><a href="javascript-modules.html">JavaScript 
Modules</a></li><li><a href="coffeescript.html">CoffeeScript</a></li><li><a 
href="typescript.html">TypeScript</a></li><li><a 
href="legacy-javascript.html">Legacy JavaScript</a></li><li><a 
href="ajax-and-zones.html">Ajax and Zones</a></li></ul></li></ul></li><li><a 
href="cheat-sheets.html">Cheat Sheets</a><ul class="childpages-macro"><li><a 
href="application-module-class-cheat-sheet.html">Application Module Class Cheat 
Sheet</a></li><li><a href="component-cheat-sheet.html">Component Cheat 
Sheet</a></li><li><a href="tapestry-for-jsf-users.html">T
 apestry for JSF Users</a></li></ul></li><li><a 
href="cookbook.html">Cookbook</a><ul class="childpages-macro"><li><a 
href="default-parameter.html">Default Parameter</a></li><li><a 
href="overriding-exception-reporting.html">Overriding Exception 
Reporting</a></li><li><a href="error-page-recipe.html">Error Page 
Recipe</a></li><li><a href="supporting-informal-parameters.html">Supporting 
Informal Parameters</a></li><li><a href="component-libraries.html">Component 
Libraries</a></li><li><a href="switching-cases.html">Switching 
Cases</a></li><li><a href="enum-parameter-recipe.html">Enum Parameter 
Recipe</a></li><li><a href="extending-the-if-component.html">Extending the If 
Component</a></li><li><a 
href="meta-programming-page-content.html">Meta-Programming Page 
Content</a></li><li><a href="using-select-with-a-list.html">Using Select With a 
List</a></li><li><a href="ioc-cookbook.html">IoC cookbook</a><ul 
class="childpages-macro"><li><a 
href="ioc-cookbook-basic-services-and-injection.html">IoC 
 Cookbook - Basic Services and Injection</a></li><li><a 
href="ioc-cookbook-overriding-ioc-services.html">IoC Cookbook - Overriding IoC 
Services</a></li><li><a href="ioc-cookbook-patterns.html">IoC Cookbook - 
Patterns</a></li><li><a href="ioc-cookbook-service-configurations.html">IoC 
cookbook - Service Configurations</a></li></ul></li><li><a 
href="performance-and-clustering.html">Performance and 
Clustering</a></li><li><a href="google-app-engine.html">Google App 
Engine</a></li></ul></li><li><a 
href="frequently-asked-questions.html">Frequently Asked Questions</a><ul 
class="childpages-macro"><li><a href="general-questions.html">General 
Questions</a></li><li><a href="templating-and-markup-faq.html">Templating and 
Markup FAQ</a></li><li><a href="page-and-component-classes-faq.html">Page And 
Component Classes FAQ</a></li><li><a 
href="forms-and-form-components-faq.html">Forms and Form Components 
FAQ</a></li><li><a href="beaneditform-faq.html">BeanEditForm FAQ</a></li><li><a 
href="link-compon
 ents-faq.html">Link Components FAQ</a></li><li><a 
href="component-events-faq.html">Component Events FAQ</a></li><li><a 
href="javascript-faq.html">JavaScript FAQ</a></li><li><a 
href="ajax-components-faq.html">Ajax Components FAQ</a></li><li><a 
href="injection-faq.html">Injection FAQ</a></li><li><a 
href="tapestry-inversion-of-control-faq.html">Tapestry Inversion of Control 
FAQ</a></li><li><a href="security-faq.html">Security FAQ</a></li><li><a 
href="integration-with-existing-applications.html">Integration with existing 
applications</a></li><li><a href="request-processing-faq.html">Request 
Processing FAQ</a></li><li><a 
href="limitations.html">Limitations</a></li><li><a 
href="specific-errors-faq.html">Specific Errors FAQ</a></li><li><a 
href="hibernate-support-faq.html">Hibernate Support FAQ</a></li><li><a 
href="maven-support-faq.html">Maven Support FAQ</a></li><li><a 
href="release-upgrade-faq.html">Release Upgrade FAQ</a></li></ul></li><li><a 
href="release-notes.html">Release Notes</a><
 ul class="childpages-macro"><li><a href="how-to-upgrade.html">How to 
Upgrade</a></li><li><a href="release-notes-50.html">Release Notes 
5.0</a></li><li><a href="release-notes-51.html">Release Notes 
5.1</a></li><li><a href="release-notes-52.html">Release Notes 5.2</a><ul 
class="childpages-macro"><li><a href="release-notes-520.html">Release Notes 
5.2.0</a></li><li><a href="release-notes-521.html">Release Notes 
5.2.1</a></li><li><a href="release-notes-522.html">Release Notes 
5.2.2</a></li><li><a href="release-notes-523.html">Release Notes 
5.2.3</a></li><li><a href="release-notes-524.html">Release Notes 
5.2.4</a></li><li><a href="release-notes-525.html">Release Notes 
5.2.5</a></li><li><a href="release-notes-526.html">Release Notes 
5.2.6</a></li></ul></li><li><a href="release-notes-53.html">Release Notes 
5.3</a></li><li><a href="release-notes-531.html">Release Notes 
5.3.1</a></li><li><a href="release-notes-532.html">Release Notes 
5.3.2</a></li><li><a href="release-notes-533.html">Release 
 Notes 5.3.3</a></li><li><a href="release-notes-534.html">Release Notes 
5.3.4</a></li><li><a href="release-notes-535.html">Release Notes 
5.3.5</a></li><li><a href="release-notes-536.html">Release Notes 
5.3.6</a></li><li><a href="release-notes-537.html">Release Notes 
5.3.7</a></li><li><a href="release-notes-538.html">Release Notes 
5.3.8</a></li><li><a href="release-notes-54.html">Release Notes 
5.4</a></li><li><a href="release-notes-541.html">Release Notes 
5.4.1</a></li><li><a href="release-notes-542.html">Release Notes 
5.4.2</a></li><li><a href="release-notes-543.html">Release Notes 
5.4.3</a></li><li><a href="release-notes-544.html">Release Notes 
5.4.4</a></li><li><a href="release-notes-545.html">Release Notes 
5.4.5</a></li><li><a href="release-notes-550.html">Release Notes 
5.5.0</a></li><li><a href="release-notes-560.html">Release Notes 
5.6.0</a></li><li><a href="release-notes-561.html">Release Notes 
5.6.1</a></li></ul></li><li><a href="javascript-rewrite-in-54.html">JavaScript 
Rewri
 te in 5.4</a></li><li><a href="support.html">Support</a></li><li><a 
href="developer-information.html">Developer Information</a><ul 
class="childpages-macro"><li><a 
href="building-tapestry-from-source.html">Building Tapestry from 
Source</a></li><li><a href="confluence-site-setup.html">Confluence Site 
Setup</a><ul class="childpages-macro"><li><a 
href="since-and-deprecated-user-macros.html">Since and Deprecated User 
Macros</a></li></ul></li><li><a href="developer-bible.html">Developer 
Bible</a></li><li><a href="release-process.html">Release Process</a></li><li><a 
href="the-tapestry-jail.html">The tapestry jail</a></li><li><a 
href="version-numbers.html">Version Numbers</a></li></ul></li></ul></div>
+                            <div id="ConfluenceContent"><div 
style="float:right;margin-left:1em"><h2 id="Documentation-AllTopics">All 
Topics</h2><ul class="childpages-macro"><li><a 
href="introduction.html">Introduction</a></li><li><a 
href="getting-started.html">Getting Started</a></li><li><a 
href="principles.html">Principles</a></li><li><a 
href="tapestry-tutorial.html">Tapestry Tutorial</a><ul 
class="childpages-macro"><li><a 
href="dependencies-tools-and-plugins.html">Dependencies, Tools and 
Plugins</a></li><li><a href="creating-the-skeleton-application.html">Creating 
The Skeleton Application</a></li><li><a 
href="exploring-the-project.html">Exploring the Project</a></li><li><a 
href="implementing-the-hi-lo-guessing-game.html">Implementing the Hi-Lo 
Guessing Game</a></li><li><a 
href="using-beaneditform-to-create-user-forms.html">Using BeanEditForm To 
Create User Forms</a></li><li><a 
href="using-tapestry-with-hibernate.html">Using Tapestry With 
Hibernate</a></li></ul></li><li><a href="u
 ser-guide.html">User Guide</a><ul class="childpages-macro"><li><a 
href="supported-environments-and-versions.html">Supported Environments and 
Versions</a></li><li><a href="project-layout.html">Project 
Layout</a></li><li><a href="configuration.html">Configuration</a></li><li><a 
href="runtime-exceptions.html">Runtime Exceptions</a></li><li><a 
href="class-reloading.html">Class Reloading</a></li><li><a 
href="component-reference.html">Component Reference</a></li><li><a 
href="annotations.html">Annotations</a></li><li><a 
href="component-classes.html">Component Classes</a></li><li><a 
href="component-templates.html">Component Templates</a></li><li><a 
href="property-expressions.html">Property Expressions</a></li><li><a 
href="component-parameters.html">Component Parameters</a></li><li><a 
href="parameter-type-coercion.html">Parameter Type Coercion</a></li><li><a 
href="layout-component.html">Layout Component</a></li><li><a 
href="component-mixins.html">Component Mixins</a><ul class="childpages-mac
 ro"><li><a href="built-in-mixins.html">Built-in 
Mixins</a></li></ul></li><li><a href="page-navigation.html">Page 
Navigation</a></li><li><a href="localization.html">Localization</a></li><li><a 
href="page-life-cycle.html">Page Life Cycle</a></li><li><a 
href="request-processing.html">Request Processing</a></li><li><a 
href="component-rendering.html">Component Rendering</a></li><li><a 
href="component-events.html">Component Events</a></li><li><a 
href="url-rewriting.html">URL rewriting</a></li><li><a 
href="dom.html">DOM</a></li><li><a href="response-compression.html">Response 
Compression</a></li><li><a href="security.html">Security</a></li><li><a 
href="https.html">HTTPS</a></li><li><a 
href="content-type-and-markup.html">Content Type and Markup</a></li><li><a 
href="persistent-page-data.html">Persistent Page Data</a></li><li><a 
href="session-storage.html">Session Storage</a><ul 
class="childpages-macro"><li><a href="clustering-issues.html">Clustering 
Issues</a></li></ul></li><li><a href="inje
 ction.html">Injection</a></li><li><a 
href="environmental-services.html">Environmental Services</a></li><li><a 
href="css.html">CSS</a></li><li><a href="assets.html">Assets</a></li><li><a 
href="forms-and-validation.html">Forms and Validation</a></li><li><a 
href="beaneditform-guide.html">BeanEditForm Guide</a></li><li><a 
href="uploading-files.html">Uploading Files</a></li><li><a 
href="logging.html">Logging</a></li><li><a 
href="unit-testing-pages-or-components.html">Unit testing pages or 
components</a></li><li><a href="integration-testing.html">Integration 
Testing</a></li><li><a href="development-dashboard.html">Development 
Dashboard</a></li><li><a href="modules.html">Modules</a><ul 
class="childpages-macro"><li><a href="built-in-modules.html">Built In 
Modules</a></li><li><a href="third-party-modules.html">Third Party 
Modules</a></li></ul></li><li><a href="ioc.html">IOC</a><ul 
class="childpages-macro"><li><a href="tapestry-ioc-overview.html">Tapestry IoC 
Overview</a></li><li><a href="tap
 estry-ioc-modules.html">Tapestry IoC Modules</a></li><li><a 
href="defining-tapestry-ioc-services.html">Defining Tapestry IOC 
Services</a></li><li><a href="service-advisors.html">Service 
Advisors</a></li><li><a href="tapestry-ioc-decorators.html">Tapestry IoC 
Decorators</a></li><li><a href="tapestry-ioc-configuration.html">Tapestry IoC 
Configuration</a></li><li><a href="case-insensitivity.html">Case 
Insensitivity</a></li><li><a href="autoloading-modules.html">Autoloading 
Modules</a></li><li><a href="service-implementation-reloading.html">Service 
Implementation Reloading</a></li><li><a 
href="ordering-by-constraints.html">Ordering by Constraints</a></li><li><a 
href="symbols.html">Symbols</a></li><li><a 
href="chainbuilder-service.html">ChainBuilder Service</a></li><li><a 
href="pipelinebuilder-service.html">PipelineBuilder Service</a></li><li><a 
href="shadowbuilder-service.html">ShadowBuilder Service</a></li><li><a 
href="strategybuilder-service.html">StrategyBuilder Service</a></li><li><
 a href="injection-in-detail.html">Injection in Detail</a></li><li><a 
href="object-providers.html">Object Providers</a></li><li><a 
href="service-serialization.html">Service Serialization</a></li><li><a 
href="type-coercion.html">Type Coercion</a></li><li><a 
href="starting-the-ioc-registry.html">Starting the IoC Registry</a></li><li><a 
href="registry-startup.html">Registry Startup</a></li><li><a 
href="parallel-execution.html">Parallel Execution</a></li><li><a 
href="logging-in-tapestry.html">Logging in Tapestry</a></li><li><a 
href="using-jsr-330-standard-annotations.html">Using JSR 330 standard 
annotations</a></li><li><a href="operation-tracker.html">Operation 
Tracker</a></li></ul></li><li><a href="hibernate-core.html">Hibernate - 
Core</a><ul class="childpages-macro"><li><a 
href="hibernate-core-conf.html">Hibernate - Core - Conf</a></li><li><a 
href="hibernate.html">Hibernate</a></li><li><a 
href="hibernate-user-guide.html">Hibernate User Guide</a></li></ul></li><li><a 
href="integrating-w
 ith-spring-framework.html">Integrating with Spring Framework</a></li><li><a 
href="bean-validation.html">Bean Validation</a></li><li><a 
href="component-report.html">Component Report</a></li><li><a 
href="aliases.html">Aliases</a></li><li><a 
href="integrating-with-jpa.html">Integrating with JPA</a></li><li><a 
href="client-side-javascript.html">Client-Side JavaScript</a><ul 
class="childpages-macro"><li><a href="javascript-modules.html">JavaScript 
Modules</a></li><li><a href="coffeescript.html">CoffeeScript</a></li><li><a 
href="typescript.html">TypeScript</a></li><li><a 
href="legacy-javascript.html">Legacy JavaScript</a></li><li><a 
href="ajax-and-zones.html">Ajax and Zones</a></li></ul></li></ul></li><li><a 
href="cheat-sheets.html">Cheat Sheets</a><ul class="childpages-macro"><li><a 
href="application-module-class-cheat-sheet.html">Application Module Class Cheat 
Sheet</a></li><li><a href="component-cheat-sheet.html">Component Cheat 
Sheet</a></li><li><a href="tapestry-for-jsf-users.html">T
 apestry for JSF Users</a></li></ul></li><li><a 
href="cookbook.html">Cookbook</a><ul class="childpages-macro"><li><a 
href="default-parameter.html">Default Parameter</a></li><li><a 
href="overriding-exception-reporting.html">Overriding Exception 
Reporting</a></li><li><a href="error-page-recipe.html">Error Page 
Recipe</a></li><li><a href="supporting-informal-parameters.html">Supporting 
Informal Parameters</a></li><li><a href="component-libraries.html">Component 
Libraries</a></li><li><a href="switching-cases.html">Switching 
Cases</a></li><li><a href="enum-parameter-recipe.html">Enum Parameter 
Recipe</a></li><li><a href="extending-the-if-component.html">Extending the If 
Component</a></li><li><a 
href="meta-programming-page-content.html">Meta-Programming Page 
Content</a></li><li><a href="using-select-with-a-list.html">Using Select With a 
List</a></li><li><a href="ioc-cookbook.html">IoC cookbook</a><ul 
class="childpages-macro"><li><a 
href="ioc-cookbook-basic-services-and-injection.html">IoC 
 Cookbook - Basic Services and Injection</a></li><li><a 
href="ioc-cookbook-overriding-ioc-services.html">IoC Cookbook - Overriding IoC 
Services</a></li><li><a href="ioc-cookbook-patterns.html">IoC Cookbook - 
Patterns</a></li><li><a href="ioc-cookbook-service-configurations.html">IoC 
cookbook - Service Configurations</a></li></ul></li><li><a 
href="performance-and-clustering.html">Performance and 
Clustering</a></li><li><a href="google-app-engine.html">Google App 
Engine</a></li></ul></li><li><a 
href="frequently-asked-questions.html">Frequently Asked Questions</a><ul 
class="childpages-macro"><li><a href="general-questions.html">General 
Questions</a></li><li><a href="templating-and-markup-faq.html">Templating and 
Markup FAQ</a></li><li><a href="page-and-component-classes-faq.html">Page And 
Component Classes FAQ</a></li><li><a 
href="forms-and-form-components-faq.html">Forms and Form Components 
FAQ</a></li><li><a href="beaneditform-faq.html">BeanEditForm FAQ</a></li><li><a 
href="link-compon
 ents-faq.html">Link Components FAQ</a></li><li><a 
href="component-events-faq.html">Component Events FAQ</a></li><li><a 
href="javascript-faq.html">JavaScript FAQ</a></li><li><a 
href="ajax-components-faq.html">Ajax Components FAQ</a></li><li><a 
href="injection-faq.html">Injection FAQ</a></li><li><a 
href="tapestry-inversion-of-control-faq.html">Tapestry Inversion of Control 
FAQ</a></li><li><a href="security-faq.html">Security FAQ</a></li><li><a 
href="integration-with-existing-applications.html">Integration with existing 
applications</a></li><li><a href="request-processing-faq.html">Request 
Processing FAQ</a></li><li><a 
href="limitations.html">Limitations</a></li><li><a 
href="specific-errors-faq.html">Specific Errors FAQ</a></li><li><a 
href="hibernate-support-faq.html">Hibernate Support FAQ</a></li><li><a 
href="maven-support-faq.html">Maven Support FAQ</a></li><li><a 
href="release-upgrade-faq.html">Release Upgrade FAQ</a></li></ul></li><li><a 
href="release-notes.html">Release Notes</a><
 ul class="childpages-macro"><li><a href="how-to-upgrade.html">How to 
Upgrade</a></li><li><a href="release-notes-50.html">Release Notes 
5.0</a></li><li><a href="release-notes-51.html">Release Notes 
5.1</a></li><li><a href="release-notes-52.html">Release Notes 5.2</a><ul 
class="childpages-macro"><li><a href="release-notes-520.html">Release Notes 
5.2.0</a></li><li><a href="release-notes-521.html">Release Notes 
5.2.1</a></li><li><a href="release-notes-522.html">Release Notes 
5.2.2</a></li><li><a href="release-notes-523.html">Release Notes 
5.2.3</a></li><li><a href="release-notes-524.html">Release Notes 
5.2.4</a></li><li><a href="release-notes-525.html">Release Notes 
5.2.5</a></li><li><a href="release-notes-526.html">Release Notes 
5.2.6</a></li></ul></li><li><a href="release-notes-53.html">Release Notes 
5.3</a></li><li><a href="release-notes-531.html">Release Notes 
5.3.1</a></li><li><a href="release-notes-532.html">Release Notes 
5.3.2</a></li><li><a href="release-notes-533.html">Release 
 Notes 5.3.3</a></li><li><a href="release-notes-534.html">Release Notes 
5.3.4</a></li><li><a href="release-notes-535.html">Release Notes 
5.3.5</a></li><li><a href="release-notes-536.html">Release Notes 
5.3.6</a></li><li><a href="release-notes-537.html">Release Notes 
5.3.7</a></li><li><a href="release-notes-538.html">Release Notes 
5.3.8</a></li><li><a href="release-notes-54.html">Release Notes 
5.4</a></li><li><a href="release-notes-541.html">Release Notes 
5.4.1</a></li><li><a href="release-notes-542.html">Release Notes 
5.4.2</a></li><li><a href="release-notes-543.html">Release Notes 
5.4.3</a></li><li><a href="release-notes-544.html">Release Notes 
5.4.4</a></li><li><a href="release-notes-545.html">Release Notes 
5.4.5</a></li><li><a href="release-notes-550.html">Release Notes 
5.5.0</a></li><li><a href="release-notes-560.html">Release Notes 
5.6.0</a></li><li><a href="release-notes-561.html">Release Notes 
5.6.1</a></li><li><a href="release-notes-570.html">Release Notes 
5.7.0</a></li><li><
 a href="release-notes-562.html">Release Notes 5.6.2</a></li></ul></li><li><a 
href="javascript-rewrite-in-54.html">JavaScript Rewrite in 5.4</a></li><li><a 
href="support.html">Support</a></li><li><a 
href="developer-information.html">Developer Information</a><ul 
class="childpages-macro"><li><a 
href="building-tapestry-from-source.html">Building Tapestry from 
Source</a></li><li><a href="confluence-site-setup.html">Confluence Site 
Setup</a><ul class="childpages-macro"><li><a 
href="since-and-deprecated-user-macros.html">Since and Deprecated User 
Macros</a></li></ul></li><li><a href="developer-bible.html">Developer 
Bible</a></li><li><a href="release-process.html">Release Process</a></li><li><a 
href="the-tapestry-jail.html">The tapestry jail</a></li><li><a 
href="version-numbers.html">Version Numbers</a></li></ul></li></ul></div>
 
 
 <p>Welcome to the Tapestry 5 Documentation, a collection of guides to teach 
beginners the basics and help experienced developers deepen their understanding 
of Tapestry's power.</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="table table-bordered table-responsive"><colgroup span="1"><col 
span="1"><col span="1"></colgroup><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a 
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 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 href="tapestry-tutoria
 l.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 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 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 
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 
href="frequently-asked-questions.html">FAQ</a></stron
 g></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 
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></tbody></table></div><h1 
id="Documentation-APIandComponentReference">API and Component 
Reference</h1><div class="table-wrap"><table class="table table-bordered 
table-responsive"><colgroup span="1"><col span="1" style="width: 
30.7309%;"><col span="1" style="width: 8.62385%;"><col span="1" style="width: 
8.62385%;"><col span="1" style="width: 8.62385%;"><col span="1" style="width: 
11.9083%;"><col span="1" style="width: 12.6239%;"><col span="1" style="width: 
18.8654%;"><col span="1"></colgroup><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 class="external-link" 
href="http://tapestry.apache.org/5.3.7/apidocs/";>5.3.8</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><a class="external-link" 
href="http://tapestry.apache.org/5.4";>5.4</a></td><td colspan="1" rowspan="1" 
class="confluenceTd"><a class="external-link" 
href="http://tapestry.apache.org/5.5.0";>5.5</a></td><td colspan="1" rowspan="1" 
class="confluenceTd"><a class="external-link" 
href="http://tapestry.apache.org/current/apidocs";><strong>5.6.1</strong> 
(current)</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><em><span class="confluence-link">see 
5.6</span></em></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><em>see 5.6</em></td><td colspan="1" rowspan="1" 
class="confluenceTd">see 5.6</td><td colspan="1" rowspan="1" 
class="confluenceTd"><a 
href="component-reference.html"><strong>5.6.1</strong></a></td></tr><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Release Notes:</p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a 
href="release-notes-50.html">5.0</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a href="release-notes-51.html">5.1</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a 
href="release-notes-52.html">5.2</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a href="release-notes-538.html">5.3.8</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><a href="release-note
 s-54.html">5.4</a></td><td colspan="1" rowspan="1" class="confluenceTd"><a 
href="release-notes-550.html">5.5</a></td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong><a 
href="release-notes-560.html">5.6</a></strong></td></tr></tbody></table></div><p><sup>1</sup>
 needs to be built manually from archived sources at <a 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 
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 class="confluence-link"><a 
href="client-side-javascript.html">Client-Side JavaScript</a> and <a 
href="ajax-and-zones.html">Ajax and Zones</a> describe Tapestry's built-in 
support for dynamic in-page behavior.</li><li><a
  href="integrating-with-spring-framework.html">Integrating with Spring 
Framework</a> describes how to integrate Spring into your Tapestry 
application.</li><li><a href="hibernate.html">Tapestry/Hibernate Integration 
Library</a> provides out-of-the-box support for using Hibernate 3.</li><li><a 
href="bean-validation.html">JSR 303: Bean Validation</a> shows how to use 
standard annotations for validation</li><li><a 
href="integration-testing.html">Integration Testing</a> shows how to test your 
application with Selenium.</li></ul><p><a href="user-guide.html">More 
topics</a>...</p><h1 
id="Documentation-BlogsbyTapestryDevelopersandtheCommunity">Blogs by Tapestry 
Developers and the Community</h1><ul><li><a class="external-link" 
href="http://tapestryjava.blogspot.com/"; rel="nofollow">Tapestry 
Central</a>&#160;was Howard Lewis Ship's blog from 2003-2013. As the creator of 
Tapestry, he provides valuable insights into Tapestry's latest features and 
future directions.</li><li><a class="external-li
 nk" 
href="https://web.archive.org/web/20160410090538/http://blog.tapestry5.de/"; 
rel="nofollow">Igor Drobiazko's blog</a> (committer &amp; PMC) contains guides 
on Tapestry 5 development (2009-2013).</li><li><a class="external-link" 
href="http://tawus.wordpress.com/"; rel="nofollow">Java Magic</a> (by Taha 
Hafeez, committer) presents a series of tutorials illustrating some of the more 
advanced Tapestry and Plastic features and techniques (2011-2012).</li></ul><h1 
id="Documentation-BooksonTapestry">Books on Tapestry</h1><p>There are at least 
9 published <a href="books.html">books on Tapestry</a>, including three on 
Tapestry 5.</p><h1 id="Documentation-TapestryPresentations">Tapestry 
Presentations</h1><ul><li>Mark Shead's <a class="external-link" 
href="http://blog.markshead.com/900/tapestry-5-10-minute-demo/"; 
rel="nofollow">10 Minute Demo</a>&#160; (Video, 2011)</li><li>H. L. Ship's <a 
class="external-link" href="https://www.youtube.com/watch?v=5BGt7eMFC20"; 
rel="nofollow">Tapestry 5.4 - 
 Bootstrap-enhanced Exception Reporting</a>&#160;(Video, 2012)</li><li><a 
class="external-link" 
href="https://web.archive.org/web/20170302154020/http://blog.tapestry5.de/wp-content/uploads/2010/06/JSF-2.0-vs-Tapestry-5.pdf";
 rel="nofollow">JavaServer Faces 2.0 vs. Tapestry 5</a> (PDF, 2010) A 
Head-to-Head Comparison by Igor Drobiazko at Jazoon 2010</li></ul><p><a 
href="presentations.html">More presentations</a> ...</p><h1 
id="Documentation-TapestryWikis">Tapestry Wikis</h1><ul><li><a 
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><li><a 
href="https://cwiki.apache.org/confluence/display/TAPESTRY5";>Tapestry Community 
Wiki (legacy)</a> &#8211; read-only copy of Tapestry's old Moin Moin wiki 
containing a lot of user-generated information on different Tapestry use 
cases.</li></ul><h1 id="Documentation-Gettinghelp">Getting help</h1><p>The 
primary method of 
 support is the <a href="mailing-lists.html">Tapestry Mailing 
Lists</a>.</p><p>In addition, there are occasionally questions and answers 
about Tapestry at <a class="external-link" 
href="http://stackoverflow.com/questions/tagged/tapestry"; rel="nofollow">Stack 
Overflow</a>.</p><h1 id="Documentation-TheDeveloperCorner">The Developer 
Corner</h1><p><a href="developer-information.html">Developer Information</a> 
gives information needed by the Tapestry developers</p><p></p></div>

Modified: websites/production/tapestry/content/error-page-recipe.html
==============================================================================
--- websites/production/tapestry/content/error-page-recipe.html (original)
+++ websites/production/tapestry/content/error-page-recipe.html Sat Jan 30 
21:20:37 2021
@@ -142,7 +142,7 @@
             
             <!-- /// Content Start -->
             <div id="content">
-                            <div id="ConfluenceContent"><h1 
id="ErrorPageRecipe-ServingTapestryPagesasServletErrorPages">Serving Tapestry 
Pages as Servlet Error Pages</h1><p>Do you want to dress up your site and use a 
snazzy Tapestry page instead of the default 404 error page? Using modern 
servlet containers, this is a snap!</p><div class="aui-label" 
style="float:right; margin: 1em" title="Related Articles">
+                            <div id="ConfluenceContent"><p></p><h1 
id="ErrorPageRecipe-ServingTapestryPagesasServletErrorPages">Serving Tapestry 
Pages as Servlet Error Pages</h1><p>Do you want to dress up your site and use a 
snazzy Tapestry page instead of the default 404 error page? Using modern 
servlet containers, this is a snap!</p><div class="aui-label" 
style="float:right; margin: 1em" title="Related Articles">
 
 
 
@@ -210,7 +210,8 @@
 
   &lt;filter&gt;
     &lt;filter-name&gt;app&lt;/filter-name&gt;
-    
&lt;filter-class&gt;org.apache.tapestry5.TapestryFilter&lt;/filter-class&gt;
+    &lt;!-- org.apache.tapestry5.TapestryFilter if not Tapestry 5.7.0+ --&gt;
+    
&lt;filter-class&gt;org.apache.tapestry5.http.TapestryFilter&lt;/filter-class&gt;
 
   &lt;/filter&gt;
   &lt;filter-mapping&gt;
     &lt;filter-name&gt;app&lt;/filter-name&gt;
@@ -252,7 +253,8 @@ import org.apache.tapestry5.SymbolConsta
 import org.apache.tapestry5.annotations.Property;
 import org.apache.tapestry5.ioc.annotations.Inject;
 import org.apache.tapestry5.ioc.annotations.Symbol;
-import org.apache.tapestry5.services.Request;
+// org.apache.tapestry5.services.Request if not Tapestry 5.7.0+
+import org.apache.tapestry5.services.http.Request; 
 
 public class Error404
 {
@@ -268,7 +270,7 @@ public class Error404
 
 
 </code></pre>
-</div></div><p>The end-result, in when <em>not</em> in production mode, looks 
like this:</p><p><span class="confluence-embedded-file-wrapper 
image-center-wrapper confluence-embedded-manual-size"><img 
class="confluence-embedded-image confluence-content-image-border image-center" 
width="500" 
src="error-page-recipe.data/Resource_not_found_.png"></span></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>An issue with an application that 
has a root Index page is that any invalid path, which would normally generate a 
404 error, is instead routed to the Index page (because the invalid path looks 
like page's activation context). See <a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-2070";>Issue 
TAP5-2070</a>.</p></div></div></div>
+</div></div><p>The end-result, in when <em>not</em> in production mode, looks 
like this:</p><p></p><p><span class="confluence-embedded-file-wrapper 
image-center-wrapper confluence-embedded-manual-size"><img 
class="confluence-embedded-image confluence-content-image-border image-center" 
width="500" 
src="error-page-recipe.data/Resource_not_found_.png"></span></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>An issue with an application that 
has a root Index page is that any invalid path, which would normally generate a 
404 error, is instead routed to the Index page (because the invalid path looks 
like page's activation context). See <a class="external-link" 
href="https://issues.apache.org/jira/browse/TAP5-2070";>Issue 
TAP5-2070</a>.</p></div></div></div>
             </div>
             <!-- /// Content End -->
           </div>

Modified: websites/production/tapestry/content/extending-the-if-component.html
==============================================================================
--- websites/production/tapestry/content/extending-the-if-component.html 
(original)
+++ websites/production/tapestry/content/extending-the-if-component.html Sat 
Jan 30 21:20:37 2021
@@ -142,7 +142,7 @@
             
             <!-- /// Content Start -->
             <div id="content">
-                            <div id="ConfluenceContent"><h1 
id="ExtendingtheIfComponent-ExtendingtheIfComponent">Extending the If 
Component</h1><p>The <a class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/If.html";>If</a>
 component can be made very flexible; its main parameter, <code>test</code>, 
does not <em>have</em> to be bound to a boolean value, it merely has to be 
bound to a value that can be <a href="parameter-type-coercion.html">coerced</a> 
to boolean.</p><p>For example, you may be working on an application that does a 
lot of <a class="external-link" 
href="http://lucene.apache.org/java/docs/index.html";>Lucene</a> searches, and 
you represent the results as a SearchResult object:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>SearchResult.java</b></div><div 
class="codeContent panelContent pdl">
+                            <div id="ConfluenceContent"><p></p><h1 
id="ExtendingtheIfComponent-ExtendingtheIfComponent">Extending the If 
Component</h1><p>The <a class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/If.html";>If</a>
 component can be made very flexible; its main parameter, <code>test</code>, 
does not <em>have</em> to be bound to a boolean value, it merely has to be 
bound to a value that can be <a href="parameter-type-coercion.html">coerced</a> 
to boolean.</p><p>For example, you may be working on an application that does a 
lot of <a class="external-link" 
href="http://lucene.apache.org/java/docs/index.html";>Lucene</a> searches, and 
you represent the results as a SearchResult object:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>SearchResult.java</b></div><div 
class="codeContent panelContent pdl">
 <pre><code class="language-java">public class SearchResult&lt;T&gt; {
   public final Class&lt;T&gt; itemType;
   public final List&lt;T&gt; items;
@@ -173,7 +173,25 @@
   &lt;/t:if&gt;
 &lt;/t:if&gt;
 </code></pre>
-</div></div><p>The first test checks to see if <code>searchResult</code> is 
not null (null is treated as false). The second checks to see if the search 
result is empty.</p><p>What we'd like is for the test to look at the 
<code>searchResult</code> directly and treat an empty search result as false, 
and a non-empty search result as true. This is similar to what Tapestry already 
does for Collections.</p><p>This is just a matter of adding a <a 
href="parameter-type-coercion.html"> 
<code>Coercion</code></a><code>:</code></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>AppModule.java (partial)</b></div><div 
class="codeContent panelContent pdl">
+</div></div><p>The first test checks to see if <code>searchResult</code> is 
not null (null is treated as false). The second checks to see if the search 
result is empty.</p><p>What we'd like is for the test to look at the 
<code>searchResult</code> directly and treat an empty search result as false, 
and a non-empty search result as true. This is similar to what Tapestry already 
does for Collections.</p><p>This is just a matter of adding a <a 
href="parameter-type-coercion.html"> 
<code>Coercion</code></a><code>:</code></p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>AppModule (partial, Tapestry 
5.7.0+)</b></div><div class="codeContent panelContent pdl">
+<pre><code class="language-java">public static void 
contributeTypeCoercer(MappedConfiguration&lt;CoercionTuple.Key, 
CoercionTuple&gt; configuration) {
+
+  add(configuration, SearchResult.class, Boolean.class,
+      new Coercion&lt;SearchResult, Boolean&gt;() {
+        public Boolean coerce(SearchResult input) {
+          return !input.isEmpty();
+        }
+      });
+}
+
+private static &lt;S, T&gt; void add(MappedConfiguration&lt;CoercionTuple.Key, 
CoercionTuple&gt; configuration,
+    Class&lt;S&gt; sourceType, Class&lt;T&gt; targetType, Coercion&lt;S, T&gt; 
coercion) {
+  CoercionTuple&lt;S, T&gt; tuple = new CoercionTuple&lt;S, T&gt;(sourceType,
+      targetType, coercion);
+
+  configuration.add(tuple.getKey(), tuple);
+}</code></pre>
+</div></div><p></p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>AppModule.java (partial, pre-Tapestry 5.7.0)</b></div><div 
class="codeContent panelContent pdl">
 <pre><code class="language-java">public static void 
contributeTypeCoercer(Configuration&lt;CoercionTuple&gt; configuration) {
 
   add(configuration, SearchResult.class, Boolean.class,


Reply via email to