Author: buildbot Date: Sat Mar 30 14:11:48 2024 New Revision: 1086074 Log: Production update by buildbot for tapestry
Added: websites/production/tapestry/content/development-road-map-2024.html Modified: websites/production/tapestry/content/cache/main.pageCache websites/production/tapestry/content/documentation.html Modified: websites/production/tapestry/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Added: websites/production/tapestry/content/development-road-map-2024.html ============================================================================== --- websites/production/tapestry/content/development-road-map-2024.html (added) +++ websites/production/tapestry/content/development-road-map-2024.html Sat Mar 30 14:11:48 2024 @@ -0,0 +1,199 @@ +<!DOCTYPE html> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<html> +<head> + <meta http-equiv="content-type" content="text/html; charset=utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="keywords" content="tapestry, apache, apache tapestry, framework, java, web, component, open source, application, dynamic, scalable, robust, servlet"> + <meta name="description" content="Apache Tapestry is a open-source component-oriented framework for creating dynamic, robust, highly scalable web applications in Java. Tapestry complements and builds upon the standard Java Servlet API, and so it works in any servlet container or application server."> + + <title> + Development Road Map 2024 - Apache Tapestry + </title> + + <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/images/apache-tapestry-icon-144.png"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/images/apache-tapestry-icon-114.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/images/apache-tapestry-icon-72.png"> + <link rel="apple-touch-icon-precomposed" href="/images/apache-tapestry-icon-57.png"> + <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png"> + + <link rel="stylesheet" href="/resources/bootstrap/bootstrap.min.css"> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css"> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css"> + <link rel="stylesheet" href="/resources/fonts/fonts.css"> + <link rel="stylesheet" href="/styles/main.css"> + + <script type="text/javascript"> + if (window.location.protocol === 'http:' && window.location.hostname !== 'localhost') { + window.location = window.location.href.replace('http://', 'https://'); + } + </script> + + <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script> + <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script> + <script src="/resources/bootstrap/bootstrap.min.js" defer></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> + + <script type="text/javascript"> + window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; + ga('create', 'UA-400821-1', 'auto'); + ga('send', 'pageview'); + </script> + <script async src="https://www.google-analytics.com/analytics.js"></script> +</head> +<body> + <!-- /// Navigation Start --> + <div id="navigation"><p><header> + <div class="container-fluid"> + <div class="row"> + <div class="col-12"> + <nav class="navbar navbar-expand-xl navbar-light justify-content-between"> + <a class="navbar-brand" href="/index.html"> + <img src="/images/apache-tapestry-icon-dark.svg" width="60" alt="Apache Tapestry" title="Apache Tapestry"> + <span>apache tapestry</span> + </a> + <button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> + <span class="navbar-toggler-icon"></span> + </button> + <div class="collapse navbar-collapse" id="navbarCollapse"> + <ul class="navbar-nav mx-auto"><li class="nav-item"> + <a class="nav-link active" href="/getting-started.html">Getting Started</a> + </li><li class="nav-item"> + <a class="nav-link active" href="/documentation.html">Documentation</a> + </li><li class="nav-item"> + <a class="nav-link active" href="/download.html">Download</a> + </li><li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle active" id="communityNavbarDropdown" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + Community + </a> + <div class="dropdown-menu" aria-labelledby="communityNavbarDropdown"> + <a class="dropdown-item" href="/community.html">Mailing Lists</a> + <a class="dropdown-item" href="https://stackoverflow.com/questions/tagged/tapestry">StackOverflow</a> + <a class="dropdown-item" href="/support.html">Support</a> + <a class="dropdown-item" href="/community.html">Getting Involved</a> + <a class="dropdown-item" href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=300026356" title="Edit this page (requires approval, just ask on the mailing list)">Edit this page</a> + <div class="dropdown-divider"></div> + <a class="dropdown-item" href="https://twitter.com/ApacheTapestry">@ApacheTapestry</a> + <a class="dropdown-item" href="https://twitter.com/hashtag/tapestry5">#tapestry5</a> + </div> + </li><li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle active" id="developmentNavbarDropdown" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + Development + </a> + <div class="dropdown-menu" aria-labelledby="developmentNavbarDropdown"> + <a class="dropdown-item" href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git">Source Code</a> + <a class="dropdown-item" href="https://issues.apache.org/jira/browse/TAP5">Issues</a> + </div> + </li><li class="nav-item dropdown"> + <a class="nav-link dropdown-toggle active" id="apacheNavbarDropdown" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> + Apache + </a> + <div class="dropdown-menu" aria-labelledby="apacheNavbarDropdown"> + <a class="dropdown-item" href="https://www.apache.org/">About Apache</a> + <a class="dropdown-item" href="https://apachecon.com/?ref=royale.apache.org">Events</a> + <a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a> + <a class="dropdown-item" href="https://www.apache.org/licenses/LICENSE-2.0">License</a> + <a class="dropdown-item" href="https://www.apache.org/security/">Security</a> + <a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks!</a> + </div> + </li></ul> + <form enctype="application/x-www-form-urlencoded" method="get" class="form-inline" action="search.html"> + <input type="search" class="form-control search-input" name="q" placeholder="Search docs, issues, wikis and blogs" aria-label="Search"> + <button type="submit" class="d-none">Search</button> + </form> + </div> + </nav> + </div> + </div> + </div> +</header></p></div> + <!-- /// Navigation End --> + + <article> + <div class="container-fluid"> + <div class="container pt-5"> + <div class="row"> + <div class="col-12"> + <!-- /// Breadcrumb Start --> + <div id="breadcrumb" class="mb-2 text-small"> + <a href="index.html">Apache Tapestry</a> > <a href="documentation.html">Documentation</a> > <a href="developer-information.html">Developer Information</a> > <a href="development-road-map-2024.html">Development Road Map 2024</a> + </div> + <!-- /// Breadcrumb End --> + + <!-- /// Smallbanner Start --> + <div id="smallbanner"><h1 class="title" id="title">Development Road Map 2024</h1></div> + <!-- /// Smallbanner Start --> + + <!-- /// Content Start --> + <div id="content"> + <div id="ConfluenceContent"><p><em>Last updated: 2024-03-30</em></p><p>We're excited to share a (rough) road map for 2024 of upcoming development and an overall strategy for the project!</p><p>There are no deadlines attached, as we don't want to make any explicit commitments if we might not able to keep them due to our available resources.</p><p>Nevertheless, the road map paints a certain picture of the current state of development and what to expect in the future. And it's an invitation to discuss these features, ideas, and the general direction.</p><h2 id="DevelopmentRoadMap2024-(INPROGRESS)JakartaEE">(IN PROGRESS) Jakarta EE</h2><p>We hear you that this is the most pressing issue, and work is underway to make this our next big release. Instead of a hard breaking change, we decided to support both Java EE and Jakarta EE in the form of two branches:</p><ul><li>The <code>master</code> branch becomes the Jakarta EE-compatible one</li><li>A new branch calle d <code>javax</code> was started from <code>5.8.4</code> to keep supporting Java EE</li></ul><p>For the foreseeable future, we will implement any new features, bug fixes, security-related updates, etc., in both branches so you can enjoy Tapestry improvements regardless of your Servlet needs.</p><p>One breaking change we're going to introduce (besides the Servlet API itself) is the minimum required Java version going up to 11.</p><p>Many Servlet containers, like Jetty or Tomcat, require at least Java 11, although Jakarta EE 9 can be run on Java 8. Our own <code>tapestry-runner</code> is based on Jetty, so we'd need to develop a new one based on another container to make Java 8 work for development. To avoid stretching our resources too thin, we decided to increase the required minimum Java version instead, as the Java EE variant is still available for Java 8 and will be developed alongside the Jakarta EE variant.</p><h2 class="heading-element" id="DevelopmentRoadMap2024-(INPROGRESS)W ebsite/Documentationupdates">(IN PROGRESS) Website/Documentation updates</h2><p>The website and documentation are in dire need of some updates.</p><p>We want to provide multi-version documentation system, so it's easier to discern how to use features with your version, and what might be outdated, etc..</p><p>Therefore, we're going to move the documentation to the Git-based tool <a class="external-link" href="https://antora.org" rel="nofollow">Antora</a>. It supports documentation for multiple versions, and thanks to its Git-based approach, it will be easier for people to contribute, provide changes, and more, through pull requests.</p><h2 class="heading-element" id="DevelopmentRoadMap2024-(PLANNED)Makingiteasiertocontribute">(PLANNED) Making it easier to contribute</h2><p>Every open-source project needs contributions. Right now, our resources are quite sparse, but we see a lot of awesome people from the community wanting to contribute, like the latest PR that started the Jakarta EE work.</p><p>Still, the initial hurdle to take to participate needs to be lower, especially since Apache restricted public signups for their JIRA.</p><p>That's why we plan to move more towards GitHub, as it's the de facto standard for most open-source projects. GH issues are easier to participate in, compared to the Apache Jira, and are better integrated into pull requests and discussions.</p><p>The move isn't supposed to replace the mailing lists, but complement them. In the long run, Jira might be replaced with GH issues, as maintaining two issues trackers and keeping them in sync creates a lot of additional work.</p><h2 class="heading-element" id="DevelopmentRoadMap2024-(PLANNED)CommunityProjects">(PLANNED) Community Projects</h2><p>The Tapestry framework comes with many "batteries included", which is one of its strong sides. However, keeping all the different parts up-to-date requires a lot of work, too.</p><p>That's why we're planning to move a few of the <code>tapestry-*</code> projects into a yet-to-be-created "community projects" organization on GitHub.</p><p>For example, <code>tapestry-mongodb</code> is severely outdated dependency. There's an argument to remove it in a future version, but we prefer to not remove any feature without absolute necessity. Instead, certain projects will live on separately from the main project. That doesn't mean we don't want to update at all. However, their priority will be lower than any project in the main repository.</p><p>On the other hand, we plan to support certain third-party projects and try to bring them into the fold of the community projects. This way, such essential projects will receive quicker updates and are easier to discover.</p><h2 class="heading-element" id="DevelopmentRoadMap2024-(PLANNED)UpdatingGuides">(PLANNED) Updating Guides</h2><p>There are multiple guides available on the project's website, and they need updating. Especially the contribution/development guides should always be up-to-date and as simple as possible, to encourage more participation.</p><p>Some of the required steps to set up a project might be replaced by improving the Gradle scripts, to make it even easier.</p><p></p></div> + </div> + <!-- /// Content End --> + </div> + </div> + </div> + </div> + </article> + + <!-- /// Footer Start --> + <div id="footer"><p>Apache Tapestry, Tapestry, Apache, the Apache feather logo, and the Apache Tapestry project logo are trademarks of The Apache Software Foundation.</p><p><br clear="none"><footer class="py-3"> + <div class="container-fluid"> + <div class="container"> + <div class="row"> + <div class="col-4 col-lg-2"> + <span class="font-weight-bold">Apache Tapestry</span> + <ul><li><a href="index.html">Home</a></li><li><a href="download.html">Download</a></li><li><a href="about.html">Team</a></li><li><a href="https://www.apache.org/licenses/LICENSE-2.0">License</a></li></ul> + <span class="font-weight-bold">Documentation</span> + <ul><li><a href="introduction.html">Introduction</a></li><li><a href="principles.html">Principles</a></li><li><i class="fas fa-play"></i> <a href="getting-started.html">Getting Started</a></li><li><i class="fas fa-play"></i> <a href="user-guide.html">User Guide</a></li><li><i class="fas fa-book"></i> <a href="documentation.html">Docs</a></li><li><i class="fas fa-book"></i> <a href="component-reference.html">Component Reference</a></li><li><i class="fas fa-book"></i> <a href="current/apidocs">Apidocs</a></li><li><a href="frequently-asked-questions.html">FAQ</a></li></ul> + </div> + <div class="col-4 col-lg-2"> + <span class="font-weight-bold">Community</span> + <ul><li><i class="fas fa-envelope-open-text"></i> <a href="community.html">Mailing Lists</a></li><li><i class="fab fa-stack-overflow"> </i> <a href="https://stackoverflow.com/questions/tagged/tapestry">StackOverflow</a></li><li><a href="support.html">Support</a></li><li><a href="community.html">Getting Involved</a></li><li><a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=300026356" title="Edit this page (requires approval, just ask on the mailing list)">Edit this page</a></li></ul> + <span class="font-weight-bold">Social</span> + <ul><li><i class="fab fa-twitter"></i> <a href="https://twitter.com/ApacheTapestry">@ApacheTapestry</a></li><li><i class="fas fa-hashtag"></i> <a href="https://twitter.com/hashtag/tapestry5">#tapestry5</a></li></ul> + <span class="font-weight-bold">Development</span> + <ul><li><i class="fab fa-git"></i> <a href="https://gitbox.apache.org/repos/asf?p=tapestry-5.git">Source Code</a></li><li><i class="fab fa-jira"></i> <a href="https://issues.apache.org/jira/browse/TAP5">Issues</a></li></ul> + </div> + <div class="col-4 col-lg-2"> + <span class="font-weight-bold">Apache</span> + <ul><li><a href="https://www.apache.org/">About Apache</a></li><li><a href="https://apachecon.com/?ref=royale.apache.org">Events</a></li><li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li><li><a href="https://www.apache.org/licenses/LICENSE-2.0">License</a></li><li><a href="https://www.apache.org/security/">Security</a></li><li><a href="https://www.apache.org/foundation/thanks.html">Thanks!</a></li></ul> + </div> + <div class="col-md-12 col-lg-6 clearfix"> + <span class="font-weight-bold d-block">About us</span> + <p class="float-right ml-3 mb-0"><img src="images/apache-tapestry-icon-light.svg" width="100" alt="Apache Tapestry" title="Apache Tapestry"></p> + <p><a href="https://tapestry.apache.org/">Apache Tapestry™</a> is an open-source component-oriented framework for creating dynamic, robust, highly scalable web applications in Java.</p> + <p>Tapestry complements and builds upon the standard Java Servlet API, and so it works in any servlet container or application server.</p> + <p class="float-right ml-3 mb-0"><img src="images/apache-powered-by.svg" width="100" alt="Apache PoweredBy" title="Apache PoweredBy"></p> + <p> + <a href="https://tapestry.apache.org/">Apache Tapestry™</a>, <a href="https://www.apache.org/">Apache™</a> and the <a href="https://www.apache.org/foundation/press/kit/">Apache feather logo™</a> + are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners. + </p> + </div> + </div> + <div class="row"> + <div class="col-12"> + Copyright © 2020 The Apache Software Foundation, Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>. + </div> + </div> + </div> + </div> +</footer><br clear="none"></p><p><br clear="none"></p></div> + <!-- /// Footer End --> +</body> +</html> Modified: websites/production/tapestry/content/documentation.html ============================================================================== --- websites/production/tapestry/content/documentation.html (original) +++ websites/production/tapestry/content/documentation.html Sat Mar 30 14:11:48 2024 @@ -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><li><a href="rest-support-580.html">REST Support (5.8.0+)</a></li><li><a href="cors-cross-origin-resource-sharing-support-582.html">CORS (Cross-Origin Resource Sharing) Support (5.8.2+)</a></li></ul></li><li><a href="cheat-sheets.html">Cheat Sheets</a><ul class="childpages-macro"><li><a href="applicat ion-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">Tapestry 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 Componen t 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-components-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-562.html">Release Notes 5.6.2</a></li><li><a href="release-notes-563.html">Release Notes 5.6.3</a></li><li><a href="release-notes-570.html">Release Notes 5.7.0</a></li><li><a href="release-notes-571.html">Release Notes 5.7.1</a></li><li><a href="release-notes-572.html">Release Notes 5.7.2</a></li><li><a href="release-notes-564.html">Release Notes 5.6.4</a></li><li><a href="release-notes-573.html">Release Notes 5.7.3</a></li><li><a href="release-notes-580.html">Release Notes 5.8.0</a></li><li><a href="release-notes-581.html">Release Notes 5.8.1</a></li><li><a href="release-notes-582.html">Release Notes 5.8.2</a></li><li><a href="release-notes-583.html">Release Notes 5.8.3</a></li><li><a href="release-notes-584.html">Release Notes 5.8.4</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> + <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><li><a href="rest-support-580.html">REST Support (5.8.0+)</a></li><li><a href="cors-cross-origin-resource-sharing-support-582.html">CORS (Cross-Origin Resource Sharing) Support (5.8.2+)</a></li></ul></li><li><a href="cheat-sheets.html">Cheat Sheets</a><ul class="childpages-macro"><li><a href="applicat ion-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">Tapestry 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 Componen t 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-components-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-562.html">Release Notes 5.6.2</a></li><li><a href="release-notes-563.html">Release Notes 5.6.3</a></li><li><a href="release-notes-570.html">Release Notes 5.7.0</a></li><li><a href="release-notes-571.html">Release Notes 5.7.1</a></li><li><a href="release-notes-572.html">Release Notes 5.7.2</a></li><li><a href="release-notes-564.html">Release Notes 5.6.4</a></li><li><a href="release-notes-573.html">Release Notes 5.7.3</a></li><li><a href="release-notes-580.html">Release Notes 5.8.0</a></li><li><a href="release-notes-581.html">Release Notes 5.8.1</a></li><li><a href="release-notes-582.html">Release Notes 5.8.2</a></li><li><a href="release-notes-583.html">Release Notes 5.8.3</a></li><li><a href="release-notes-584.html">Release Notes 5.8.4</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><li><a href="development-road-map-2024.html">Development Road Map 2024</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: 18.81%;"><col span="1" style="width: 9.02111%;"><col span="1" style="width: 9.02111%;"><col span="1" style="width: 9.02111%;"><col span="1" style="width: 9.78887%;"><col span="1" style="width: 9.78887%;"><col span="1" style="width: 9.78887%;"><col span="1" style="width: 9.78887%;"><col span="1" style="width: 14.9712%;"><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/5.6.3">5.6.3</a></td><td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link" href="http://tapestry.apache.org/5.7.3">5.7.3</a></td><td colspan="1" rowspan="1" class="confluenceTd"><a class="external-lin k" href="http://tapestry.apache.org/current">5.8.3 (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.7.2</span></em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><em>see 5.7.2</em></td><td colspan="1" rowspan="1" class="confluenceTd">see 5.7.2</td><td colspan="1" rowspan="1" class="confluenceTd">see 5.7.2</td><td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link" href="https://tapestry.apache.org/component-reference.html">5.7.3</a></td><td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link" href="https://tapestry.apache.org/component-reference.html">5.8.3</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-notes-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"><a href="release-notes-560.html">5.6</a></td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-570.html">5.7.0</a></td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-583.html">5.8.3</a></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 us ing 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> 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-link" href="https://web.archive.org/web/20160410090538/http://blog.tapestry5.de/" rel="nofollow">Igor Drobiazko's blog</a> (committer & 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>  (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> (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. Ta pestry 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) – 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> – 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 Overflo w</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><p></p><p></p></div>