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 2015/06/27 23:21:05 UTC

svn commit: r956226 [31/34] - in /websites/production/tapestry/content: ./ 2010/10/11/ 2010/10/31/ 2010/11/18/ 2010/11/19/ 2010/12/16/ 2010/12/17/ 2011/01/10/ 2011/03/29/ 2011/06/13/ 2011/06/24/ 2011/06/29/ 2011/07/29/ 2011/08/16/ 2011/08/27/ 2011/10/3...

Modified: websites/production/tapestry/content/tapestry-inversion-of-control-container.html
==============================================================================
--- websites/production/tapestry/content/tapestry-inversion-of-control-container.html (original)
+++ websites/production/tapestry/content/tapestry-inversion-of-control-container.html Sat Jun 27 21:21:02 2015
@@ -45,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry Inversion of Control Container</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></span></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry Inversion of Control Container</h1></div></div>
 <div class="clearer"></div>
 </div>
 

Modified: websites/production/tapestry/content/tapestry-inversion-of-control-faq.html
==============================================================================
--- websites/production/tapestry/content/tapestry-inversion-of-control-faq.html (original)
+++ websites/production/tapestry/content/tapestry-inversion-of-control-faq.html Sat Jun 27 21:21:02 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"/>
 
@@ -55,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry Inversion of Control FAQ</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></span></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry Inversion of Control FAQ</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -82,45 +72,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>Main article: <a shape="rect" href="ioc.html">Tapestry IoC</a></p>
 
 <div class="navmenu" style="float:right; background:#eee; margin:3px; padding:3px">
-<h3>Related Articles</h3>
-<ul class="content-by-label"><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="ioc.html">IoC</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="tapestry-inversion-of-control-faq.html">Tapestry Inversion of Control FAQ</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="tapestry-ioc-overview.html">Tapestry IoC Overview</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="ioc-cookbook.html">IoC cookbook</a>
-                    
-                
-                            </div>
-        </li></ul>
-</div>
+<div class="error"><span class="error">Error formatting macro: contentbylabel: com.atlassian.confluence.api.service.exceptions.BadRequestException: Could not parse cql : null</span> </div></div>
 
 <h3 id="TapestryInversionofControlFAQ-WhydoIneedtodefineaninterfaceformyservices?Whycan'tIjustusetheclassitself?">Why do I need to define an interface for my services?  Why can't I just use the class itself?</h3>
 
@@ -139,7 +91,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>This same concern applies to any long-lived resource (a thread, a database connection, a JMS queue connection) that a service may hold onto.  Your code needs to know when the application has been undeployed and shutdown.  This is actually quite easy, by adding some post-injection logic to your implementation class.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: true" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: true; theme: Default" type="syntaxhighlighter"><![CDATA[
 public class MyServiceImpl implements MyService
 {
   private boolean shuttingDown;
@@ -172,25 +124,13 @@ public class MyServiceImpl implements My
 
 <p>After Tapestry invokes the constructor of the service implementation, and after it performs any field injections, it invokes post injection methods. The methods must be public and return void.  Parameters to a post injection method represent further injections ... in the above example, the RegistryShutdownHub is injected into the PostInjection method, since it is only used inside that one method.</p>
 
-    <div class="aui-message problem shadowed information-macro">
-                            <span class="aui-icon icon-problem">Icon</span>
-                <div class="message-content">
-                            
-<p>It is <strong>not</strong> recommended that MyServiceImpl take RegistryShutdownHub as a constructor parameter and register itself as a listener inside the constructor. Doing so is an example of <a shape="rect" class="external-link" href="http://www.ibm.com/developerworks/java/library/j-jtp0618.html" >unsafe publishing</a>, a remote but potential thread safety issue.</p>
-                    </div>
-    </div>
-
+<div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body">
+<p>It is <strong>not</strong> recommended that MyServiceImpl take RegistryShutdownHub as a constructor parameter and register itself as a listener inside the constructor. Doing so is an example of <a shape="rect" class="external-link" href="http://www.ibm.com/developerworks/java/library/j-jtp0618.html" >unsafe publishing</a>, a remote but potential thread safety issue.</p></div></div>
 
 <p>This same technique will work for any kind of resource that must be cleaned up or destroyed when the registry shuts down.</p>
 
-    <div class="aui-message warning shadowed information-macro">
-                            <span class="aui-icon icon-warning">Icon</span>
-                <div class="message-content">
-                            
-<p>Be careful not to invoke methods on any service proxy objects as they will also be shutting down with the Registry. A RegistryShutdownListener should not be reliant on anything outside of itself.</p>
-                    </div>
-    </div>
-
+<div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body">
+<p>Be careful not to invoke methods on any service proxy objects as they will also be shutting down with the Registry. A RegistryShutdownListener should not be reliant on anything outside of itself.</p></div></div>
 
 <h3 id="TapestryInversionofControlFAQ-HowdoImakemyservicestartupwiththerestoftheapplication,ratherthanlazily?">How do I make my service startup with the rest of the application, rather than lazily?</h3>
 

Modified: websites/production/tapestry/content/tapestry-ioc-configuration.html
==============================================================================
--- websites/production/tapestry/content/tapestry-ioc-configuration.html (original)
+++ websites/production/tapestry/content/tapestry-ioc-configuration.html Sat Jun 27 21:21:02 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"/>
 
@@ -55,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry IoC Configuration</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></span></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry IoC Configuration</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -80,63 +70,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <h1 id="TapestryIoCConfiguration-TapestryIoCConfiguration">Tapestry IoC Configuration</h1>
 
 <div class="navmenu" style="float:right; background:#eee; margin:3px; padding:3px">
-<h3>Related Articles</h3>
-<ul class="content-by-label"><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="application-module-class-cheat-sheet.html">Application Module Class Cheat Sheet</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="response-compression.html">Response Compression</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="tapestry-ioc-configuration.html">Tapestry IoC Configuration</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="configuration.html">Configuration</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="symbols.html">Symbols</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="ioc-cookbook-service-configurations.html">IoC cookbook - Service Configurations</a>
-                    
-                
-                            </div>
-        </li></ul>
-</div>
+<div class="error"><span class="error">Error formatting macro: contentbylabel: com.atlassian.confluence.api.service.exceptions.BadRequestException: Could not parse cql : null</span> </div></div>
 
 <p>Tapestry services &#8211; both those provided by Tapestry and those you write yourself &#8211; are configured using Java, not XML.</p>
 
@@ -147,7 +81,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>Let's say you've written a bunch of different services, each of which does something specific for a particular type of file (identified by the file's extension), and each implements the same interface, which we'll call FileServicer. And now let's say you need a central service that selects the one of your FileServicer implementations based on a given file extension.  You start by providing a <a shape="rect" href="defining-tapestry-ioc-services.html#DefiningTapestryIOCServices-serviceBuilderMethod">service builder method</a>:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   public static FileServiceDispatcher buildFileServicerDispatcher(Map&lt;String,FileServicer&gt; contributions)
   {
     return new FileServiceDispatcherImpl(contributions);
@@ -159,7 +93,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>So where do the values come from? Your service contributor methods, methods whose names start with "contribute":</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   public static void contributeFileServicerDispatcher(MappedConfiguration&lt;String,FileServicer&gt; configuration)
   {
     configuration.add(&quot;txt&quot;, new TextFileServicer());
@@ -170,7 +104,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>Or, instead of instantiating those services ourselves, we could <a shape="rect" href="injection-in-detail.html">inject</a> them:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   public static void contributeFileServicerDispatcher(MappedConfiguration&lt;String,FileServicer&gt; configuration,
   
     @InjectService(&quot;TextFileServicer&quot;) FileServicer textFileServicer,
@@ -184,7 +118,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>The <strong>extensibility</strong> comes from the fact that multiple modules may all contribute to the same service configuration:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   public static void contributeFileServicerDispatcher(MappedConfiguration&lt;String,FileServicer&gt; configuration)
   {
     configuration.add(&quot;doc&quot;, new WordFileServicer());
@@ -200,15 +134,8 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 
 
-    <div class="aui-message hint shadowed information-macro">
-                    <p class="title">Added in 5.2</p>
-                            <span class="aui-icon icon-hint">Icon</span>
-                <div class="message-content">
-                            
-
-                    </div>
-    </div>
-
+<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 style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;">
 </div>
 
@@ -225,7 +152,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>The following example is an annotation-based alternative for the contribution method above.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 @Contribute(FileServiceDispatcher.class)
 public static void arbitraryMethodName(MappedConfiguration&lt;String,FileServicer&gt; configuration)
 {
@@ -238,7 +165,7 @@ public static void arbitraryMethodName(M
 <p>If you have several implementations of a service interface, you have to disambiguate the services. For this purpose the marker annotations should be placed on the contributor method.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 @Contribute(FileServiceDispatcher.class)
 @Red @Blue
 public static void arbitraryMethodName(MappedConfiguration&lt;String,FileServicer&gt; configuration)
@@ -256,7 +183,7 @@ public static void arbitraryMethodName(M
 <p>Note that it <em>is</em> possible for the same contribution method to be invoked to contribute to the configuration of multiple different services.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   @Contribute(FileServiceDispatcher.class)
   @Local
   public static void arbitraryMethodName(MappedConfiguration&lt;String,FileServicer&gt; configuration)
@@ -283,7 +210,7 @@ public static void arbitraryMethodName(M
 <p>For example, here's a kind of Startup service that needs some Runnable objects. It doesn't care what order the Runnable objects are executed in.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   public static Runnable buildStartup(final Collection&lt;Runnable&gt; configuration)
   {
     return new Runnable()
@@ -302,7 +229,7 @@ public static void arbitraryMethodName(M
 <p>On the contribution side, a service contribution method sees a <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/Configuration.html">Configuration</a> object:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   public static void contributeStartup(Configuration&lt;Runnable&gt; configuration)
   {
     configuration.add(new JMSStartup());
@@ -326,7 +253,7 @@ public static void arbitraryMethodName(M
 <p>So, if we changed our Startup service to require a specific order for startup:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   public static Runnable buildStartup(final List&lt;Runnable&gt; configuration)
   {
     return new Runnable()
@@ -345,7 +272,7 @@ public static void arbitraryMethodName(M
 <p>For our service contribution methods, we must provide a parameter of type <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/OrderedConfiguration.html">OrderedConfiguration</a>:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   public static void contributeStartup(OrderedConfiguration&lt;Runnable&gt; configuration)
   {
     configuration.add(&quot;JMS&quot;, new JMSStartup());
@@ -363,15 +290,8 @@ public static void arbitraryMethodName(M
 
 
 
-    <div class="aui-message hint shadowed information-macro">
-                    <p class="title">Added in 5.3</p>
-                            <span class="aui-icon icon-hint">Icon</span>
-                <div class="message-content">
-                            
-
-                    </div>
-    </div>
-
+<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 style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;">
 
 <p>When using <code>add()</code> without any specific constraints, a default constraint is added: after the previously added element. These default constraints are only within a single contribution method, but makes it much easier to set the order of several related contributions. Note that the contributions will be ordered relative to each other and it's possible that contributions by some other module or method may be interspersed between them.</p>
@@ -403,15 +323,8 @@ public static void arbitraryMethodName(M
 
 
 
-    <div class="aui-message hint shadowed information-macro">
-                    <p class="title">Added in 5.1</p>
-                            <span class="aui-icon icon-hint">Icon</span>
-                <div class="message-content">
-                            
-
-                    </div>
-    </div>
-
+<div class="confluence-information-macro confluence-information-macro-information"><p class="title">Added in 5.1</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 style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;">
 </div>
 

Modified: websites/production/tapestry/content/tapestry-ioc-decorators.html
==============================================================================
--- websites/production/tapestry/content/tapestry-ioc-decorators.html (original)
+++ websites/production/tapestry/content/tapestry-ioc-decorators.html Sat Jun 27 21:21:02 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"/>
 
@@ -55,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry IoC Decorators</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></span></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry IoC Decorators</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -79,14 +69,8 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <h1 id="TapestryIoCDecorators-TapestryIoCDecorators">Tapestry IoC Decorators</h1>
 
-    <div class="aui-message hint shadowed information-macro">
-                            <span class="aui-icon icon-hint">Icon</span>
-                <div class="message-content">
-                            
-<p>Starting with Tapestry 5.1, Service Decoration is augmented with <a shape="rect" href="service-advisors.html">Service Advice</a>. Advisors are  similar but more general, as they work on any service interface, which doesn't have to be known at build time. Decoration is used when the type of the service being decorated <em>is</em> known at build time, and involves supplying a new implementation of the service interface.</p>
-                    </div>
-    </div>
-
+<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>Starting with Tapestry 5.1, Service Decoration is augmented with <a shape="rect" href="service-advisors.html">Service Advice</a>. Advisors are  similar but more general, as they work on any service interface, which doesn't have to be known at build time. Decoration is used when the type of the service being decorated <em>is</em> known at build time, and involves supplying a new implementation of the service interface.</p></div></div>
 
 <p><em>Decoration</em> is the name of a popular design pattern. Using decoration, an existing object's behavior can be extended without changing the implementation of the object.</p>
 
@@ -111,7 +95,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <h1 id="TapestryIoCDecorators-ServiceDecorationMethods">Service Decoration Methods</h1>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 package org.example.myapp.services;
 
 import org.apache.tapestry5.ioc.services.LoggingDecorator;
@@ -149,7 +133,7 @@ public class MyAppModule
 <p>Alternately, when targetting services whose type is known at compile time, you may provide a parameter whose type matches the service interface. For example, decorateIndexer() will always be applied to the Indexer service, whose type (Indexer) is known. We could therefore rewrite decorateIndexer() as:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   public static Indexer decorateIndexer(Indexer delegate, Logger logger, LoggingDecorator decorator)
   {
     return decorator.build(Indexer.class, delegate, &quot;Indexer&quot;, logger);
@@ -159,7 +143,7 @@ public class MyAppModule
 <p>Of course, nothing stops you from combining building with decorating inside the service builder method:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 package org.example.myapp.services;
 
 import org.apache.tapestry5.ioc.services.LoggingDecorator;
@@ -189,7 +173,7 @@ public class MyAppModule
 <p>For example, to target all the services in your module:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   @Match(&quot;*&quot;)
   public static &lt;T&gt; T decorateLogging(Class&lt;T&gt; serviceInterface, T delegate,
     String serviceId, Logger logger,
@@ -218,7 +202,7 @@ public class MyAppModule
 <p>For example, you almost always want logging decorators to come first, so:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   @Match(&quot;*&quot;)
   @Order(&quot;before:*&quot;)
   public static &lt;T&gt; T decorateLogging(Class&lt;T&gt; serviceInterface, T delegate,
@@ -239,22 +223,15 @@ public class MyAppModule
 
 
 
-    <div class="aui-message hint shadowed information-macro">
-                    <p class="title">Added in 5.2</p>
-                            <span class="aui-icon icon-hint">Icon</span>
-                <div class="message-content">
-                            
-
-                    </div>
-    </div>
-
+<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 style="border-right: 20px solid #D8E4F1;border-left: 20px solid #D8E4F1;">
 </div>
 
 <p>Starting from version 5.2, Tapestry supports annotation-driven decorator methods. If the <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/Decorate.html">@Decorate</a> annotation is present, the decorator method can be arbitrary named, as shown in the following example.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   @Decorate
   @Match(&quot;*DAO&quot;)
   public static &lt;T&gt; T byServiceId(Class&lt;T&gt; serviceInterface, T delegate,
@@ -271,7 +248,7 @@ public class MyAppModule
 <p>Alternatively, marker annotations can be placed on the decorate method to match a specific service.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   @Decorate
   @Blue
   public static &lt;T&gt; T byMarkerAnnotation(Class&lt;T&gt; serviceInterface, T delegate,
@@ -288,7 +265,7 @@ public class MyAppModule
 <p>By default, <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/Decorate.html">@Decorate</a> annotation applies the decorator to any service matched by the <a shape="rect" class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/annotations/Match.html">@Match</a> or marker annotations. You can limit the matching to a single service interface, as shown in the following example.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   @Decorate(serviceInterface=MyService.class)
   @Match(&quot;*DAO&quot;)
   public static &lt;T&gt; T byServiceId(Class&lt;T&gt; serviceInterface, T delegate,
@@ -302,7 +279,7 @@ public class MyAppModule
 <p>In the example above, the decorator is applied to any implementation of MyService interfaces whose id matches the "*DAO" pattern.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   @Decorate(serviceInterface=MyService.class)
   @Blue
   public static &lt;T&gt; T byMarkerAnnotation(Class&lt;T&gt; serviceInterface, T delegate,
@@ -339,7 +316,7 @@ public class MyAppModule
 <p>By way of an example, we'll show an implementation of the LoggingDecorator service:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 public class LoggingDecoratorImpl implements LoggingDecorator
 {
     private final AspectDecorator aspectDecorator;

Modified: websites/production/tapestry/content/tapestry-ioc-modules.html
==============================================================================
--- websites/production/tapestry/content/tapestry-ioc-modules.html (original)
+++ websites/production/tapestry/content/tapestry-ioc-modules.html Sat Jun 27 21:21:02 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"/>
 
@@ -55,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry IoC Modules</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></span></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry IoC Modules</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -97,7 +87,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>Service builder methods are public methods. They are often static. Here's a trivial example:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 package org.example.myapp.services;
 
 public class MyAppModule
@@ -130,7 +120,7 @@ public class MyAppModule
 <p>An alternate, and usually preferred, way to define a service is via a module's bind() method. The previous example can be rewritten as:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 package org.example.myapp.services;
 
 import org.apache.tapestry5.ioc.ServiceBinder;
@@ -160,7 +150,7 @@ public class MyAppModule
 <p>This gives you a chance to store common services in instance variables for later use inside service builder methods.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 
 public class MyModule
 {   
@@ -219,7 +209,7 @@ Note that the fields are final: this is
 <p>Often, all services in a module should share a marker, this can be specified with a @Marker annotation on the module class. For example, the TapestryIOCModule:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 @Marker(Builtin.class)
 public final class TapestryIOCModule
 {
@@ -229,7 +219,7 @@ public final class TapestryIOCModule
 <p>This references a particular annotation class, Builtin:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 @Target(
 { PARAMETER, FIELD })
 @Retention(RUNTIME)
@@ -251,7 +241,7 @@ public @interface Builtin
 <p>Using this style, the previous example of a module class may be rewritten:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 public class MyModule
 {
   @Inject

Modified: websites/production/tapestry/content/tapestry-ioc-overview.html
==============================================================================
--- websites/production/tapestry/content/tapestry-ioc-overview.html (original)
+++ websites/production/tapestry/content/tapestry-ioc-overview.html Sat Jun 27 21:21:02 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"/>
 
@@ -55,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry IoC Overview</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></span></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry IoC Overview</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -115,7 +105,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 
 <p>So the IoC container is the "town" and in the world of the IoC container, everything has a name, a place, and a relationship to everything else in the container. Tapestry calls this world "The Registry".</p>
 
-<p><img class="confluence-embedded-image" src="tapestry-ioc-overview.data/ioc-overview.png" data-image-src="/confluence/download/attachments/23338486/ioc-overview.png?version=1&amp;modificationDate=1290980234000&amp;api=v2"></p>
+<p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="tapestry-ioc-overview.data/ioc-overview.png" data-image-src="/confluence/download/attachments/23338486/ioc-overview.png?version=1&amp;modificationDate=1290980234000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="24346936" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="ioc-overview.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="23338486" data-linked-resource-container-version="22"></span></p>
 
 <p>Here we're seeing a few services from the built-in Tapestry IoC module, and a few of the services from the Tapestry web framework module. In fact, there are over 100 services, all interrelated, in the Registry ... and that's before you add your own to the mix. The IoC Registry treats all the services uniformly, regardless of whether they are part of Tapestry, or part of your application, or part of an add-on library.</p>
 
@@ -144,36 +134,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>Main Article: <a shape="rect" href="injection.html">Injection</a></p>
 
 <div class="navmenu" style="float:right; background:#eee; margin:3px; padding:3px">
-<h3>Related Articles</h3>
-<ul class="content-by-label"><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="injection.html">Injection</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="injection-faq.html">Injection FAQ</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="injection-in-detail.html">Injection in Detail</a>
-                    
-                
-                            </div>
-        </li></ul>
-</div>
+<div class="error"><span class="error">Error formatting macro: contentbylabel: com.atlassian.confluence.api.service.exceptions.BadRequestException: Could not parse cql : null</span> </div></div>
 
 <p>Inversion of Control refers to the fact that the container, here Tapestry IoC's Registry, instantiates your classes. It decides on when the classes get instantiated.</p>
 
@@ -194,7 +155,7 @@ table.ScrollbarTable td.ScrollbarNextIco
 <p>This code is for a metric that periodically counts the number of rows in a key database table. Other implementations of MetricProducer will be responsible for measuring CPU utilization, available disk space, number of requests per second, and so forth.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 public class TableMetricProducer implements MetricProducer
 {
   . . . 
@@ -214,7 +175,7 @@ public class TableMetricProducer impleme
 <p>Obviously, this code has a problem ... we're creating a new QueueWriter for each metric we write into the queue, and the QueueWriter presumably is going to open the JMS queue fresh each time, an expensive operation. Thus:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 public class TableMetricProducer implements MetricProducer
 {
   . . . 
@@ -234,14 +195,14 @@ public class TableMetricProducer impleme
 <p>Here's a more immediate problem: JMS connections are really meant to be shared, and we'll have lots of little classes collecting different metrics. So we need to make the QueueWriter shareable:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   private final QueueWriter queueWriter = QueueWriter.getInstance();]]></script>
 </div></div>
 
 <p>... and inside class QueueWriter:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 public class QueueWriter
 {
   private static QueueWriter instance;
@@ -266,7 +227,7 @@ public class QueueWriter
 <p>Much better! Now all the metric producers running inside all the threads can share a single QueueWriter. Oh wait ...</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
   public synchronized static getInstance()
   {
     if (instance == null)
@@ -289,7 +250,7 @@ public class QueueWriter
 <p>We'll need to change TableMetricProducer to take the QueueWriter as a constructor parameter.</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 public class TableMetricProducer implements MetricProducer
 {
   private final QueueWriter queueWriter;
@@ -333,7 +294,7 @@ public class TableMetricProducer impleme
 <p>For comparison, lets see what the Tapestry IoC implementation would look like:</p>
 
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 public class MonitorModule
 {
   public static void bind(ServiceBinder binder)

Modified: websites/production/tapestry/content/tapestry-tutorial.html
==============================================================================
--- websites/production/tapestry/content/tapestry-tutorial.html (original)
+++ websites/production/tapestry/content/tapestry-tutorial.html Sat Jun 27 21:21:02 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"/>
 
@@ -55,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry Tutorial</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></span></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Tapestry Tutorial</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -68,54 +58,7 @@
 
 <div id="content">
 <div id="ConfluenceContent"><div class="navmenu" style="float:right; background:#eee; margin:3px; padding:3px">
-<h3>Related Articles</h3>
-<ul class="content-by-label"><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="tapestry-for-jsf-users.html">Tapestry for JSF Users</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="introduction.html">Introduction</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="tapestry-tutorial.html">Tapestry Tutorial</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="getting-started.html">Getting Started</a>
-                    
-                
-                            </div>
-        </li><li>
-            <div>
-                    <span class="icon icon-page" title="Page">Page:</span>            </div>
-
-            <div class="details">
-                            <a shape="rect" href="principles.html">Principles</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 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 class="error"><span class="error">Error formatting macro: contentbylabel: com.atlassian.confluence.api.service.exceptions.BadRequestException: Could not parse cql : null</span> </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 a
 ction 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 unle
 arn 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: 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 time, 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 w
 hile 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 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>
 
 <div class="clearer"></div>

Modified: websites/production/tapestry/content/templating-and-markup-faq.html
==============================================================================
--- websites/production/tapestry/content/templating-and-markup-faq.html (original)
+++ websites/production/tapestry/content/templating-and-markup-faq.html Sat Jun 27 21:21:02 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"/>
 
@@ -55,7 +45,7 @@
   <input type="submit" value="Search">
 </form>
 
-</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Templating and Markup FAQ</h1></div></div>
+</div><div class="emblem" style="float:left"><p><a shape="rect" href="index.html"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://tapestry.apache.org/images/tapestry_small.png" data-image-src="http://tapestry.apache.org/images/tapestry_small.png"></span></a></p></div><div class="title" style="float:left; margin: 0 0 0 3em"><h1 id="SmallBanner-PageTitle">Templating and Markup FAQ</h1></div></div>
 <div class="clearer"></div>
 </div>
 
@@ -76,14 +66,14 @@ table.ScrollbarTable td.ScrollbarNextNam
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
 /*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="general-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="general-questions.html">General Questions</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="frequently-asked-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="page-and-component-classes-faq.html">Page And Component Classes FAQ</a></td><td colspan="1" rowspan="1" class="Scrol
 lbarNextIcon"><a shape="rect" href="page-and-component-classes-faq.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div><h2 id="TemplatingandMarkupFAQ-TemplatingandMarkup">Templating and Markup</h2><p>Main Article: <a shape="rect" href="component-templates.html">Component Templates</a></p><h3 id="TemplatingandMarkupFAQ-WhydoIgetaSAXParseExceptionwhenIuseanHTMLentity,suchas&amp;nbsp;inmytemplate?">Why do I get a SAXParseException when I use an HTML entity, such as <code>&amp;nbsp;</code> in my template?</h3><p>Tapestry uses a standard SAX parser to read your templates. This means that your templates must be <em>well formed</em>: open and close tags must balance, attribute values must be quoted, and entities must be declared. The easiest way to accomplish this is to add a DOCTYPE to your the top of your template:</p><div class="code panel pdl" style="border-width: 1px;"><div class="c
 odeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
    &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
 ]]></script>
 </div></div><p>Part of the DOCTYPE is the declaration of entities such as <code>&amp;nbsp;</code>.</p><p>Alternately, you can simply use the numeric version: <code>&amp;#160</code>; This is the exact same character and will render identically in the browser.</p><p>Starting in release 5.3, Tapestry introduces an XHTML doctype when no doctype is present; this means that common HTML entities will work correctly.</p><h3 id="TemplatingandMarkupFAQ-Whydosomeimagesinmypageshowupasbrokenlinks?">Why do some images in my page show up as broken links?</h3><p>You have to be careful when using relative URLs inside page templates; the base URL may not always be what you expect. For example, inside your <code>ViewUser.tml</code> file, you may have:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[  &lt;img class=&quot;icon&quot; src=&quot;icons/admin.png&quot;/&gt;${user.name} has Administrative access
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[  &lt;img class=&quot;icon&quot; src=&quot;icons/admin.png&quot;/&gt;${user.name} has Administrative access
 ]]></script>
 </div></div><p>This makes sense; ViewUser.tml is in the web context, as is the icons folder. The default URL for this page will be /viewuser (assuming that ViewUser class is in the &#160;<em>root-package</em>.pages package).</p><p>However, the ViewUser page might use a page activation context to identify which user is to be displayed:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[public class ViewUser
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[public class ViewUser
 
   @Property
   @PageActivationContext
@@ -92,29 +82,29 @@ table.ScrollbarTable td.ScrollbarNextIco
   . . .
 ]]></script>
 </div></div><p>With a page activation context, the URL for the page will incorporate the ID of the User object, something like <code>/viewuser/37371</code>. This is why the relative URL to the <code>admin.png</code> image is broken: the base path is relative to the page's URL, not to the page template. (In fact, the page template may not even be in the web context, it may be stored on the classpath, as component templates are.)</p><p>One solution would be to predict what the page URL will be, and adjust the path for that:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[  &lt;img class=&quot;icon&quot; src=&quot;../icons/admin.png&quot;/&gt;${user.name} has Administrative access
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[  &lt;img class=&quot;icon&quot; src=&quot;../icons/admin.png&quot;/&gt;${user.name} has Administrative access
 ]]></script>
 </div></div><p>But this has its own problems; the page activation context may vary in length at different times, or the template in question may be a component used across many different pages, making it difficult to predict what the correct relative URL would be.</p><p>The <em>best</em> solution for this situation, one that will be sure to work in all pages and all components, is to make use of the <code>context:</code> binding prefix:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[  &lt;img class=&quot;icon&quot; src=&quot;${context:icons/admin.png}&quot;/&gt;${user.name} has Administrative access
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[  &lt;img class=&quot;icon&quot; src=&quot;${context:icons/admin.png}&quot;/&gt;${user.name} has Administrative access
 ]]></script>
 </div></div><p>The src attribute of the &lt;img&gt; tag will now be bound to a dynamically computed value: the location of the image file relative to the web application context. This is especially important for components that may be used on different pages.</p><h3 id="TemplatingandMarkupFAQ-What'sthedifferencebetweenidandt:id?">What's the difference between <code>id</code> and <code>t:id</code>?</h3><p>You might occasionally see something like the following in a template:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;t:zone id=&quot;status&quot; t:id=&quot;statusZone&quot;&gt;
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;t:zone id=&quot;status&quot; t:id=&quot;statusZone&quot;&gt;
 ]]></script>
 </div></div><p>Why two ids? Why are they different?</p><p>The <code>t:id</code> attribute is the Tapestry component id. This id is unique within its immediate container. This is the id you might use to inject the component into your page class:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[  @InjectComponent
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[  @InjectComponent
   private Zone statusZone;
 ]]></script>
 </div></div><p>The other id is the client id, a unique id for the rendered element within the client-side DOM. JavaScript that needs to access the element uses this id. For example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: text; gutter: false" type="syntaxhighlighter"><![CDATA[  $(&#39;status&#39;).hide();
+<script class="brush: text; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[  $(&#39;status&#39;).hide();
 ]]></script>
 </div></div><p>In many components, the <code>id</code> attribute is an informal parameter; a value from the template that is blindly echoed into the output document. In other cases, the component itself has an <code>id</code> attribute. Often, in the latter case, the Tapestry component id is the <em>default</em> value for the client id.</p><h3 id="TemplatingandMarkupFAQ-WhydomyimagesandstylesheetsendupwithaweirdURLslike/assets/meta/zeea17aee26bc0cae/layout/layout.css?">Why do my images and stylesheets end up with a weird URLs like <code>/assets/meta/zeea17aee26bc0cae/layout/layout.css</code>?</h3><p>Tapestry doesn't rely on the servlet container to serve up your static assets (images, stylesheets, flash movies, etc.). Instead, Tapestry processes the requests itself, streaming assets to the browser.</p><p>Asset content will be GZIP compressed (if the client supports compression, and the content is compressible). In addition, Tapestry will set a far-future expires header on the conten
 t. This means that the browser will not ask for the file again, greatly reducing network traffic.</p><p>The weird hex string is a&#160;<em>fingerprint</em>; it is a hash code computed from the actual content of the asset. If the asset ever changes, it will have a new fingerprint, and so will be a new path and a new (immutable) resource. This approach, combined with a far-future expires header also provided by Tapestry, ensures that clients aggressively cache assets as they navigate your site, or even between visits.</p><p><span style="color: rgb(83,145,38);font-size: 16.0px;line-height: 1.5625;">How do I add a CSS class to a Tapestry component?</span></p><p>As they say, "just do it". The majority of Tapestry components support <em>informal parameters</em>, meaning that any extra attributes in the element (in the template) will be rendered out as additional attributes. So, you can apply a CSS class or style quite easily:</p><div class="code panel pdl" style="border-width: 1px;"><div 
 class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[  &lt;t:textfield t:id=&quot;username&quot; class=&quot;big-green&quot;/&gt;
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[  &lt;t:textfield t:id=&quot;username&quot; class=&quot;big-green&quot;/&gt;
 ]]></script>
 </div></div><p>You can even use template expansions inside the attribute value:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[  &lt;t:textfield t:id=&quot;username&quot; class=&quot;${usernameClass}&quot;/&gt;
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[  &lt;t:textfield t:id=&quot;username&quot; class=&quot;${usernameClass}&quot;/&gt;
 ]]></script>
 </div></div><p>and</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[  public String getUsernameClass() 
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[  public String getUsernameClass() 
   {
     return isUrgent() ? &quot;urgent&quot; : null;
   }
@@ -127,7 +117,7 @@ table.ScrollbarTable td.ScrollbarParent
 table.ScrollbarTable td.ScrollbarNextName {text-align: right;border: none;}
 table.ScrollbarTable td.ScrollbarNextIcon {text-align: center;width: 16px;border: none;}
 
-/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="general-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="general-questions.html">General Questions</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="frequently-asked-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="page-and-component-classes-faq.html">Page And Component Classes FAQ</a></td><td colspan="1" rowspan="1" class="Scrol
 lbarNextIcon"><a shape="rect" href="page-and-component-classes-faq.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div><p>&#160;</p><p>&#160;</p><p>&#160;</p><p>&#160;</p><p>&#160;</p><p>&#160;</p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody></tbody></table><p>&#160;</p><p>&#160;</p><p>&#160;</p><p>&#160;</p></div>
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect" href="general-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/back_16.gif" width="16" height="16"></a></td><td colspan="1" rowspan="1" class="ScrollbarPrevName" width="33%"><a shape="rect" href="general-questions.html">General Questions</a>&#160;</td><td colspan="1" rowspan="1" class="ScrollbarParent" width="33%"><sup><a shape="rect" href="frequently-asked-questions.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/up_16.gif" width="8" height="8"></a></sup><a shape="rect" href="frequently-asked-questions.html">Frequently Asked Questions</a></td><td colspan="1" rowspan="1" class="ScrollbarNextName" width="33%">&#160;<a shape="rect" href="page-and-component-classes-faq.html">Page And Component Classes FAQ</a></td><td colspan="1" rowspan="1" class="Scrol
 lbarNextIcon"><a shape="rect" href="page-and-component-classes-faq.html"><img align="middle" border="0" src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16" height="16"></a></td></tr></table></div><p>&#160;</p><p>&#160;</p><p>&#160;</p><p>&#160;</p><p>&#160;</p><p>&#160;</p><p><table class="Footnotes" style="width: 100%; border:none;" cellspacing="0" cellpadding="0" summary="This table contains one or more notes for references made elsewhere on the page."><caption class="accessibility">Footnotes</caption><thead class="accessibility"><tr class="accessibility"><th colspan="1" rowspan="1" class="accessibility" id="footnote-th1">Reference</th><th colspan="1" rowspan="1" class="accessibility" id="footnote-th2">Notes</th></tr></thead><tbody></tbody></table></p><p>&#160;</p><p>&#160;</p><p>&#160;</p><p>&#160;</p></div>
 </div>
 
 <div class="clearer"></div>