Modified: websites/production/tapestry/content/general-questions.html
==============================================================================
--- websites/production/tapestry/content/general-questions.html (original)
+++ websites/production/tapestry/content/general-questions.html Sun Feb 11 
12:23:46 2018
@@ -78,11 +78,11 @@
 
       <div id="content">
                 <div id="ConfluenceContent"><h2 
id="GeneralQuestions-GeneralQuestions">General Questions</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1517700093783 {padding: 0px;}
-div.rbtoc1517700093783 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1517700093783 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1518351730541 {padding: 0px;}
+div.rbtoc1518351730541 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1518351730541 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1517700093783">
+/*]]>*/</style></p><div class="toc-macro rbtoc1518351730541">
 <ul class="toc-indentation"><li><a  
href="#GeneralQuestions-GeneralQuestions">General Questions</a>
 <ul class="toc-indentation"><li><a  
href="#GeneralQuestions-HowdoIgetstartedwithTapestry?">How do I get started 
with Tapestry?</a></li><li><a  
href="#GeneralQuestions-WhydoesTapestryusePrototype?WhynotinsertfavoriteJavaScriptlibraryhere?">Why
 does Tapestry use Prototype? Why not insert favorite JavaScript library 
here?</a></li><li><a  
href="#GeneralQuestions-WhydoesTapestryhaveitsownInversionofControlContainer?WhynotSpringorGuice?">Why
 does Tapestry have its own Inversion of Control Container? Why not Spring or 
Guice?</a></li><li><a  
href="#GeneralQuestions-HowdoIupgradefromTapestry4toTapestry5?">How do I 
upgrade from Tapestry 4 to Tapestry 5?</a></li><li><a  
href="#GeneralQuestions-HowdoIupgradefromoneversionofTapestry5toanother?">How 
do I upgrade from one version of Tapestry 5 to another?</a></li></ul>
 </li></ul>

Modified: websites/production/tapestry/content/hibernate-user-guide.html
==============================================================================
--- websites/production/tapestry/content/hibernate-user-guide.html (original)
+++ websites/production/tapestry/content/hibernate-user-guide.html Sun Feb 11 
12:23:46 2018
@@ -106,10 +106,12 @@
   
 }</plain-text-body><p>This persistence strategy works with any Hibernate 
entity that is associated with a valid Hibernate Session by persisting only the 
id of the entity. Notice that no onPassivate() method is needed; when the page 
renders the entity is loaded by the id stored in the session.</p><h1 
id="HibernateUserGuide-Using@SessionStatewithentities">Using @SessionState with 
entities</h1><p>
 
-</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>&#160;</p></div>The default strategy for persisting Session State Objects 
is "session". Storing a Hibernate entity into a &lt;HttpSession&gt; is 
problematic because the stored entity is detached from the Hibernate session. 
Similar to @Persist("entity") you may use the "entity" persistence strategy to 
persist Hibernate entities as SSOs:<parameter 
ac:name="">java</parameter><plain-text-body>public class Index
+
+
+</p><div class="aui-message aui-message-info">
+Added in 5.2 | 
+&#160;
+</div>The default strategy for persisting Session State Objects is "session". 
Storing a Hibernate entity into a &lt;HttpSession&gt; is problematic because 
the stored entity is detached from the Hibernate session. Similar to 
@Persist("entity") you may use the "entity" persistence strategy to persist 
Hibernate entities as SSOs:<parameter 
ac:name="">java</parameter><plain-text-body>public class Index
 {
   @SessionState
   @Property

Modified: websites/production/tapestry/content/injection-in-detail.html
==============================================================================
--- websites/production/tapestry/content/injection-in-detail.html (original)
+++ websites/production/tapestry/content/injection-in-detail.html Sun Feb 11 
12:23:46 2018
@@ -129,10 +129,12 @@
 </pre>
 </div></div><h1 id="InjectioninDetail-ComponentInjection">Component 
Injection</h1><p>Inside Tapestry components, injection occurs exclusively on 
<em>fields</em> and is always triggered by the @Inject (or @InjectService) 
annotation.</p><p>Component field injection is very similar to IoC layer, but 
with a different set of injectable resources.</p><p>Injection is the 
responsibility of the <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/InjectionProvider.html";>InjectionProvider</a>
 service, which is a chain-of-command across a number of 
implementations.</p><h2 id="InjectioninDetail-BlockInjectionProvider">Block 
InjectionProvider</h2><p>Checks if the field type is Block. If so, determines 
the block id to inject (either from the field name, or from an @<a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Id.html";>Id</a>
 annotation, if present).</p><h2 id="InjectioninDetail-Defau
 ltInjectionProvider">Default InjectionProvider</h2><p>Uses the 
MasterObjectProvider service to provide the injectable value. The Service 
Lookup stage is skipped.</p><h2 
id="InjectioninDetail-ComponentResourcesInjectionProvider">ComponentResources 
InjectionProvider</h2><p>Injects fields of type ComponentResources.</p><h2 
id="InjectioninDetail-CommonResourcesInjectionProvider">CommonResources 
InjectionProvider</h2><p>Injects fields with common 
resources:</p><ul><li>String: the components' complete 
id</li><li>org.slf4j.Logger: Logger for the component (based on component class 
name)</li><li>Locale: locale for the containing page (page locale is 
immutable)</li><li>Messages: Component's message 
catalog</li><li>ComponentResourceSelector: selector for the containing page 
(selector is immutable)</li></ul>
 
-<div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>ComponentResourceSelector is new as of release 5.3. It encapsulates a 
locale plus additional application-specific data used for skinning and/or 
themeing.</p>
+
+
+<div class="aui-message aui-message-info">
+Added in 5.3 | 
+ComponentResourceSelector is new as of release 5.3. It encapsulates a locale 
plus additional application-specific data used for skinning and/or themeing.
+
 </div><h2 id="InjectioninDetail-AssetInjectionProvider">Asset 
InjectionProvider</h2><p>Triggered by the @Path annotation: the Path value has 
symbols expanded, and is then converted to an Asset.</p><h2 
id="InjectioninDetail-ServiceInjectionProvider">Service 
InjectionProvider</h2><p>Equivalent to the Service Lookup phase in an IoC layer 
injection.</p><h1 
id="InjectioninDetail-@InjectServiceinComponents">@InjectService in 
Components</h1><p>You may use the @<a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/InjectService.html";>InjectService</a>
 annotation on component fields.</p><p></p></div>
       </div>
 

Modified: websites/production/tapestry/content/integrating-with-jpa.html
==============================================================================
--- websites/production/tapestry/content/integrating-with-jpa.html (original)
+++ websites/production/tapestry/content/integrating-with-jpa.html Sun Feb 11 
12:23:46 2018
@@ -78,15 +78,17 @@
       <div id="content">
                 <div id="ConfluenceContent">
 
-<div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>&#160;</p></div><p>Tapestry provides a built-in integration with the Java 
Persistence API (JPA) through the <strong>Tapestry-jpa</strong> module. This 
module supersedes the 3rd-party <a  class="external-link" 
href="http://www.tynamo.org/tapestry-jpa+guide/"; rel="nofollow">Tynamo JPA 
module</a>.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1517700109464 {padding: 0px;}
-div.rbtoc1517700109464 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1517700109464 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1517700109464">
+
+<div class="aui-message aui-message-info">
+Added in 5.3 | 
+&#160;
+</div><p>Tapestry provides a built-in integration with the Java Persistence 
API (JPA) through the <strong>Tapestry-jpa</strong> module. This module 
supersedes the 3rd-party <a  class="external-link" 
href="http://www.tynamo.org/tapestry-jpa+guide/"; rel="nofollow">Tynamo JPA 
module</a>.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
+div.rbtoc1518351748019 {padding: 0px;}
+div.rbtoc1518351748019 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1518351748019 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></p><div class="toc-macro rbtoc1518351748019">
 <ul class="toc-indentation"><li><a  
href="#IntegratingwithJPA-Downloading">Downloading</a>
 <ul class="toc-indentation"><li><a  
href="#IntegratingwithJPA-SelectingaJPAImplementation">Selecting a JPA 
Implementation</a></li></ul>
 </li><li><a  href="#IntegratingwithJPA-ConfiguringJPA">Configuring JPA</a>

Modified: 
websites/production/tapestry/content/integrating-with-spring-framework.html
==============================================================================
--- websites/production/tapestry/content/integrating-with-spring-framework.html 
(original)
+++ websites/production/tapestry/content/integrating-with-spring-framework.html 
Sun Feb 11 12:23:46 2018
@@ -110,11 +110,11 @@
 
 
 <p>For integrating Spring Security into your application, see <a  
href="integrating-with-spring-framework.html">Integrating with Spring 
Framework</a>.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1517700038896 {padding: 0px;}
-div.rbtoc1517700038896 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1517700038896 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1518351672409 {padding: 0px;}
+div.rbtoc1518351672409 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1518351672409 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1517700038896">
+/*]]>*/</style></p><div class="toc-macro rbtoc1518351672409">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a  href="#IntegratingwithSpringFramework-SpringVersion">Spring 
Version</a></li><li><a  href="#IntegratingwithSpringFramework-Usage">Usage</a>
 <ul class="toc-indentation"><li><a  
href="#IntegratingwithSpringFramework-Requireddependency">Required 
dependency</a></li><li><a  
href="#IntegratingwithSpringFramework-Updateyourweb.xmlfile">Update your 
web.xml file</a></li><li><a  
href="#IntegratingwithSpringFramework-AccessingtheSpringApplicationContext">Accessing
 the Spring Application Context</a></li><li><a  
href="#IntegratingwithSpringFramework-Injectingbeans">Injecting 
beans</a></li><li><a  
href="#IntegratingwithSpringFramework-InjectingTapestryservicesinSpringbeans">Injecting
 Tapestry services in Spring beans</a></li></ul>
@@ -147,14 +147,16 @@ div.rbtoc1517700038896 li {margin-left:
   private UserDAO userDAO;</pre>
 </div></div><p>Searching for Spring beans is threaded into the <a  
href="integrating-with-spring-framework.html">MasterObjectProvider service</a>. 
The Spring context becomes one more place that Tapestry searches when 
determining the injection for a injected field or method parameter.</p><h3 
id="IntegratingwithSpringFramework-InjectingTapestryservicesinSpringbeans">Injecting
 Tapestry services in Spring beans</h3>
 
-<div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>If you have configured Spring to allow annotation-based injection, then you 
will be able to inject Tapestry services into your Spring Beans.</p>
 
-<p>This feature is only available when Spring ApplicationContext is not 
configured and loaded externally.</p>
 
-<p>Inside your Spring beans, you may use @<a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/Inject.html";>Inject</a>
 and @<a  class="external-link" 
href="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/annotation/Autowired.html";
 rel="nofollow">Autowired</a> annotations.</p>
+<div class="aui-message aui-message-info">
+Added in 5.2 | 
+If you have configured Spring to allow annotation-based injection, then you 
will be able to inject Tapestry services into your Spring Beans.
+
+This feature is only available when Spring ApplicationContext is not 
configured and loaded externally.
+
+Inside your Spring beans, you may use 
@[Inject|http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/Inject.html]
 and 
@[Autowired|http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/annotation/Autowired.html]
 annotations.
+
 
 </div><pre>Simply add these two annotations on top the field you want to 
inject in your Spring bean.
 </pre><pre>{code:language=java}</pre><pre>    @Inject

Modified: websites/production/tapestry/content/javascript-rewrite-in-54.html
==============================================================================
--- websites/production/tapestry/content/javascript-rewrite-in-54.html 
(original)
+++ websites/production/tapestry/content/javascript-rewrite-in-54.html Sun Feb 
11 12:23:46 2018
@@ -68,11 +68,11 @@
 
       <div id="content">
                 <div id="ConfluenceContent"><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1517700067711 {padding: 0px;}
-div.rbtoc1517700067711 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1517700067711 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1518351702976 {padding: 0px;}
+div.rbtoc1518351702976 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1518351702976 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1517700067711">
+/*]]>*/</style></p><div class="toc-macro rbtoc1518351702976">
 <ul class="toc-indentation"><li><a  
href="#JavaScriptRewritein5.4-TapestryandJavaScript">Tapestry and 
JavaScript</a></li><li><a  
href="#JavaScriptRewritein5.4-TapestryJavaScriptLimitations(through5.3)">Tapestry
 JavaScript Limitations (through 5.3)</a>
 <ul class="toc-indentation"><li><a  
href="#JavaScriptRewritein5.4-DependenceonPrototype/Scriptaculous">Dependence 
on Prototype/Scriptaculous</a></li><li><a  
href="#JavaScriptRewritein5.4-LackofDocumentation">Lack of 
Documentation</a></li><li><a  
href="#JavaScriptRewritein5.4-LackofModuleStructure">Lack of Module 
Structure</a></li><li><a  
href="#JavaScriptRewritein5.4-ComplexInitialization">Complex 
Initialization</a></li></ul>
 </li><li><a  
href="#JavaScriptRewritein5.4-JavaScriptImprovementsfor5.4">JavaScript 
Improvements for 5.4</a>

Modified: websites/production/tapestry/content/legacy-javascript.html
==============================================================================
--- websites/production/tapestry/content/legacy-javascript.html (original)
+++ websites/production/tapestry/content/legacy-javascript.html Sun Feb 11 
12:23:46 2018
@@ -263,15 +263,19 @@ public class MyComponent
 </pre>
 </div></div></div></div></div></div><p>Inside a component, you should use 
@Environmental, to highlight the fact that RenderSupport (like most 
environmental objects) is only available during rendering, not during action 
requests.</p><h1 id="LegacyJavaScript-CombiningJavaScriptlibraries">Combining 
JavaScript libraries</h1>
 
-<div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.1.0.2</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>&#160;</p></div><p>In production mode, Tapestry automatically 
<em>combines</em> JavaScript libraries. A single request (for a <em>virtual 
asset</em>) will retrieve the combined content of all referenced JavaScript 
library files.</p><p>Note: starting with Tapestry 5.2, JavaScript libraries are 
only combined if they are part of a JavaScript Stack (see below).</p><p>This is 
a very useful feature, as it reduces the number of requests needed to present a 
page to the user. It can be disabled, however, by setting the 
SymbolConstants.COMBINE_SCRIPTS <a  href="legacy-javascript.html">configuration 
symbol</a> to false in your application's module class (normally 
AppModule.java). By default it is enabled when in production mode and disabled 
otherwise.</p><p>As elsewhere, if the client browser supports gzip compression, 
the combined JavaScript will be compressed.</p><h1 
id="LegacyJavaScript-MinifyingJavaScriptlibraries">Minifying JavaScript 
libraries</h1>
-
-<div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>&#160;</p></div><p>In production mode, Tapestry can automatically 
<em>minify</em> (intelligently compresses) JavaScript libraries (and CSS) when 
the application starts up. This can significantly decrease the size of static 
content that the browser needs to download.</p><p>Minification is accomplished 
using the ResourceMinimizer service. A YUI Compressor-based implementation is 
available, but this can be overridden.</p><p>IMPORTANT NOTE: The tapestry-core 
module only provides the empty infrastructure for supporting minification; the 
actual logic is supplied in the tapestry-yuicompressor module. To use it, 
you'll need to update your dependencies to include this module.</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Maven pom.xml 
(partial)</b></div><div class="codeContent panelContent pdl">
+
+
+<div class="aui-message aui-message-info">
+Added in 5.1.0.2 | 
+&#160;
+</div><p>In production mode, Tapestry automatically <em>combines</em> 
JavaScript libraries. A single request (for a <em>virtual asset</em>) will 
retrieve the combined content of all referenced JavaScript library 
files.</p><p>Note: starting with Tapestry 5.2, JavaScript libraries are only 
combined if they are part of a JavaScript Stack (see below).</p><p>This is a 
very useful feature, as it reduces the number of requests needed to present a 
page to the user. It can be disabled, however, by setting the 
SymbolConstants.COMBINE_SCRIPTS <a  href="legacy-javascript.html">configuration 
symbol</a> to false in your application's module class (normally 
AppModule.java). By default it is enabled when in production mode and disabled 
otherwise.</p><p>As elsewhere, if the client browser supports gzip compression, 
the combined JavaScript will be compressed.</p><h1 
id="LegacyJavaScript-MinifyingJavaScriptlibraries">Minifying JavaScript 
libraries</h1>
+
+
+
+<div class="aui-message aui-message-info">
+Added in 5.3 | 
+&#160;
+</div><p>In production mode, Tapestry can automatically <em>minify</em> 
(intelligently compresses) JavaScript libraries (and CSS) when the application 
starts up. This can significantly decrease the size of static content that the 
browser needs to download.</p><p>Minification is accomplished using the 
ResourceMinimizer service. A YUI Compressor-based implementation is available, 
but this can be overridden.</p><p>IMPORTANT NOTE: The tapestry-core module only 
provides the empty infrastructure for supporting minification; the actual logic 
is supplied in the tapestry-yuicompressor module. To use it, you'll need to 
update your dependencies to include this module.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Maven pom.xml (partial)</b></div><div 
class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.tapestry&lt;/groupId&gt;
     &lt;artifactId&gt;tapestry-yuicompressor&lt;/artifactId&gt;
@@ -280,10 +284,11 @@ public class MyComponent
 </pre>
 </div></div><p>Gradle would be similar, of course. If you aren't using 
something like Maven or Gradle, you'll have to download the jar and its 
dependency (com.yahoo.platform.yui: yuicompressor) yourself.</p><p>Minification 
can be disabled by setting the SymbolConstants.MINIFICATION_ENABLED <a  
href="legacy-javascript.html">configuration symbol</a> to false in your 
application's module class (usually AppModule.java). By default it is enabled 
when in production mode and disabled otherwise.</p><p>Please test your 
applications well: the YUI Compressor code can be somewhat finicky about the 
application server and JDK version.</p><h1 
id="LegacyJavaScript-Client-sideLogging">Client-side Logging</h1>
 
-<div class="confluence-information-macro 
confluence-information-macro-warning"><p class="title">Deprecated since 
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-error 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>&#160;</p></div><p>In versions prior to 5.3, Tapestry uses a modified 
version of the <a  class="external-link" 
href="http://www.gscottolson.com/blackbirdjs/"; rel="nofollow">Blackbird</a> 
JavaScript console. The Tapestry object includes three functions: debug, warn 
and error.</p><p>Each of these functions take a message and an optional 
pattern; if the pattern is provided, the message is <a  class="external-link" 
href="http://prototypejs.org/api/string/interpolate"; 
rel="nofollow">interpolated</a> on the pattern. The final message is displayed 
in the Blackbird console, which will make itself visible 
automatically.</p><p>In production mode, debug messages will be filtered out 
(they will not be visible until the user presses F2 to display the console, and 
then clicks the grayed out icon for debug messages). In development mode, debug 
messages are not filtered out.</p><p>Example usage:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+
+<div class="aui-message aui-message-warning">
+Deprecated since 5.3 |
+&#160;
+</div><p>In versions prior to 5.3, Tapestry uses a modified version of the <a  
class="external-link" href="http://www.gscottolson.com/blackbirdjs/"; 
rel="nofollow">Blackbird</a> JavaScript console. The Tapestry object includes 
three functions: debug, warn and error.</p><p>Each of these functions take a 
message and an optional pattern; if the pattern is provided, the message is <a  
class="external-link" href="http://prototypejs.org/api/string/interpolate"; 
rel="nofollow">interpolated</a> on the pattern. The final message is displayed 
in the Blackbird console, which will make itself visible 
automatically.</p><p>In production mode, debug messages will be filtered out 
(they will not be visible until the user presses F2 to display the console, and 
then clicks the grayed out icon for debug messages). In development mode, debug 
messages are not filtered out.</p><p>Example usage:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;"> Tapestry.debug("Field id is #{id}, value is #{value}", 
field);
 
  Tapestry.error("Server is not available.");
@@ -294,10 +299,11 @@ public class MyComponent
 </pre>
 </div></div><p>The constant <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/MarkupConstants.html";>MarkupConstants.WAIT_FOR_PAGE</a>
 contains the part of this snippet inside the quotes.</p><h1 
id="LegacyJavaScript-TheStandardTapestryLibrary">The Standard Tapestry 
Library</h1><p>Tapestry's client-side support, the standard Tapestry library, 
consists of <code>tapestry.js</code>, which has dependencies on Prototype and 
on Scriptaculous Effects. tapestry.js, along with its dependencies. The 
tapestry.js library is automatically added to the page when your code adds any 
other JavaScript or JavaScript library.</p><h2 
id="LegacyJavaScript-TapestryNamespace">Tapestry Namespace</h2><p>Tapestry 
defines a number of object and classes inside the Tapestry namespace.</p><p>It 
also adds a handful of methods to the Form class, and to Form elements. These 
are mostly related to input validation and determining element 
visibility.</p><h2 id="LegacyJavaScri
 pt-TheTapestryObject$T()">The Tapestry Object $T()</h2>
 
-<div class="confluence-information-macro 
confluence-information-macro-warning"><p class="title">Deprecated since 5.2 (no 
replacement)</p><span class="aui-icon aui-icon-small aui-iconfont-error 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>&#160;</p></div><p>The standard library adds a new function, 
<code>$T()</code>. This function is used much like Prototype's 
<code>$()</code>, except that instead of returning a DOM object, it returns a 
hash (an initially empty JavaScript object) that is associated with the DOM 
object. This hash is known as <em>the Tapestry object</em>.</p><p>You may pass 
in an object id (as a string) or an object reference. The Tapestry Object is 
created on first invocation. Note: you'll see it as a property name _tapestry 
on the DOM object (which may be useful when debugging).</p><p>When Tapestry 
adds information to a DOM object, it does so in the Tapestry object. This helps 
avoid name conflicts, and groups all Tapestry-added properties into one place 
which is much easier to debug.</p><p>For example, you might store a value for 
an element in one place:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+
+<div class="aui-message aui-message-warning">
+Deprecated since 5.2 (no replacement) |
+&#160;
+</div><p>The standard library adds a new function, <code>$T()</code>. This 
function is used much like Prototype's <code>$()</code>, except that instead of 
returning a DOM object, it returns a hash (an initially empty JavaScript 
object) that is associated with the DOM object. This hash is known as <em>the 
Tapestry object</em>.</p><p>You may pass in an object id (as a string) or an 
object reference. The Tapestry Object is created on first invocation. Note: 
you'll see it as a property name _tapestry on the DOM object (which may be 
useful when debugging).</p><p>When Tapestry adds information to a DOM object, 
it does so in the Tapestry object. This helps avoid name conflicts, and groups 
all Tapestry-added properties into one place which is much easier to 
debug.</p><p>For example, you might store a value for an element in one 
place:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">  $T(myid).fadeDuration = .5;
 </pre>
 </div></div><p>Then use it somewhere else:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -322,10 +328,12 @@ Tapestry also works well with other Java
 </pre>
 </div></div><p>The Asset is injected, using the ${tapestry.scriptaculous} <a  
href="legacy-javascript.html">symbol</a> to reference the location of the 
Scriptaculous library.</p><p>Even though the dragdrop.js library is stored 
inside a JAR file, Tapestry ensures that it can be accessed from the client web 
browser. A Tapestry URL within the virtual folder "/assets" is created; the 
file will be given a version number (the application version number if not 
specified more specifically) and will be sent to the browser with a far-future 
expires header (to encourage the browser to cache the file 
aggressively).</p><h1 id="LegacyJavaScript-JavaScriptStacks">JavaScript 
Stacks</h1>
 
-<div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>&#160;</p></div><p>Tapestry allows you to define groups of related 
JavaScript libraries and stylesheets as "stacks". The built-in "core" stack is 
used to define the core JavaScript libraries needed by Tapestry (currently, 
this includes Prototype and Scriptaculous, as well as Tapestry-specific 
libraries). Other component libraries may define additional stacks for related 
sets of resources, for example, to bundle together some portion of the ExtJS or 
YUI libraries.</p><p>A <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/javascript/JavaScriptStack.html";>JavaScriptStack</a>
 can be thought of as a generalization of Tapestry 5.1's ClientInfrastructure, 
which exists now to define the "core" JavaScript stack.</p><p>JavaScript assets 
of a stack may (when enabled) be exposed to the client as a single URL 
(identifying the stack by name). The individual assets are combined into a 
single virtual asset, which is then streamed to the clie
 nt.</p><p>To group several static resources together in a single stack, you 
must create a new implementation of the JavaScriptStack interface . This 
interface has four methods:</p><ul 
class="alternate"><li><strong>getStylesheets</strong> : This method will return 
a list of stylesheet files (StylesheetLink-type object) associated to this 
stack</li></ul><ul 
class="alternate"><li><strong>getJavaScriptLibraries</strong> : This method 
will return a list of javascript files (Asset-type object) associated to this 
stack</li></ul><ul class="alternate"><li><strong>getStacks</strong> : It is 
also possible to make a stack dependant of other stacks. All the stacks defined 
in this method will be loaded before the current stack.</li></ul><ul 
class="alternate"><li><strong>getInitialization</strong> : this method makes it 
possible to call a JavaScript initialization for the stack. Tapestry will 
automatically add this initialization to the page that imports the 
stacks.</li></ul><div class="code panel
  pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>myStack.java</b></div><div 
class="codeContent panelContent pdl">
+
+
+<div class="aui-message aui-message-info">
+Added in 5.2 | 
+&#160;
+</div><p>Tapestry allows you to define groups of related JavaScript libraries 
and stylesheets as "stacks". The built-in "core" stack is used to define the 
core JavaScript libraries needed by Tapestry (currently, this includes 
Prototype and Scriptaculous, as well as Tapestry-specific libraries). Other 
component libraries may define additional stacks for related sets of resources, 
for example, to bundle together some portion of the ExtJS or YUI 
libraries.</p><p>A <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/javascript/JavaScriptStack.html";>JavaScriptStack</a>
 can be thought of as a generalization of Tapestry 5.1's ClientInfrastructure, 
which exists now to define the "core" JavaScript stack.</p><p>JavaScript assets 
of a stack may (when enabled) be exposed to the client as a single URL 
(identifying the stack by name). The individual assets are combined into a 
single virtual asset, which is then streamed to the client.</p><p>To 
 group several static resources together in a single stack, you must create a 
new implementation of the JavaScriptStack interface . This interface has four 
methods:</p><ul class="alternate"><li><strong>getStylesheets</strong> : This 
method will return a list of stylesheet files (StylesheetLink-type object) 
associated to this stack</li></ul><ul 
class="alternate"><li><strong>getJavaScriptLibraries</strong> : This method 
will return a list of javascript files (Asset-type object) associated to this 
stack</li></ul><ul class="alternate"><li><strong>getStacks</strong> : It is 
also possible to make a stack dependant of other stacks. All the stacks defined 
in this method will be loaded before the current stack.</li></ul><ul 
class="alternate"><li><strong>getInitialization</strong> : this method makes it 
possible to call a JavaScript initialization for the stack. Tapestry will 
automatically add this initialization to the page that imports the 
stacks.</li></ul><div class="code panel pdl" style="
 border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>myStack.java</b></div><div 
class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">public class myStack implements JavaScriptStack {
 
     private final AssetSource assetSource;

Modified: websites/production/tapestry/content/link-components-faq.html
==============================================================================
--- websites/production/tapestry/content/link-components-faq.html (original)
+++ websites/production/tapestry/content/link-components-faq.html Sun Feb 11 
12:23:46 2018
@@ -102,10 +102,12 @@
 </pre>
 </div></div><p>The @RequestParameter annotation directs Tapestry to extract 
the query parameter from the request and coerce it to type boolean. You can use 
any reasonable type for such a parameter (int, long and Date are 
common).</p><p>A similar technique can be used to add query parmeters to 
component event URLs (the type generated by the ActionLink or EventLink 
components), by injecting the ComponentResources, and invoking method 
<code>createEventLink()</code>.</p>
 
-<div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>You may also bind a link component's <code>parameters</code> parameter; 
this is a Map of additional query parameters to add to the URL.  The Map keys 
should be strings, and the Map values will be encoded to strings.  Tapestry 5.3 
also adds a literal map syntax to the <a  href="property-expressions.html" 
title="Property Expressions">property expression language</a>.</p>
+
+
+<div class="aui-message aui-message-info">
+Added in 5.3 | 
+You may also bind a link component's {{parameters}} parameter; this is a Map 
of additional query parameters to add to the URL.  The Map keys should be 
strings, and the Map values will be encoded to strings.  Tapestry 5.3 also adds 
a literal map syntax to the [property expression language|TAPESTRY:Property 
Expressions].
+
 
 </div><h3 
id="LinkComponentsFAQ-HowdoIcreateaLinkbacktothecurrentpagefromacomponent?">How 
do I create a Link back to the current page from a component?</h3><p>Sometimes 
it is useful to create a link back to the current page, but you don't always 
know the name of the page (the link may appear inside a deeply nested 
subcomponent). Fortunately, this is easy.</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;t:pagelink 
page="prop:componentResources.pageName"&gt;refresh page&lt;/t:pagelink&gt;

Modified: 
websites/production/tapestry/content/page-and-component-classes-faq.html
==============================================================================
--- websites/production/tapestry/content/page-and-component-classes-faq.html 
(original)
+++ websites/production/tapestry/content/page-and-component-classes-faq.html 
Sun Feb 11 12:23:46 2018
@@ -110,13 +110,13 @@ public class DBImage
 
 
 
-<span class="gliffy-container" id="gliffy-container-23527573-8926" 
data-fullwidth="750" data-ceoid="23335008" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" data-filename="Class Loaders">
+<span class="gliffy-container" id="gliffy-container-23527573-162" 
data-fullwidth="750" data-ceoid="23335008" 
data-edit="${diagramEditLink.getLinkUrl()}" 
data-full="${diagramZoomLink.getLinkUrl()}" data-filename="Class Loaders">
 
-    <map id="gliffy-map-23527573-31" name="gliffy-map-23527573-31"></map>
+    <map id="gliffy-map-23527573-1740" name="gliffy-map-23527573-1740"></map>
 
-    <img class="gliffy-image" id="gliffy-image-23527573-8926" width="750" 
height="425" data-full-width="750" data-full-height="425" 
src="https://cwiki.apache.org/confluence/download/attachments/23335008/Class%20Loaders.png?version=4&amp;modificationDate=1283534469000&amp;api=v2";
 alt="Class Loaders" usemap="#gliffy-map-23527573-31">
+    <img class="gliffy-image" id="gliffy-image-23527573-162" width="750" 
height="425" data-full-width="750" data-full-height="425" 
src="https://cwiki.apache.org/confluence/download/attachments/23335008/Class%20Loaders.png?version=4&amp;modificationDate=1283534469000&amp;api=v2";
 alt="Class Loaders" usemap="#gliffy-map-23527573-1740">
 
-    <map class="gliffy-dynamic" id="gliffy-dynamic-map-23527573-8926" 
name="gliffy-dynamic-map-23527573-8926"></map>
+    <map class="gliffy-dynamic" id="gliffy-dynamic-map-23527573-162" 
name="gliffy-dynamic-map-23527573-162"></map>
 </span>
 
 

Modified: websites/production/tapestry/content/parallel-execution.html
==============================================================================
--- websites/production/tapestry/content/parallel-execution.html (original)
+++ websites/production/tapestry/content/parallel-execution.html Sun Feb 11 
12:23:46 2018
@@ -81,10 +81,12 @@
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">  RSSFeed feed = executor.invoke(RSSFeed.class, new 
Invokable&lt;RSSFeed&gt;() { ... });</pre>
 </div></div><p>This only works if the type is an interface. A proxy for the 
interface is created around the Future object; any invocation on the proxy will 
invoke get() on the Future (that is, will block until the value is 
computed).</p><h1 id="ParallelExecution-Configuration">Configuration</h1><p>The 
behavior of the ParallelExecutor can be tuned with global configuration 
symbols.</p><p>Java constants for the configuration symbols are defined in <a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/IOCSymbols.html";>IOCSymbols</a>.</p><h3
 
id="ParallelExecution-tapestry.thread-pool-enabled">tapestry.thread-pool-enabled</h3><p>If
 true, the default, then the thread pool will operate. If false, then 
ParallelExecutor's implementation changes to invoke the Invokable immediately, 
not in a pooled thread. This is useful in environments, such as <a  
class="external-link" href="http://code.google.com/appengine/"; 
rel="nofollow">Google App Engine</a>,
  that do not support the creation of threads and thread pools.</p><h3 
id="ParallelExecution-tapestry.thread-pool.core-pool-size">tapestry.thread-pool.core-pool-size</h3><p>Minimum
 size of the thread pool. Defaults to 3.</p><h3 
id="ParallelExecution-tapestry.thread-pool.max-pool-size">tapestry.thread-pool.max-pool-size</h3><p>Maximum
 number of threads (active or inactive) in the thread pool. Defaults to 
20.</p><h3 
id="ParallelExecution-tapestry.thread-pool.keep-alive">tapestry.thread-pool.keep-alive</h3><p>Time
 to keep waiting threads alive. Defaults to "1 m" (one minute).</p><h3 
id="ParallelExecution-tapestry.thread-pool.queue-size">tapestry.thread-pool.queue-size</h3><p>
 
-</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>&#160;</p></div>The size of the task queue. When there are at least the 
core number of threads in the pool, tasks will be placed in the queue. If the 
queue is empty, more threads may be created (up to the maximum pool size). If 
the queue is full and all threads have been created, the task is rejected (and 
exception is thrown).<p>Defaults to 100.</p><p>&#160;</p><p></p></div>
+
+
+</p><div class="aui-message aui-message-info">
+Added in 5.3 | 
+&#160;
+</div>The size of the task queue. When there are at least the core number of 
threads in the pool, tasks will be placed in the queue. If the queue is empty, 
more threads may be created (up to the maximum pool size). If the queue is full 
and all threads have been created, the task is rejected (and exception is 
thrown).<p>Defaults to 100.</p><p>&#160;</p><p></p></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/property-expressions.html
==============================================================================
--- websites/production/tapestry/content/property-expressions.html (original)
+++ websites/production/tapestry/content/property-expressions.html Sun Feb 11 
12:23:46 2018
@@ -135,10 +135,12 @@ mapKey : keyword | constant | propertyCh
 </pre>
 </div></div><p>
 
-</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.3</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>Support for map literals was added in Tapestry 5.3.</p>
+
+
+</p><div class="aui-message aui-message-info">
+Added in 5.3 | 
+Support for map literals was added in Tapestry 5.3.
+
 </div>Notes:<ul><li>Whitespace is ignored.</li><li>Integers and decimals may 
have a leading sign ('+' or '-').</li><li>Constants are in base 10 (octal and 
hex notation is not yet supported). Decimals may contain a decimal point 
(exponent notation not yet supported).</li><li>Literal strings are enclosed in 
single quotes.</li><li>The <code>rangeOp</code> creates a range object that 
will iterate between the two values. The upper and lower bounds may be literal 
integers, or property expressions.</li><li>An identifier by itself is a 
property name. An identifier with parenthesis is a method 
invocation.</li><li>Property names, method names, and keywords are 
case-insensitive.</li><li>'this' is the root object (i.e., the containing 
component).</li><li>The <code>not</code> operator coerces the expression to a 
<code>boolean</code> (so it can be used on strings, numbers, 
etc.).</li><li>Method matching is based on method name and number of 
parameters, but not parameter types. The <a  href="prope
 rty-expressions.html">TypeCoercer</a> service is used to convert parameters to 
the correct type to be passed into the method.</li></ul><h2 
id="PropertyExpressions-Examples">Examples</h2><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>&#160;</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Example</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Notes</p></th></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Keyword</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>this</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Keyword</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Property Name</p></th><td colspan="1" rowspan="1" 
class="confluen
 ceTd"><p>userName</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Calls getUserName() or setUserName, depending on 
context</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Property Chain</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>user.address.city</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Calls getUser().getAddress().getCity() or 
getUser().getAddress().setCity(), depending on context</p></td></tr><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Property Chain</p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>user?.name</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Calls getUser() and, if the 
result is not null, calls getName() on the result</p></td></tr><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Method Invocation</p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>groupList.size()</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>calls getGroupList().size(
 )</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Method 
Invocation</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>members.findById(<a  class="external-link" 
href="http://user.id"; rel="nofollow">user.id</a>)?.name</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Calls 
getMembers().findById(getUser().getId())?.getName() (unless findById returns 
null)</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Range</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>1..10</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Iterates between integers 1 and 10</p></td></tr><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Range</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>1..groupList.size()</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Iterates between 1 and the result of 
getGroupList().size()</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Literal String</p></t
 h><td colspan="1" rowspan="1" class="confluenceTd"><p>'Beer is proof that God 
loves us and wants us to be happy.'</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Use single quotes</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>List</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>[<a  class="external-link" href="http://user.name"; 
rel="nofollow">user.name</a>, user.email, user.phone]</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Not Operator</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>! user.deleted</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>the boolean negation of 
getUser().getDeleted()</p></td></tr><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Not, Coerced</p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>! user.middleName</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true only if ge
 tUser.getMiddleName() returns null or an empty string</p></td></tr><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Map</p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>{ 'framework' : 'Tapestry', 'version' : 
version }</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Keys are 
string literals (in single quotes), but could be properties as 
well</p></td></tr></tbody></table></div></div>
       </div>
 

Modified: websites/production/tapestry/content/registry-startup.html
==============================================================================
--- websites/production/tapestry/content/registry-startup.html (original)
+++ websites/production/tapestry/content/registry-startup.html Sun Feb 11 
12:23:46 2018
@@ -85,10 +85,12 @@
 }</pre>
 </div></div><p>Generally, these contributions are in the form of inner 
classes; if they were services, they could just be eagerly loaded.</p><h2 
id="RegistryStartup-StartupMethods">Startup Methods</h2><p>
 
-</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Added in 
5.2</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">
-</div></div>
-<div class="error"><span class="error">Unknown macro: {div}</span> 
-<p>&#160;</p></div>Instead of making contributions to the RegistryStartup 
service configuration you can provide startup methods inside your modules. A 
startup method is a static or instance method of a module annotated with @<a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/Startup.html";>Startup</a>
 annotation. Each module is allowed to contain several startup methods.<div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+
+
+</p><div class="aui-message aui-message-info">
+Added in 5.2 | 
+&#160;
+</div>Instead of making contributions to the RegistryStartup service 
configuration you can provide startup methods inside your modules. A startup 
method is a static or instance method of a module annotated with @<a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/Startup.html";>Startup</a>
 annotation. Each module is allowed to contain several startup methods.<div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">public class MyModule
 {
 

Modified: websites/production/tapestry/content/release-notes-50.html
==============================================================================
--- websites/production/tapestry/content/release-notes-50.html (original)
+++ websites/production/tapestry/content/release-notes-50.html Sun Feb 11 
12:23:46 2018
@@ -78,11 +78,11 @@
 
       <div id="content">
                 <div id="ConfluenceContent"><p>This is the consolidated list 
of changes between Tapestry versions 5.0.3 and 5.0.19. Before upgrading, be 
sure to review the <a  href="release-notes-50.html">Release Notes 5.0</a> 
instructions.</p><p><strong>Contents</strong></p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1517700108174 {padding: 0px;}
-div.rbtoc1517700108174 ul {list-style: disc;margin-left: 0px;padding-left: 
5px;}
-div.rbtoc1517700108174 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1518351746279 {padding: 0px;}
+div.rbtoc1518351746279 ul {list-style: disc;margin-left: 0px;padding-left: 
5px;}
+div.rbtoc1518351746279 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1517700108174">
+/*]]>*/</style></p><div class="toc-macro rbtoc1518351746279">
 <ul class="toc-indentation"><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.19">Tapestry Version 
5.0.19</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.18">Tapestry 
Version 5.0.18</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.17">Tapestry Version 
5.0.17</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.16">Tapestry 
Version 5.0.16</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.15">Tapestry Version 
5.0.15</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.14">Tapestry 
Version 5.0.14</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.13">Tapestry Version 
5.0.13</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.12">Tapestry 
Version 5.0.12</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.11">Tapestry Version 
5.0.11</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.10">Tapestry 
Version 5.0.10</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.9">Tapestry Version 
5.0.9</a></li><li><a  href="#ReleaseNot
 es5.0-TapestryVersion5.0.8">Tapestry Version 5.0.8</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.7">Tapestry Version 
5.0.7</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.6">Tapestry 
Version 5.0.6</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.5">Tapestry Version 
5.0.5</a></li><li><a  href="#ReleaseNotes5.0-TapestryVersion5.0.4">Tapestry 
Version 5.0.4</a></li><li><a  
href="#ReleaseNotes5.0-TapestryVersion5.0.3">Tapestry Version 
5.0.3</a></li></ul>

[... 3 lines stripped ...]

Reply via email to