Author: buildbot
Date: Sat Aug  8 17:20:04 2015
New Revision: 961168

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/autoloading-modules.html
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/case-insensitivity.html
    websites/production/tapestry/content/chainbuilder-service.html
    websites/production/tapestry/content/creating-the-skeleton-application.html
    websites/production/tapestry/content/defining-tapestry-ioc-services.html
    websites/production/tapestry/content/dependencies-tools-and-plugins.html
    websites/production/tapestry/content/exploring-the-project.html
    websites/production/tapestry/content/getting-started.html
    
websites/production/tapestry/content/implementing-the-hi-lo-guessing-game.html
    websites/production/tapestry/content/injection-in-detail.html
    websites/production/tapestry/content/object-providers.html
    websites/production/tapestry/content/ordering-by-constraints.html
    websites/production/tapestry/content/pipelinebuilder-service.html
    websites/production/tapestry/content/service-advisors.html
    websites/production/tapestry/content/service-implementation-reloading.html
    websites/production/tapestry/content/service-serialization.html
    websites/production/tapestry/content/shadowbuilder-service.html
    websites/production/tapestry/content/strategybuilder-service.html
    websites/production/tapestry/content/symbols.html
    websites/production/tapestry/content/tapestry-ioc-configuration.html
    websites/production/tapestry/content/tapestry-ioc-decorators.html
    websites/production/tapestry/content/tapestry-ioc-modules.html
    websites/production/tapestry/content/tapestry-ioc-overview.html
    websites/production/tapestry/content/type-coercion.html
    
websites/production/tapestry/content/using-beaneditform-to-create-user-forms.html
    websites/production/tapestry/content/using-tapestry-with-hibernate.html

Modified: websites/production/tapestry/content/autoloading-modules.html
==============================================================================
--- websites/production/tapestry/content/autoloading-modules.html (original)
+++ websites/production/tapestry/content/autoloading-modules.html Sat Aug  8 
17:20:04 2015
@@ -62,12 +62,12 @@
 <div class="clearer"></div>
 
   <div id="breadcrumbs">
-        <a href="index.html">Apache Tapestry</a>&nbsp;&gt;&nbsp;<a 
href="documentation.html">Documentation</a>&nbsp;&gt;&nbsp;<a 
href="user-guide.html">User Guide</a>&nbsp;&gt;&nbsp;<a 
href="ioc.html">IoC</a>&nbsp;&gt;&nbsp;<a 
href="autoloading-modules.html">Autoloading Modules</a>
+        <a href="index.html">Apache Tapestry</a>&nbsp;&gt;&nbsp;<a 
href="documentation.html">Documentation</a>&nbsp;&gt;&nbsp;<a 
href="user-guide.html">User Guide</a>&nbsp;&gt;&nbsp;<a 
href="ioc.html">IOC</a>&nbsp;&gt;&nbsp;<a 
href="autoloading-modules.html">Autoloading Modules</a>
     <a class="edit" title="Edit this page (requires approval -- just ask on 
the mailing list)" 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=23338476";>edit</a>
   </div>
 
 <div id="content">
-<div id="ConfluenceContent"><h1 
id="AutoloadingModules-AutoloadingModules">Autoloading Modules</h1><p>An 
important part of Tapestry IoC is the autoloading of modules; this allows new 
features to be added to an application just by "dropping in" a JAR that 
contains a module: the services in the module are automatically integrated into 
the overall service registry, along with any configuration or other supporting 
code and resources.</p><p>An example of this is the <a shape="rect" 
href="uploading-files.html">tapestry-upload</a> library, which introduces an 
Upload component, along with supporting services related to handling file 
upload requests.</p><p>The core Tapestry IoC module is automatically included. 
When using the Tapestry web framework, the core Tapestry module is also 
included, as is an optional per-application module, plus any autoloaded 
modules.</p><p>Module autoloading isn't 100% free ... you must tell Tapestry 
IoC where the modules to load are located, which can be done via
  a Manifest file entry, or via an annotation.</p><h1 
id="AutoloadingModules-JARManifestEntries">JAR Manifest Entries</h1><p>When 
setting up the registry, Tapestry can automatically locate modules packaged 
into JARs. It does this by searching for a particular global manifest 
entry.</p><p>The manifest entry name is "Tapestry-Module-Classes". The value is 
a comma-separated list of fully qualified class names of module classes (this 
allows a single JAR to contain multiple, related modules). Whitespace is 
ignored.</p><p>Example:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<div id="ConfluenceContent"><p><strong>Autoloading of modules</strong> allows 
new features to be added to an application just by "dropping in" a JAR that 
contains a module: the services in the module are automatically integrated into 
the overall service registry, along with any configuration or other supporting 
code and resources.</p><p>An example of this is the <a shape="rect" 
href="uploading-files.html">tapestry-upload</a> library, which introduces an 
Upload component, along with supporting services related to handling file 
upload requests.</p><p>The core Tapestry IoC module is automatically included. 
When using the Tapestry web framework, the core Tapestry module is also 
included, as is an optional per-application module, plus any autoloaded 
modules.</p><p>Module autoloading isn't 100% free ... you must tell Tapestry 
IoC where the modules to load are located, which can be done via a Manifest 
file entry, or via an annotation.</p><h1 
id="AutoloadingModules-JARManifestEntries">JAR M
 anifest Entries</h1><p>When setting up the registry, Tapestry can 
automatically locate modules packaged into JARs. It does this by searching for 
a particular global manifest entry.</p><p>The manifest entry name is 
"Tapestry-Module-Classes". The value is a comma-separated list of fully 
qualified class names of module classes (this allows a single JAR to contain 
multiple, related modules). Whitespace is ignored.</p><p>Example:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <pre class="brush: text; gutter: false; theme: Default" 
style="font-size:12px;">Manifest-Version: 1.0
 Tapestry-Module-Classes: org.example.mylib.LibModule, 
org.example.mylib.internal.InternalModule</pre>
 </div></div><p>If you are using Maven 2, then getting these entries into your 
JAR's manifest is as simple as some configuration in your pom.xml:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
@@ -97,7 +97,7 @@ Tapestry-Module-Classes: org.example.myl
 public final class InternalModule
 {
   . . .</pre>
-</div></div><p>In general, your should only need to identify a single module 
in the JAR manifest, and make use of @SubModule to pull in any additional 
module classes.</p></div>
+</div></div><p>In general, your should only need to identify a single module 
in the JAR manifest, and make use of @SubModule to pull in any additional 
module classes.</p><p>&#160;</p><p></p></div>
 </div>
 
 <div class="clearer"></div>

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

Modified: websites/production/tapestry/content/case-insensitivity.html
==============================================================================
--- websites/production/tapestry/content/case-insensitivity.html (original)
+++ websites/production/tapestry/content/case-insensitivity.html Sat Aug  8 
17:20:04 2015
@@ -27,16 +27,6 @@
   </title>
   <link type="text/css" rel="stylesheet" href="/resources/space.css">
 
-    <link href='/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' 
type='text/css' />
-  <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
-  <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
-  <script type="text/javascript">
-  SyntaxHighlighter.defaults['toolbar'] = false;
-  SyntaxHighlighter.all();
-  </script>
 
   <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
 
@@ -62,27 +52,12 @@
 <div class="clearer"></div>
 
   <div id="breadcrumbs">
-        <a href="index.html">Apache Tapestry</a>&nbsp;&gt;&nbsp;<a 
href="documentation.html">Documentation</a>&nbsp;&gt;&nbsp;<a 
href="user-guide.html">User Guide</a>&nbsp;&gt;&nbsp;<a 
href="ioc.html">IoC</a>&nbsp;&gt;&nbsp;<a href="case-insensitivity.html">Case 
Insensitivity</a>
+        <a href="index.html">Apache Tapestry</a>&nbsp;&gt;&nbsp;<a 
href="documentation.html">Documentation</a>&nbsp;&gt;&nbsp;<a 
href="user-guide.html">User Guide</a>&nbsp;&gt;&nbsp;<a 
href="ioc.html">IOC</a>&nbsp;&gt;&nbsp;<a href="case-insensitivity.html">Case 
Insensitivity</a>
     <a class="edit" title="Edit this page (requires approval -- just ask on 
the mailing list)" 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=23338477";>edit</a>
   </div>
 
 <div id="content">
-<div id="ConfluenceContent">
-
-<h1 id="CaseInsensitivity-CaseInsensitivity">Case Insensitivity</h1>
-
-<p>Ever get frustrated because you typed the right thing with the wrong case 
and your system blew up? We do.</p>
-
-<p>Tapestry IoC attempts to be case insensitive for all the main 
constructs:</p>
-
-<ul><li>Service ids.</li><li>Object provider prefixes.</li><li>Message 
keys.<br clear="none">
-Thus, <code>getService("Baz", Baz.class)</code> is preferred, but 
<code>getService("BAZ", Baz.class)</code> (or any variation thereof) will work 
just exactly as well. This also extends to other naming conventions, such as 
<code>contributeFoo</code> methods. It also applies to values inside 
annotations.</li></ul>
-
-
-<p>Just case is ignored &#8211; other punctuation, as well as whitespace, must 
exactly match.</p>
-
-<p>Under the covers, this is supported by the <a shape="rect" 
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/util/CaseInsensitiveMap.html";>CaseInsensitiveMap</a>
 class.</p>
-</div>
+<div id="ConfluenceContent"><p>Ever get frustrated because you typed the right 
thing with the wrong case and your system blew up? We do.</p><p>Tapestry IoC 
attempts to be case insensitive for all the main constructs:</p><ul><li>Service 
ids.</li><li>Object provider prefixes.</li><li>Message keys.<br clear="none"> 
Thus, <code>getService("Baz", Baz.class)</code> is preferred, but 
<code>getService("BAZ", Baz.class)</code> (or any variation thereof) will work 
just exactly as well. This also extends to other naming conventions, such as 
<code>contributeFoo</code> methods. It also applies to values inside 
annotations.</li></ul><p>Just case is ignored &#8211; other punctuation, as 
well as whitespace, must exactly match.</p><p>Under the covers, this is 
supported by the <a shape="rect" class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/util/CaseInsensitiveMap.html";>CaseInsensitiveMap</a>
 class.</p><p>&#160;</p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/chainbuilder-service.html
==============================================================================
--- websites/production/tapestry/content/chainbuilder-service.html (original)
+++ websites/production/tapestry/content/chainbuilder-service.html Sat Aug  8 
17:20:04 2015
@@ -31,8 +31,6 @@
   <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
   <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
   <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
   <script type="text/javascript">
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -136,7 +134,7 @@
   {
      return chainBuilder.build(MyChainService.class, commands);
   }</pre>
-</div></div><p>Here, the behavior of the MyChainService is defined by its 
configuration: an ordered list of MyChainService commands that are contributed 
by one or more modules.</p><p>Internally, the ChainBuilder creates a new class 
that implements the service interface. The list of commands is converted into 
an array, which is used inside the service implementation (for maximum 
efficiency). Therefore, changing the list after creating the chain instance 
will not affect the chain instance's behavior.</p><p>ChainBuilder will reuse 
the fabricated class for any number of chains of the same command 
interface.</p></div>
+</div></div><p>Here, the behavior of the MyChainService is defined by its 
configuration: an ordered list of MyChainService commands that are contributed 
by one or more modules.</p><p>Internally, the ChainBuilder creates a new class 
that implements the service interface. The list of commands is converted into 
an array, which is used inside the service implementation (for maximum 
efficiency). Therefore, changing the list after creating the chain instance 
will not affect the chain instance's behavior.</p><p>ChainBuilder will reuse 
the fabricated class for any number of chains of the same command 
interface.</p><p>&#160;</p><p></p></div>
 </div>
 
 <div class="clearer"></div>

Modified: 
websites/production/tapestry/content/creating-the-skeleton-application.html
==============================================================================
--- websites/production/tapestry/content/creating-the-skeleton-application.html 
(original)
+++ websites/production/tapestry/content/creating-the-skeleton-application.html 
Sat Aug  8 17:20:04 2015
@@ -30,9 +30,7 @@
     <link href='/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet' 
type='text/css' />
   <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet' 
type='text/css' />
   <script src='/resources/highlighter/scripts/shCore.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script>
   <script src='/resources/highlighter/scripts/shBrushXml.js' 
type='text/javascript'></script>
-  <script src='/resources/highlighter/scripts/shBrushPlain.js' 
type='text/javascript'></script>
   <script type="text/javascript">
   SyntaxHighlighter.defaults['toolbar'] = false;
   SyntaxHighlighter.all();
@@ -67,7 +65,7 @@
   </div>
 
 <div id="content">
-<div id="ConfluenceContent"><p>&#160;</p><p>&#160;Before we can get down to 
the fun, we have to create an empty application. Tapestry uses a feature of 
Maven to do this: <strong>archetypes</strong> (a too-clever way of saying 
"project templates").</p><p>For the tutorial, we're using a fresh install of 
Eclipse and an empty workspace at <code>/users/joeuser/workspace</code>. You 
may need to adjust a few things for other operating systems or local 
paths.</p><h2 
id="CreatingTheSkeletonApplication-UsingtheQuickstartArchetype">Using the 
Quickstart Archetype</h2><p>From Eclipse, we'll use a Maven archetype to create 
a skeleton Tapestry project.</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Maven Behind a 
Firewall</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>If you are behind a 
firewall/proxy, before performing any Maven downloads,
  you may need to configure your proxy settings in your Maven settings.xml file 
(typically in the .m2 subdirectory of your home directory, ~/.m2 or 
C:\users\joeuser\.m2). Here is an example:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>settings.xml</b></div><div 
class="codeContent panelContent pdl">
+<div id="ConfluenceContent"><p>First, let's create an empty application. 
Tapestry provides a Maven <strong>archetype</strong> (a project template) to 
make this easy.</p><p>For the tutorial, we're using a fresh install of Eclipse 
and an empty workspace at <code>/users/joeuser/workspace</code>. You may need 
to adjust a few things for other operating systems or local paths.</p><h2 
id="CreatingTheSkeletonApplication-UsingtheQuickstartArchetype">Using the 
Quickstart Archetype</h2><p>From Eclipse, we'll use a Maven archetype to create 
a skeleton Tapestry project.</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Maven Behind a 
Firewall</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>If you are behind a 
firewall/proxy, before performing any Maven downloads, you may need to 
configure your proxy settings in your Maven settings.xml file (ty
 pically in the .m2 subdirectory of your home directory, ~/.m2 or 
C:\users\joeuser\.m2). Here is an example:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>settings.xml</b></div><div 
class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;settings&gt;
   &lt;proxies&gt;
     &lt;proxy&gt;
@@ -83,7 +81,7 @@
   
&lt;localRepository&gt;C:/Users/joeuser/.m2/repository&lt;/localRepository&gt;
 &lt;/settings&gt;
 </pre>
-</div></div><p>Of course, adjust the <code>localRepository</code> element to 
match the correct path for your computer.</p></div></div><p>Okay, let's get 
started creating our new project.</p><p>In Eclipse, go to <strong>File &gt; New 
&gt;</strong> <strong>Project... &gt; Maven &gt; Maven 
Project</strong></p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/select-a-wizard.png"></span></p><p>Then
 click <strong>Next</strong>, <strong>Next</strong> (again), and then on the 
<strong>Select an Archetype</strong> page click the <strong>Configure</strong> 
button on the Catalog line. The <strong>Archetype</strong> preferences dialog 
should appear. Click the <strong>Add Remote Catalog...</strong> button, as 
shown below:</p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/add-archetype-catalog.png"></span></p><p>As
 shown above, en
 ter <span class="nolink"><span 
class="nolink">"http://tapestry.apache.org";</span></span> in the Catalog File 
field, and "Apache Tapestry" in the Description field.</p><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>If you want to try an unreleased 
(alpha or beta) version of Tapestry, use <span class="nolink">the 
https://repository.apache.org/content/repositories/staging</span> archetype 
catalog file instead.</p></div></div><p>Click <strong>OK</strong>, then<strong> 
OK</strong> again.</p><p>On the Select an Archetype dialog (shown below), 
select the newly-added Apache Tapestry catalog, then select the "quickstart" 
artifact from the list and click <strong>Next</strong>.</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/se
 lect-archetype.png"></span></p><p><em><strong>Note:</strong> Screenshots in 
this tutorial may show different (either newer or older) versions of Tapestry 
than you may see.</em></p><p>Fill in the Group Id, Artifact Id, Version and 
Package&#160; as follows:</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/specify-archetype-parameters.png"></span></p><p>then
 click Finish.</p><div class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The first time you use Maven, 
project creation may take a while as Maven downloads a large number of JAR 
dependencies for Maven, Jetty and Tapestry. These downloaded files are cached 
locally and will not need to be downloaded again, but you do have to be patient 
on first use.</p></div></div><p>After Mave
 n finishes, you'll see a new directory, <code>tutorial in your Package 
Explorer view in Eclipse.</code></p><h2 
id="CreatingTheSkeletonApplication-RunningtheApplicationusingJetty">Running the 
Application using Jetty</h2><p>One of the first things you can do is use Maven 
to run Jetty directly.</p><p>Right-click on the tutorial project in your 
Package Explorer view and select <strong>Run As &gt; Maven Build... 
&gt;</strong>, enter a Goal of <strong>"jetty:run"</strong>. This creates a 
"Run Configuration" named "tutorial1" that we'll use throughout this tutorial 
to start the app:</p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/run-configuration.png"></span></p><p>Tapestry
 runs best with a couple of additional options; click the "JRE" tab and enter 
the following VM 
Arguments:</p><pre></pre><p>-XX:MaxPermSize=256M</p><p>-Xmx600m</p><p>-Dtapestry.execution-mode=development</p><p><code><em>(If
 you're usi
 ng JDK 1.8 then you should omit the MaxPermSize 
argument.)</em></code></p><p><code>Here's how it looks:<br 
clear="none"></code></p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/run-configuration-jre.png"></span></p><p>Finally,
 click <strong>Run</strong>.</p><p>Again, the first time, there's a dizzying 
number of downloads, but before you know it, the Jetty servlet container is up 
and running.</p><p>Once Jetty is initialized (which only takes a few seconds 
after the first time), you'll see the following in your console:</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/console-startup.png"></span></p><p><em>Note
 the red square icon above. Later on you'll use that icon to stop Jetty before 
restarting the app.</em></p><p>You can now open a web browser to <a 
shape="rect" class="external-link" href="http://localhost:80
 80/tutorial1/" >http://localhost:8080/tutorial1/</a> to see the running 
application:</p><p>&#160;</p><p><span class="confluence-embedded-file-wrapper 
image-left-wrapper"><img class="confluence-embedded-image 
confluence-content-image-border image-left" 
src="creating-the-skeleton-application.data/startpage.png"></span></p><p>&#160;</p><div
 style="clear: both"></div><p style="text-align: left;">The date and time in 
the middle of the page shows that this is a live application.</p><p>This is a 
complete little web app; it doesn't do much, but it demonstrate how to create a 
number of pages sharing a common layout, and demonstrates some simple 
navigation and link handling. You can see that it has several different pages 
that share a common layout. (<span style="line-height: 
1.4285715;"><em>Layout</em> is a loose term meaning common look and feel and 
navigation across many or all of the pages of an application. Often an 
application will include a Layout component to provide that commonness.)
 </span></p><p><span style="line-height: 1.4285715;">Next: <a shape="rect" 
href="exploring-the-project.html">Exploring the Project</a><br 
clear="none"></span></p><p>&#160;</p></div>
+</div></div><p>Of course, adjust the <code>localRepository</code> element to 
match the correct path for your computer.</p></div></div><p>Okay, let's get 
started creating our new project.</p><p>In Eclipse, go to <strong>File &gt; New 
&gt;</strong> <strong>Project... &gt; Maven &gt; Maven 
Project</strong></p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/select-a-wizard.png"></span></p><p>Then
 click <strong>Next</strong>, <strong>Next</strong> (again), and then on the 
<strong>Select an Archetype</strong> page click the <strong>Configure</strong> 
button on the Catalog line. The <strong>Archetype</strong> preferences dialog 
should appear. Click the <strong>Add Remote Catalog...</strong> button, as 
shown below:</p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/add-archetype-catalog.png"></span></p><p>As
 shown above, en
 ter <span class="nolink"><span 
class="nolink">"http://tapestry.apache.org";</span></span> in the Catalog File 
field, and "Apache Tapestry" in the Description field.</p><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>If you want to try an unreleased 
(alpha or beta) version of Tapestry, use <span class="nolink">the 
<strong>https://repository.apache.org/content/repositories/staging</strong></span>
 archetype catalog file instead.</p></div></div><p>Click <strong>OK</strong>, 
then<strong> OK</strong> again.</p><p>On the Select an Archetype dialog (shown 
below), select the newly-added Apache Tapestry catalog, then select the 
"quickstart" artifact from the list and click 
<strong>Next</strong>.</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="creating-the-skeleton-ap
 plication.data/select-archetype.png"></span></p><p><em><strong>Note:</strong> 
Screenshots in this tutorial may show different (either newer or older) 
versions of Tapestry than you may see.</em></p><p>Fill in the Group Id, 
Artifact Id, Version and Package&#160; as follows:</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/specify-archetype-parameters.png"></span></p><p>then
 click Finish.</p><div class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The first time you use Maven, 
project creation may take a while as Maven downloads a large number of JAR 
dependencies for Maven, Jetty and Tapestry. These downloaded files are cached 
locally and will not need to be downloaded again, but you do have to be patient 
on first use.</p></div></
 div><p>After Maven finishes, you'll see a new directory, <code>tutorial in 
your Package Explorer view in Eclipse.</code></p><h2 
id="CreatingTheSkeletonApplication-RunningtheApplicationusingJetty">Running the 
Application using Jetty</h2><p>One of the first things you can do is use Maven 
to run Jetty directly.</p><p>Right-click on the tutorial project in your 
Package Explorer view and select <strong>Run As &gt; Maven Build... 
&gt;</strong>, enter a Goal of <strong>"jetty:run"</strong>. This creates a 
"Run Configuration" named "tutorial1" that we'll use throughout this tutorial 
to start the app:</p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/run-configuration.png"></span></p><p>Tapestry
 runs best with a couple of additional options; click the "JRE" tab and enter 
the following VM 
Arguments:</p><pre></pre><p>-XX:MaxPermSize=256M</p><p>-Xmx600m</p><p>-Dtapestry.execution-mode=development</p><p><code><
 em>(If you're using JDK 1.8 then you should omit the MaxPermSize 
argument.)</em></code></p><p><code>Here's how it looks:<br 
clear="none"></code></p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/run-configuration-jre.png"></span></p><p>Finally,
 click <strong>Run</strong>.</p><p>Again, the first time, there's a dizzying 
number of downloads, but before you know it, the Jetty servlet container is up 
and running.</p><p>Once Jetty is initialized (which only takes a few seconds 
after the first time), you'll see the following in your console:</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="creating-the-skeleton-application.data/console-startup.png"></span></p><p><em>Note
 the red square icon above. Later on you'll use that icon to stop Jetty before 
restarting the app.</em></p><p>You can now open a web browser to <a 
shape="rect" class="external-link" href="ht
 tp://localhost:8080/tutorial1/" >http://localhost:8080/tutorial1/</a> to see 
the running application:</p><p>&#160;</p><p><span 
class="confluence-embedded-file-wrapper image-left-wrapper"><img 
class="confluence-embedded-image confluence-content-image-border image-left" 
src="creating-the-skeleton-application.data/startpage.png"></span></p><p>&#160;</p><div
 style="clear: both"></div><p style="text-align: left;">The date and time in 
the middle of the page shows that this is a live application.</p><p>This is a 
complete little web app; it doesn't do much, but it demonstrate how to create a 
number of pages sharing a common layout, and demonstrates some simple 
navigation and link handling. You can see that it has several different pages 
that share a common layout. (<span style="line-height: 
1.4285715;"><em>Layout</em> is a loose term meaning common look and feel and 
navigation across many or all of the pages of an application. Often an 
application will include a Layout component to provide 
 that commonness.)</span></p><p><span style="line-height: 1.4285715;">Next: <a 
shape="rect" href="exploring-the-project.html">Exploring the 
Project</a></span></p><p><span style="line-height: 1.4285715;"><br 
clear="none"></span></p></div>
 </div>
 
 <div class="clearer"></div>


Reply via email to