You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by bu...@apache.org on 2014/12/16 16:20:03 UTC

svn commit: r932980 - in /websites/production/tapestry/content: cache/main.pageCache downloadboxes.html exploring-the-project.html getting-started.html index.html tapestry-tutorial.html using-tapestry-with-hibernate.html whatistapestry.html

Author: buildbot
Date: Tue Dec 16 15:20:02 2014
New Revision: 932980

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/downloadboxes.html
    websites/production/tapestry/content/exploring-the-project.html
    websites/production/tapestry/content/getting-started.html
    websites/production/tapestry/content/index.html
    websites/production/tapestry/content/tapestry-tutorial.html
    websites/production/tapestry/content/using-tapestry-with-hibernate.html
    websites/production/tapestry/content/whatistapestry.html

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

Modified: websites/production/tapestry/content/downloadboxes.html
==============================================================================
--- websites/production/tapestry/content/downloadboxes.html (original)
+++ websites/production/tapestry/content/downloadboxes.html Tue Dec 16 15:20:02 2014
@@ -56,9 +56,7 @@
   </div>
 
 <div id="content">
-<div id="ConfluenceContent"><p>
-
-<style>
+<div id="ConfluenceContent"><style>
 
 #downloadBox {
     background: url("downloadboxes.data/cadre.png") no-repeat scroll left top transparent;
@@ -178,13 +176,13 @@
 
 </style>
 
-</p><div align="center" id="infoWrapper">
+<div align="center" id="infoWrapper">
   <div id="downloadBox">
     <div class="downloadPluginWrapper">
         <div id="download">
           <a shape="rect" href="http://tapestry.apache.org/download.html"></a><div id="downloadButton"></div>
          
-          <p>Download the latest <b>Tapestry 5</b> release. </p>
+          <p>Download the latest <b>Tapestry</b> release. </p>
           <h4><a shape="rect" href="http://tapestry.apache.org/download.html">more downloads</a></h4>
         </div>
         
@@ -207,8 +205,7 @@
     </div>
   </div>
 </div>
-
-<p></p></div>
+</div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/exploring-the-project.html
==============================================================================
--- websites/production/tapestry/content/exploring-the-project.html (original)
+++ websites/production/tapestry/content/exploring-the-project.html Tue Dec 16 15:20:02 2014
@@ -114,7 +114,7 @@ of where to look for pages, components a
     &lt;/filter-mapping&gt;
 &lt;/web-app&gt;
 ]]></script>
-</div></div><p>This is short and sweet: you can see that the package name you provided earlier shows up as the <code>tapestry.app-package</code> context parameter; the TapestryFilter instance will use this information to locate the Java classes for pages and components.</p><p>Tapestry 5 operates as a <em>servlet filter</em> rather than as a traditional <em>servlet</em>. In this way, Tapestry has a chance to intercept all incoming requests, to determine which ones apply to Tapestry pages (or other resources). The net effect is that you don't have to maintain any additional configuration for Tapestry to operate, regardless of how many pages or components you add to your application.</p><p>Much of the rest of web.xml is configuration to match Tapestry execution modes against module classes. An execution mode defines how the application is being run: the default execution mode is "production", but the web.xml defines two additional modes: "development" and "qa" (for "Quality Assurance")
 . The module classes indicated will be loaded for those execution modes, and can change the configuration of the application is various ways. We'll come back to execution modes and module classes later in the tutorial.</p><p>Tapestry pages minimally consist of an ordinary Java class plus a component template file.</p><p>In the root of your web application, a page named "Index" will be used for any request that specifies no additional path after the context name.</p><h1 id="ExploringtheProject-IndexJavaClass">Index Java Class</h1><p>Tapestry has very specific rules for where page classes go. Tapestry adds a sub-package, "pages", to the root application package ("com.example.tutorial"); the Java classes for pages goes there. Thus the full Java class name is com.example.tutorial.pages.Index.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>src/main/java/com/example/tutorial/pages/Index.java</b></div><
 div class="codeContent panelContent pdl">
+</div></div><p>This is short and sweet: you can see that the package name you provided earlier shows up as the <code>tapestry.app-package</code> context parameter; the TapestryFilter instance will use this information to locate the Java classes for pages and components.</p><p>Tapestry operates as a <em>servlet filter</em> rather than as a traditional <em>servlet</em>. In this way, Tapestry has a chance to intercept all incoming requests, to determine which ones apply to Tapestry pages (or other resources). The net effect is that you don't have to maintain any additional configuration for Tapestry to operate, regardless of how many pages or components you add to your application.</p><p>Much of the rest of web.xml is configuration to match Tapestry execution modes against module classes. An execution mode defines how the application is being run: the default execution mode is "production", but the web.xml defines two additional modes: "development" and "qa" (for "Quality Assurance"). 
 The module classes indicated will be loaded for those execution modes, and can change the configuration of the application is various ways. We'll come back to execution modes and module classes later in the tutorial.</p><p>Tapestry pages minimally consist of an ordinary Java class plus a component template file.</p><p>In the root of your web application, a page named "Index" will be used for any request that specifies no additional path after the context name.</p><h1 id="ExploringtheProject-IndexJavaClass">Index Java Class</h1><p>Tapestry has very specific rules for where page classes go. Tapestry adds a sub-package, "pages", to the root application package ("com.example.tutorial"); the Java classes for pages goes there. Thus the full Java class name is com.example.tutorial.pages.Index.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>src/main/java/com/example/tutorial/pages/Index.java</b></div><di
 v class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[package com.example.tutorial.pages;
 
 import java.util.Date;
@@ -264,13 +264,13 @@ public class Index
 
 
 
-<span class="gliffy-container" id="gliffy-container-24346949-886" data-fullwidth="913" data-ceoid="24188263" data-edit="${diagramEditLink.getLinkUrl()}" data-full="/confluence/plugins/gliffy/viewer.action?inline=false&amp;attachmentId=24346949&amp;attachmentVersion=2&amp;lastPage=%2Fpages%2Fviewpage.action%3FpageId%3D24188263" data-filename="Templates and Parameters">
+<span class="gliffy-container" id="gliffy-container-24346949-1535" data-fullwidth="913" data-ceoid="24188263" data-edit="${diagramEditLink.getLinkUrl()}" data-full="/confluence/plugins/gliffy/viewer.action?inline=false&amp;attachmentId=24346949&amp;attachmentVersion=2&amp;lastPage=%2Fpages%2Fviewpage.action%3FpageId%3D24188263" data-filename="Templates and Parameters">
 
-    <map id="gliffy-map-24346949-4163" name="gliffy-map-24346949-4163"></map>
+    <map id="gliffy-map-24346949-6737" name="gliffy-map-24346949-6737"></map>
 
-    <img class="gliffy-image gliffy-image-border" id="gliffy-image-24346949-886" width="304" height="300" data-full-width="913" data-full-height="901" src="https://cwiki.apache.org/confluence/download/attachments/24188263/Templates%20and%20Parameters.png?version=2&amp;modificationDate=1371888025000&amp;api=v2" alt="Templates and Parameters" usemap="#gliffy-map-24346949-4163">
+    <img class="gliffy-image gliffy-image-border" id="gliffy-image-24346949-1535" width="304" height="300" data-full-width="913" data-full-height="901" src="https://cwiki.apache.org/confluence/download/attachments/24188263/Templates%20and%20Parameters.png?version=2&amp;modificationDate=1371888025000&amp;api=v2" alt="Templates and Parameters" usemap="#gliffy-map-24346949-6737">
 
-    <map class="gliffy-dynamic" id="gliffy-dynamic-map-24346949-886" name="gliffy-dynamic-map-24346949-886"></map>
+    <map class="gliffy-dynamic" id="gliffy-dynamic-map-24346949-1535" name="gliffy-dynamic-map-24346949-1535"></map>
 </span>
 
 

Modified: websites/production/tapestry/content/getting-started.html
==============================================================================
--- websites/production/tapestry/content/getting-started.html (original)
+++ websites/production/tapestry/content/getting-started.html Tue Dec 16 15:20:02 2014
@@ -91,7 +91,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="getting-started.html">Getting Started</a>
+                            <a shape="rect" href="introduction.html">Introduction</a>
                     
                 
                             </div>
@@ -109,7 +109,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="introduction.html">Introduction</a>
+                            <a shape="rect" href="getting-started.html">Getting Started</a>
                     
                 
                             </div>
@@ -141,12 +141,12 @@ Choose version:
 3: 5.2.6
 4: 5.3.7
 Choose a number: 4: 4
-Downloading: http://tapestry.apache.org/org/apache/tapestry/quickstart/5.3.6/quickstart-5.3.7.jar
-Downloading: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.6/quickstart-5.3.7.jar
-Downloaded: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.6/quickstart-5.3.7.jar (64 KB at 69.3 KB/sec)
-Downloading: http://tapestry.apache.org/org/apache/tapestry/quickstart/5.3.6/quickstart-5.3.7.pom
-Downloading: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.6/quickstart-5.3.7.pom
-Downloaded: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.6/quickstart-5.3.7.pom (400 B at 1.0 KB/sec)
+Downloading: http://tapestry.apache.org/org/apache/tapestry/quickstart/5.3.7/quickstart-5.3.7.jar
+Downloading: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.7/quickstart-5.3.7.jar
+Downloaded: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.7/quickstart-5.3.7.jar (64 KB at 69.3 KB/sec)
+Downloading: http://tapestry.apache.org/org/apache/tapestry/quickstart/5.3.7/quickstart-5.3.7.pom
+Downloading: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.7/quickstart-5.3.7.pom
+Downloaded: http://repo1.maven.org/maven2/org/apache/tapestry/quickstart/5.3.7/quickstart-5.3.7.pom (400 B at 1.0 KB/sec)
 Define value for property 'groupId': : com.example
 Define value for property 'artifactId': : newapp
 Define value for property 'version':  1.0-SNAPSHOT: :

Modified: websites/production/tapestry/content/index.html
==============================================================================
--- websites/production/tapestry/content/index.html (original)
+++ websites/production/tapestry/content/index.html Tue Dec 16 15:20:02 2014
@@ -243,9 +243,7 @@ While not an actual release candidate,&#
     
         
     </div>
-    </div><div class="big-col" id="content"><p>
-
-<style>
+    </div><div class="big-col" id="content"><style>
 
 #downloadBox {
     background: url("downloadboxes.data/cadre.png") no-repeat scroll left top transparent;
@@ -365,13 +363,13 @@ While not an actual release candidate,&#
 
 </style>
 
-</p><div align="center" id="infoWrapper">
+<div align="center" id="infoWrapper">
   <div id="downloadBox">
     <div class="downloadPluginWrapper">
         <div id="download">
           <a shape="rect" href="http://tapestry.apache.org/download.html"></a><div id="downloadButton"></div>
          
-          <p>Download the latest <b>Tapestry 5</b> release. </p>
+          <p>Download the latest <b>Tapestry</b> release. </p>
           <h4><a shape="rect" href="http://tapestry.apache.org/download.html">more downloads</a></h4>
         </div>
         
@@ -394,8 +392,7 @@ While not an actual release candidate,&#
     </div>
   </div>
 </div>
-
-<p></p> <style>
+ <style>
 
 .tapProperty {
    width : 32px;
@@ -518,7 +515,7 @@ While not an actual release candidate,&#
 </style>
 
 <div id="question">
-<h2> What is Tapestry 5 ? </h2>
+<h2> What is Tapestry? </h2>
 </div>
 <div id="whatIs">
 <div class="whatIsWrapper">

Modified: websites/production/tapestry/content/tapestry-tutorial.html
==============================================================================
--- websites/production/tapestry/content/tapestry-tutorial.html (original)
+++ websites/production/tapestry/content/tapestry-tutorial.html Tue Dec 16 15:20:02 2014
@@ -91,7 +91,7 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="getting-started.html">Getting Started</a>
+                            <a shape="rect" href="introduction.html">Introduction</a>
                     
                 
                             </div>
@@ -109,12 +109,12 @@
                     <span class="icon icon-page" title="Page">Page:</span>            </div>
 
             <div class="details">
-                            <a shape="rect" href="introduction.html">Introduction</a>
+                            <a shape="rect" href="getting-started.html">Getting Started</a>
                     
                 
                             </div>
         </li></ul>
-</div><h1 id="TapestryTutorial-TableofContents">Table of Contents</h1><p></p><ul class="childpages-macro"><li><a shape="rect" href="dependencies-tools-and-plugins.html">Dependencies, Tools and Plugins</a></li><li><a shape="rect" href="creating-the-skeleton-application.html">Creating The Skeleton Application</a></li><li><a shape="rect" href="exploring-the-project.html">Exploring the Project</a></li><li><a shape="rect" href="implementing-the-hi-lo-guessing-game.html">Implementing the Hi-Lo Guessing Game</a></li><li><a shape="rect" href="using-beaneditform-to-create-user-forms.html">Using BeanEditForm To Create User Forms</a></li><li><a shape="rect" href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a></li></ul><h1 id="TapestryTutorial-Introduction">Introduction</h1><p>Welcome to Tapestry!</p><p>This is a tutorial for people who will be creating Tapestry 5 applications. It doesn't matter whether you have experience with Tapestry 4 (or Tapestry 3, for that matter) 
 or whether you are completely new to Tapestry. In fact, in some ways, the less you know about web development in general, and older Tapestry versions in particular, the better off you may be ... that much less to unlearn!</p><p>You do need to have a reasonable understanding of HTML, a smattering of XML, and a good understanding of basic Java language features, including Annotations.</p><h1 id="TapestryTutorial-TheChallengesofWebApplicationDevelopment">The Challenges of Web Application Development</h1><p>If you're used to developing web applications using servlets and JSPs, or with Struts, you are simply used to a lot of pain. So much pain, you may not even understand the dire situation you are in! These are environments with no safety net; Struts and the Servlet API have no idea how your application is structured, or how the different pieces fit together. Any URL can be an action and any action can forward to any view (usually a JSP) to provide an HTML response to the web browser. T
 he pain is the unending series of small, yet important, decisions you have to make as a developer (and communicate to the rest of your team). What are the naming conventions for actions, for pages, for attributes stored in the HttpSession or HttpServletRequest? Where do cross-cutting concerns such as database transactions, caching and security get implemented (and do you have to cut-and-paste Java or XML to make it work?) How are your packages organized ... where to the user interface classes go, and where do the data and entity objects go? How do you share code from one part of your application to another?</p><p>On top of all that, the traditional approaches thrust something most unwanted in your face: <em>multi-threaded coding</em>. Remember back to Object Oriented Programming 101 where an object was defined as a bundle of data and operations on that data? You have to unlearn that lesson as soon as you build a traditional web application, because web applications are multi-threade
 d. An application server could be handling dozens or hundreds of requests from individual users, each in their own thread, and each sharing the exact same objects. Suddenly, you can't store data inside an object (a servlet or a Struts Action) because whatever data you store for one user will be instantly overwritten by some other user.</p><p>Worse, your objects each have only one operation: <code>doGet()</code> or <code>doPost()</code>.</p><p>Meanwhile, most of your day-to-day work involves deciding how to package up some data already inside a particular Java object and squeeze that data into a URL's query parameters, so that you can write more code to convert it back if the user clicks that particular link. And don't forget editing a bunch of XML files to keep the servlet container, or the Struts framework, aware of these decisions.</p><p>Just for laughs, remember that you have to rebuild, redeploy and restart your application after virtually any change. Is any of this familiar? Th
 en perhaps you'd appreciate something a little <em>less</em> familiar: Tapestry.</p><h1 id="TapestryTutorial-TheTapestryWay">The Tapestry Way</h1><p>Tapestry uses a very different model: a structured, organized world of pages, and components within pages. Everything has a very specific name (that you provide). Once you know the name of a page, you know the location of the Java class for that page, the location of the template for that page, and the total structure of the page. Tapestry knows all this as well, and can make things <strong>just work</strong>.</p><p>As we'll see in the following pages, Tapestry lets you code in terms of your objects. You'll barely see any Tapestry classes, outside of a few Java annotations. If you have information to store, store it as fields of your classes, not inside the HttpServletRequest or HttpSession. If you need some code to execute, it's just a simple annotation or method naming convention to get Tapestry to invoke that method, at the right tim
 e, with the right data. The methods don't even have to be public!</p><p>Tapestry also shields you from most of the multi-threaded aspects of web application development. Tapestry manages the life cycle of your page and components objects, and the fields of the pages and components, in a thread-safe way. Your page and component classes always look like simple, standard <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Plain_Old_Java_Object" >POJOs</a>.</p><p>Tapestry began in January 2000, and it now reflects over fourteen years of experience of the entire Tapestry community. Tapestry brings to the table all that experience about the best ways to build scalable, maintainable, robust, internationalized, and Ajax-enabled applications. Tapestry 5 represents a completely new code base (compared to Tapestry 4) designed to simplify the Tapestry coding model while at the same time extending the power of Tapestry and improving performance.</p><h1 id="TapestryTutorial-G
 ettingTheTutorialSource">Getting The Tutorial Source</h1><p>The source code for the Tapestry tutorial is available on <a shape="rect" class="external-link" href="https://github.com/hlship/tapestry5-tutorial" >GitHub</a> (although you won't need it to complete the tutorial).</p><h1 id="TapestryTutorial-TimetoBegin">Time to Begin</h1><p>Okay, enough background. Now let's get started on the tutorial: <a shape="rect" href="dependencies-tools-and-plugins.html">Dependencies, Tools and Plugins</a></p><p>&#160;</p></div>
+</div><h1 id="TapestryTutorial-TableofContents">Table of Contents</h1><p></p><ul class="childpages-macro"><li><a shape="rect" href="dependencies-tools-and-plugins.html">Dependencies, Tools and Plugins</a></li><li><a shape="rect" href="creating-the-skeleton-application.html">Creating The Skeleton Application</a></li><li><a shape="rect" href="exploring-the-project.html">Exploring the Project</a></li><li><a shape="rect" href="implementing-the-hi-lo-guessing-game.html">Implementing the Hi-Lo Guessing Game</a></li><li><a shape="rect" href="using-beaneditform-to-create-user-forms.html">Using BeanEditForm To Create User Forms</a></li><li><a shape="rect" href="using-tapestry-with-hibernate.html">Using Tapestry With Hibernate</a></li></ul><h1 id="TapestryTutorial-Introduction">Introduction</h1><p>Welcome to Tapestry!</p><p>This is a tutorial for people who will be creating Tapestry web applications. It doesn't matter whether you have experience with earlier versions of Tapestry or other web 
 frameworks. In fact, in some ways, the less you know about web development in general, the better off you may be ... that much less to unlearn!</p><p>You do need to have a reasonable understanding of HTML, a smattering of XML, and a good understanding of basic Java language features, including Annotations.</p><h1 id="TapestryTutorial-TheChallengesofWebApplicationDevelopment">The Challenges of Web Application Development</h1><p>If you're used to developing web applications using servlets and JSPs, or with Struts, you are simply used to a lot of pain. So much pain, you may not even understand the dire situation you are in! These are environments with no safety net; Struts and the Servlet API have no idea how your application is structured, or how the different pieces fit together. Any URL can be an action and any action can forward to any view (usually a JSP) to provide an HTML response to the web browser. The pain is the unending series of small, yet important, decisions you have to 
 make as a developer (and communicate to the rest of your team). What are the naming conventions for actions, for pages, for attributes stored in the HttpSession or HttpServletRequest? Where do cross-cutting concerns such as database transactions, caching and security get implemented (and do you have to cut-and-paste Java or XML to make it work?) How are your packages organized ... where to the user interface classes go, and where do the data and entity objects go? How do you share code from one part of your application to another?</p><p>On top of all that, the traditional approaches thrust something most unwanted in your face: <em>multi-threaded coding</em>. Remember back to Object Oriented Programming 101 where an object was defined as a bundle of data and operations on that data? You have to unlearn that lesson as soon as you build a traditional web application, because web applications are multi-threaded. An application server could be handling dozens or hundreds of requests from
  individual users, each in their own thread, and each sharing the exact same objects. Suddenly, you can't store data inside an object (a servlet or a Struts Action) because whatever data you store for one user will be instantly overwritten by some other user.</p><p>Worse, your objects each have only one operation: <code>doGet()</code> or <code>doPost()</code>.</p><p>Meanwhile, most of your day-to-day work involves deciding how to package up some data already inside a particular Java object and squeeze that data into a URL's query parameters, so that you can write more code to convert it back if the user clicks that particular link. And don't forget editing a bunch of XML files to keep the servlet container, or the Struts framework, aware of these decisions.</p><p>Just for laughs, remember that you have to rebuild, redeploy and restart your application after virtually any change. Is any of this familiar? Then perhaps you'd appreciate something a little <em>less</em> familiar: Tapestr
 y.</p><h1 id="TapestryTutorial-TheTapestryWay">The Tapestry Way</h1><p>Tapestry uses a very different model: a structured, organized world of pages, and components within pages. Everything has a very specific name (that you provide). Once you know the name of a page, you know the location of the Java class for that page, the location of the template for that page, and the total structure of the page. Tapestry knows all this as well, and can make things <strong>just work</strong>.</p><p>As we'll see in the following pages, Tapestry lets you code in terms of your objects. You'll barely see any Tapestry classes, outside of a few Java annotations. If you have information to store, store it as fields of your classes, not inside the HttpServletRequest or HttpSession. If you need some code to execute, it's just a simple annotation or method naming convention to get Tapestry to invoke that method, at the right time, with the right data. The methods don't even have to be public!</p><p>Tapest
 ry also shields you from most of the multi-threaded aspects of web application development. Tapestry manages the life cycle of your page and components objects, and the fields of the pages and components, in a thread-safe way. Your page and component classes always look like simple, standard <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Plain_Old_Java_Object" >POJOs</a>.</p><p>Tapestry began in January 2000, and it now reflects over fourteen years of experience of the entire Tapestry community. Tapestry brings to the table all that experience about the best ways to build scalable, maintainable, robust, internationalized, and Ajax-enabled applications. Tapestry 5 represents a completely new code base (compared to Tapestry 4) designed to simplify the Tapestry coding model while at the same time extending the power of Tapestry and improving performance.</p><h1 id="TapestryTutorial-GettingTheTutorialSource">Getting The Tutorial Source</h1><p>The source code fo
 r the Tapestry tutorial is available on <a shape="rect" class="external-link" href="https://github.com/hlship/tapestry5-tutorial" >GitHub</a> (although you won't need it to complete the tutorial).</p><h1 id="TapestryTutorial-TimetoBegin">Time to Begin</h1><p>Okay, enough background. Now let's get started on the tutorial: <a shape="rect" href="dependencies-tools-and-plugins.html">Dependencies, Tools and Plugins</a></p><p>&#160;</p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/using-tapestry-with-hibernate.html
==============================================================================
--- websites/production/tapestry/content/using-tapestry-with-hibernate.html (original)
+++ websites/production/tapestry/content/using-tapestry-with-hibernate.html Tue Dec 16 15:20:02 2014
@@ -206,7 +206,7 @@ public class Index
     }
 }
 ]]></script>
-</div></div><p>Here, we're using the Hibernate Session object to find all Address objects in the database. Any sorting that takes place will be done in memory. This is fine for now (with only a handful of Address objects in the database). Later we'll see how to optimize this for very large result sets.</p><h2 id="UsingTapestryWithHibernate-What'sNext?">What's Next?</h2><p>We have lots more to talk about: more components, more customizations, built-in Ajax support, more common design and implementation patterns, and even writing your own components (which is easy!).</p><p>Check out the many Tapestry resources available on the <a shape="rect" href="documentation.html">Tapestry 5 Documentation page</a> page, including the <a shape="rect" href="getting-started.html">Getting Started</a> and <a shape="rect" href="frequently-asked-questions.html">FAQ</a> pages and the <a shape="rect" href="cookbook.html">Cookbook Recipies</a>. Be sure to peruse the <a shape="rect" href="user-guide.html">Us
 er Guide</a>, which provides comprehensive details on nearly every Tapestry topic. Finally, be sure to visit (and bookmark) <a shape="rect" class="external-link" href="http://jumpstart.doublenegative.com.au/jumpstart7/" >Tapestry JumpStart</a>, which provides a nearly exhaustive set of tutorials.</p><style type="text/css">/*<![CDATA[*/
+</div></div><p>Here, we're using the Hibernate Session object to find all Address objects in the database. Any sorting that takes place will be done in memory. This is fine for now (with only a handful of Address objects in the database). Later we'll see how to optimize this for very large result sets.</p><h2 id="UsingTapestryWithHibernate-What'sNext?">What's Next?</h2><p>We have lots more to talk about: more components, more customizations, built-in Ajax support, more common design and implementation patterns, and even writing your own components (which is easy!).</p><p>Check out the many Tapestry resources available on the <a shape="rect" href="documentation.html">Documentation</a> page, including the <a shape="rect" href="getting-started.html">Getting Started</a> and <a shape="rect" href="frequently-asked-questions.html">FAQ</a> pages and the <a shape="rect" href="cookbook.html">Cookbook</a>. Be sure to peruse the <a shape="rect" href="user-guide.html">User Guide</a>, which provi
 des comprehensive details on nearly every Tapestry topic. Finally, be sure to visit (and bookmark) <a shape="rect" class="external-link" href="http://jumpstart.doublenegative.com.au/jumpstart7/" >Tapestry JumpStart</a>, which provides a nearly exhaustive set of tutorials.</p><style type="text/css">/*<![CDATA[*/
 table.ScrollbarTable  {border: none;padding: 3px;width: 100%;padding: 3px;margin: 0px;background-color: #f0f0f0}
 table.ScrollbarTable td.ScrollbarPrevIcon {text-align: center;width: 16px;border: none;}
 table.ScrollbarTable td.ScrollbarPrevName {text-align: left;border: none;}

Modified: websites/production/tapestry/content/whatistapestry.html
==============================================================================
--- websites/production/tapestry/content/whatistapestry.html (original)
+++ websites/production/tapestry/content/whatistapestry.html Tue Dec 16 15:20:02 2014
@@ -179,7 +179,7 @@
 </style>
 
 <div id="question">
-<h2> What is Tapestry 5 ? </h2>
+<h2> What is Tapestry? </h2>
 </div>
 <div id="whatIs">
 <div class="whatIsWrapper">