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/[email protected]/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>