Modified: websites/production/tapestry/content/release-notes-52.html
==============================================================================
--- websites/production/tapestry/content/release-notes-52.html (original)
+++ websites/production/tapestry/content/release-notes-52.html Sat Jan 18
21:21:01 2014
@@ -29,6 +29,8 @@
<link
href='http://cxf.apache.org/resources/highlighter/styles/shThemeCXF.css'
rel='stylesheet' type='text/css' />
<script src='http://cxf.apache.org/resources/highlighter/scripts/shCore.js'
type='text/javascript'></script>
<script
src='http://cxf.apache.org/resources/highlighter/scripts/shBrushJava.js'
type='text/javascript'></script>
+ <script
src='http://cxf.apache.org/resources/highlighter/scripts/shBrushXml.js'
type='text/javascript'></script>
+ <script
src='http://cxf.apache.org/resources/highlighter/scripts/shBrushJScript.js'
type='text/javascript'></script>
<script type="text/javascript">
SyntaxHighlighter.defaults['toolbar'] = false;
SyntaxHighlighter.all();
@@ -77,54 +79,22 @@ 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="release-notes-51.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="release-notes-51.html">Release Notes
5.1</a> </td><td colspan="1" rowspan="1" class="ScrollbarParent"
width="33%"><sup><a shape="rect" href="release-notes.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="release-notes.html">Release Notes</a></td><td colspan="1" rowspan="1"
class="ScrollbarNextName" width="33%"> <a shape="rect"
href="release-notes-53.html">Release Notes 5.3</a></td><td colspan="1"
rowspan="1" class="ScrollbarNextIcon"><a shape="rect"
href="release-notes-53.html"><img alig
n="middle" border="0"
src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16"
height="16"></a></td></tr></table></div>
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td
colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect"
href="release-notes-51.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="release-notes-51.html">Release Notes
5.1</a> </td><td colspan="1" rowspan="1" class="ScrollbarParent"
width="33%"><sup><a shape="rect" href="release-notes.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="release-notes.html">Release Notes</a></td><td colspan="1" rowspan="1"
class="ScrollbarNextName" width="33%"> <a shape="rect"
href="release-notes-53.html">Release Notes 5.3</a></td><td colspan="1"
rowspan="1" class="ScrollbarNextIcon"><a shape="rect"
href="release-notes-53.html"><img alig
n="middle" border="0"
src="https://cwiki.apache.org/confluence/images/icons/forwd_16.gif" width="16"
height="16"></a></td></tr></table></div><p>This is the consolidated list of
changes between Tapestry versions 5.1 and 5.2. To upgrade from 5.1 to 5.2, most
users will be able to just update the Maven dependency in their POM file (or <a
shape="rect" href="download.html">download</a> the new JAR file) and the new
version will just work. However, please read carefully below before upgrading,
and also review the <a shape="rect" href="how-to-upgrade.html">How to
Upgrade</a> instructions.</p><p><strong>Contents</strong></p><p><style
type="text/css">/*<![CDATA[*/
+div.rbtoc1390080051288 {padding: 0px;}
+div.rbtoc1390080051288 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1390080051288 li {margin-left: 0px;padding-left: 0px;}
-<p>This is the consolidated list of changes between Tapestry versions 5.1 and
5.2. To upgrade from 5.1 to 5.2, most users will be able to just update the
Maven dependency in their POM file (or <a shape="rect"
href="download.html">download</a> the new JAR file) and the new version will
just work. However, please read carefully below before upgrading, and also
review the <a shape="rect" href="how-to-upgrade.html">How to Upgrade</a>
instructions.</p>
-
-<p><strong>Contents</strong></p>
-<style type="text/css">/*<![CDATA[*/
-div.rbtoc1387423359451 {padding: 0px;}
-div.rbtoc1387423359451 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1387423359451 li {margin-left: 0px;padding-left: 0px;}
-
-/*]]>*/</style><div class="toc-macro rbtoc1387423359451">
+/*]]>*/</style></p><div class="toc-macro rbtoc1390080051288">
<ul class="toc-indentation"><li><a shape="rect"
href="#ReleaseNotes5.2-BreakingChanges">Breaking Changes</a></li><li><a
shape="rect" href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.6">Release Notes:
Tapestry 5.2.6</a></li><li><a shape="rect"
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.5">Release Notes: Tapestry
5.2.5</a></li><li><a shape="rect"
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.4">Release Notes: Tapestry
5.2.4</a></li><li><a shape="rect"
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.3">Release Notes: Tapestry
5.2.3</a></li><li><a shape="rect"
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.2">Release Notes: Tapestry
5.2.2</a></li><li><a shape="rect"
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.1">Release Notes: Tapestry
5.2.1</a></li><li><a shape="rect"
href="#ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.0">Release Notes: Tapestry
5.2.0</a></li></ul>
-</div>
-
-<h2 id="ReleaseNotes5.2-BreakingChanges">Breaking Changes</h2>
-
-<p>The following changes have been made in Tapestry 5.2 that are likely to
result in unexpected behavior if your application relies on the changed
functionality. Please review this list carefully before upgrading from 5.1 to
5.2. Also check the <a shape="rect" class="external-link"
href="http://tapestry.apache.org/current/apidocs/deprecated-list.html">Deprecated
API List</a> for non-breaking changes.</p>
-
-<ul><li>Page classes with instance variables that are not thread safe must be
created in a method rather than declared as an instance variable. For example,
creating an instance variable <code>private final DateFormat format =
DateFormat.getDateInstance(DateFormat.MEDIUM, locale);</code> in a page and
using it will cause problems because DateFormat is not thread safe. Instead,
you must create the DateFormat in a method. See <a shape="rect"
href="#ReleaseNotes5.2-Tap5.2.0">Release Notes: Tapestry 5.2.0</a> (below) for
details.</li><li><a shape="rect" class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/Link.html#toAbsoluteURI%28%29">Link.toAbsoluteURI()</a>
now returns the absolute URL, which includes the scheme, hostname and possibly
port (e.g., "http://example.com:8080/myapp/viewproduct/4"), rather than a
relative URL (e.g., "/myapp/viewproduct/4"). See <a shape="rect"
href="#ReleaseNotes5.2-Tap5.2.2">Release Notes: Tapestry 5.2.2</a> (below)
for details.</li><li>The <a shape="rect" class="external-link"
href="http://tapestry.apache.org/tapestry5.2-dev/tapestry-core/ref/org/apache/tapestry5/corelib/components/Label.html">Label</a>
component no longer outputs an id:</li></ul>
-
-
-
-<p>Previously valid code in 5.1.0.5:</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[<t:form><t:label
for="search"/><t:textfield t:id="search"
size="50"/></t:form>]]></script>
-</div></div>
-
-<p>Combined with JavaScript that references the id:</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[jQuery('#search-label').text('This
is the search label'); ]]></script>
-</div></div>
-
-<p>New JavaScript code for 5.2:</p>
+</div><h2 id="ReleaseNotes5.2-BreakingChanges">Breaking Changes</h2><p>The
following changes have been made in Tapestry 5.2 that are likely to result in
unexpected behavior if your application relies on the changed functionality.
Please review this list carefully before upgrading from 5.1 to 5.2. Also check
the <a shape="rect" class="external-link"
href="http://tapestry.apache.org/current/apidocs/deprecated-list.html">Deprecated
API List</a> for non-breaking changes.</p><ul><li>Page classes with instance
variables that are not thread safe must be created in a method rather than
declared as an instance variable. For example, creating an instance variable
<code>private final DateFormat format =
DateFormat.getDateInstance(DateFormat.MEDIUM, locale);</code> in a page and
using it will cause problems because DateFormat is not thread safe. Instead,
you must create the DateFormat in a method. See <a shape="rect"
href="#ReleaseNotes5.2-Tap5.2.0">Release Notes: Tapestry 5.2.0</a> (below) for
details.</li><li><a shape="rect" class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/Link.html#toAbsoluteURI%28%29">Link.toAbsoluteURI()</a>
now returns the absolute URL, which includes the scheme, hostname and possibly
port (e.g., "http://example.com:8080/myapp/viewproduct/4"), rather than a
relative URL (e.g., "/myapp/viewproduct/4"). See <a shape="rect"
href="#ReleaseNotes5.2-Tap5.2.2">Release Notes: Tapestry 5.2.2</a> (below) for
details.</li><li>The <a shape="rect" class="external-link"
href="http://tapestry.apache.org/tapestry5.2-dev/tapestry-core/ref/org/apache/tapestry5/corelib/components/Label.html">Label</a>
component no longer outputs an id:</li></ul><p>Previously valid code in
5.1.0.5:</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[<t:form><t:label
for="search"/><t:textfield t:id="search"
size="50"/></t:form>]]></script>
+</div></div><p>Combined with JavaScript that references the id:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<script class="theme: Default; brush: js; gutter: false"
type="syntaxhighlighter"><![CDATA[jQuery('#search-label').text('This
is the search label'); ]]></script>
+</div></div><p>New JavaScript code for 5.2:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: js; gutter: false"
type="syntaxhighlighter"><![CDATA[jQuery('label[for=search]').text('This
is the search label');]]></script>
+</div></div><ul><li>ContributeTranslatorSource compatibility is broken.
Service 'TranslatorSource' is now configured using a MappedConfiguration, not a
Configuration. See issue <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1395">TAP5-1395</a></li><li>Code
that uses Form.getDefaultTracker().getHasErrors()) fails if it assumes that
getDefaultTracker() is not null when validation is successful. See issue <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1401">TAPS-1401</a>.</li><li>Virtual
folders, used to define root packages for component libraries, may no longer
contain slashes.</li><li>The path prefix of a LibraryMapping may no longer
contain the slash character.</li></ul><h2
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.6">Release Notes: Tapestry
5.2.6</h2><p>Tapestry 5.2.6 is a maintenance release.
- <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[jQuery('label[for=search]').text('This
is the search label');]]></script>
-</div></div>
-
-<ul><li>ContributeTranslatorSource compatibility is broken. Service
'TranslatorSource' is now configured using a MappedConfiguration, not a
Configuration. See issue <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1395">TAP5-1395</a></li><li>Code
that uses Form.getDefaultTracker().getHasErrors()) fails if it assumes that
getDefaultTracker() is not null when validation is successful. See issue <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1401">TAPS-1401</a>.</li><li>Virtual
folders, used to define root packages for component libraries, may no longer
contain slashes.</li><li>The path prefix of a LibraryMapping may no longer
contain the slash character.</li></ul>
-
-
-
-<h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.6">Release Notes: Tapestry
5.2.6</h2>
-Tapestry 5.2.6 is a maintenance release.
-
-<p></p><p>
+</p><p></p><p>
</p><h3> Bugs Fixed
</h3>
@@ -140,42 +110,29 @@ Tapestry 5.2.6 is a maintenance release.
</li><li>[<a shape="rect"
href="https://issues.apache.org/jira/browse/TAP5-1539">TAP5-1539</a>] -
Optimize document scans used by Tapestry.FieldEventManager to not locate the
label or icon until actually needed
</li></ul>
-<p></p>
+<p></p><h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.5">Release Notes:
Tapestry 5.2.5</h2><p>Version 5.2.5 is a maintenance release for 5.2.4.
-<h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.5">Release Notes: Tapestry
5.2.5</h2>
-Version 5.2.5 is a maintenance release for 5.2.4.
-
-<h3 id="ReleaseNotes5.2-BugsFixed">Bugs Fixed</h3>
+</p><h3 id="ReleaseNotes5.2-BugsFixed">Bugs Fixed</h3>
<ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1372">TAP5-1372</a> -
BaseURLSource uses getLocalPort() rather than getServerPort()</li></ul>
<h3 id="ReleaseNotes5.2-ImprovementsMade">Improvements Made</h3>
-<ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1040">TAP5-1040</a> - Allow
HTML5 doctype to be printed</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1208">TAP5-1208</a> - In
development mode, Tapestry should "shadow" field & parameter values to
instance variables, to assist with debugging</li><li><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1346">TAP5-1346</a> - Fix
broken links on new Web Site</li></ul>
-
-<h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.4">Release Notes: Tapestry
5.2.4</h2>
-Version 5.2.4 replaces version <a shape="rect"
href="release-notes-523.html">5.2.3</a>, which had an incorrect version number
in the quickstart archetype.
+<ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1040">TAP5-1040</a> - Allow
HTML5 doctype to be printed</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1208">TAP5-1208</a> - In
development mode, Tapestry should "shadow" field & parameter values to
instance variables, to assist with debugging</li><li><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1346">TAP5-1346</a> - Fix
broken links on new Web Site</li></ul><h2
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.4">Release Notes: Tapestry
5.2.4</h2><p>Version 5.2.4 replaces version <a shape="rect"
href="release-notes-523.html">5.2.3</a>, which had an incorrect version number
in the quickstart archetype.
-<h3 id="ReleaseNotes5.2-ImprovementsMade.1">Improvements Made</h3>
+</p><h3 id="ReleaseNotes5.2-ImprovementsMade.1">Improvements Made</h3>
-<ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1349">TAP5-1394</a> –
The method parameter annotations are missing from Tapestry IoC proxies</li></ul>
-
-<h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.3">Release Notes: Tapestry
5.2.3</h2>
-<h3 id="ReleaseNotes5.2-BugsFixed.1">Bugs Fixed</h3>
+<ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1349">TAP5-1394</a> –
The method parameter annotations are missing from Tapestry IoC
proxies</li></ul><h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.3">Release
Notes: Tapestry 5.2.3</h2><p></p><h3 id="ReleaseNotes5.2-BugsFixed.1">Bugs
Fixed</h3>
<ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1204">TAP5-1204</a> –
tapestry-core JAR includes some compiled Groovy test scripts</li><li><a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1326">TAP5-1326</a> –
Bug in ConcurrentBarrierTest</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1327">TAP5-1327</a> –
Tapestry IOC depends on SLF4J 1.5.6 which is not compatible with Hibernate 3.6
(which depends on 1.6.1)</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1328">TAP5-1328</a> –
Tapestry.ajaxRequest() fails when just parameters are provided, but not an
onSuccess handler function</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1330">TAP5-1330</a> –
Position of Injected Stylesheets changed from 5.1 to 5.2</li><li><a
shape="rect" class
="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1332">TAP5-1332</a> – In
a multi-zone update, if the referenced Zone can not be found on the client,
Tapestry stops updating Zones with no error</li><li><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1334">TAP5-1334</a> – Id
attribute of the @Decorate annotation should be optional</li><li><a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1345">TAP5-1345</a> – A
supported locale name is only recognized in lower case</li></ul>
<h3 id="ReleaseNotes5.2-ImprovementsMade.2">Improvements Made</h3>
-<ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-929">TAP5-929</a> –
Implement sendRedirect() for TestableResponseImpl</li><li><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1333">TAP5-1333</a> –
Zone should implement an interface, BodyElement, that extends ClientElement and
provides the body property</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1341">TAP5-1341</a> –
Improve page testing facilities</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1342">TAP5-1342</a> –
Provide convenient methods for Element and Document to find elements</li></ul>
-
-<p><span class="confluence-anchor-link"
id="ReleaseNotes5.2-Tap5.2.2"></span></p>
-<h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.2">Release Notes: Tapestry
5.2.2</h2>
-It is now possible to generate an absolute URL from a Link object; an absolute
URL includes the URL scheme, host, port number (if necessary) followed by the
complete path. This is useful in a number of situations, such as when
generating a URL that may be e-mailed to an end user.
+<ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-929">TAP5-929</a> –
Implement sendRedirect() for TestableResponseImpl</li><li><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1333">TAP5-1333</a> –
Zone should implement an interface, BodyElement, that extends ClientElement and
provides the body property</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1341">TAP5-1341</a> –
Improve page testing facilities</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1342">TAP5-1342</a> –
Provide convenient methods for Element and Document to find
elements</li></ul><p><span class="confluence-anchor-link"
id="ReleaseNotes5.2-Tap5.2.2"></span></p><h2
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.2">Release Notes: Tapestry
5.2.2</h2><p>It is now possible to generate an absolute URL from a Link object;
an
absolute URL includes the URL scheme, host, port number (if necessary)
followed by the complete path. This is useful in a number of situations, such
as when generating a URL that may be e-mailed to an end user.
-<p>The semantics of the <code>Link.toAbsoluteURL()</code> method has changed;
in prior releases it returned a complete URL (i.e., starting with a leading
slash), and the method was typically used when generating an Ajax callback URL.
Starting in 5.2.2 this generates an absolute URL (as described above). In most
cases, you should change code that invoked <code>toAbsoluteURL()</code> with a
call to <code>toURL()</code> instead; because Tapestry no longer 'optimizes'
URLs, this will work for Ajax cases as well.</p>
+</p><p>The semantics of the <code>Link.toAbsoluteURL()</code> method has
changed; in prior releases it returned a complete URL (i.e., starting with a
leading slash), and the method was typically used when generating an Ajax
callback URL. Starting in 5.2.2 this generates an absolute URL (as described
above). In most cases, you should change code that invoked
<code>toAbsoluteURL()</code> with a call to <code>toURL()</code> instead;
because Tapestry no longer 'optimizes' URLs, this will work for Ajax cases as
well.</p>
<p>Deployed Tapestry applications often run behind a firewall, the available
Request information about incoming hostname and port is often not accurate (it
represents the private request from the firewall server to the application
server, whereas the client uses a public request to the firewall server). When
using absolute URLs, you will likely want to override the BaseURLSource service
to provide accurate values that reflect your application's deployment.</p>
@@ -197,12 +154,9 @@ It is now possible to generate an absolu
<h3 id="ReleaseNotes5.2-TasksCompleted">Tasks Completed</h3>
<ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1317">TAP5-1317</a> –
Upgrade Hibernate dependency to latest, Hibernate 3.6.0.Final</li></ul>
+<h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.1">Release Notes: Tapestry
5.2.1</h2><p>Prior releases of Tapestry attempted to "optimize" URLs, by
creating relative URLs where appropriate. Unfortunately, that caused its own
problems with Ajax requests, since the base URL for an Ajax request is not the
same as the base URL for the enclosing page. In any case, this feature has
been removed, all URLs are now complete URLs (they start with a leading slash,
and include the context path and the additional path that describes the page,
page activation context, etc.).
-
-<h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.1">Release Notes: Tapestry
5.2.1</h2>
-Prior releases of Tapestry attempted to "optimize" URLs, by creating relative
URLs where appropriate. Unfortunately, that caused its own problems with Ajax
requests, since the base URL for an Ajax request is not the same as the base
URL for the enclosing page. In any case, this feature has been removed, all
URLs are now complete URLs (they start with a leading slash, and include the
context path and the additional path that describes the page, page activation
context, etc.).
-
-<p>As part of this change, the <em>internal</em> RequestPathOptimizer service
has been removed.</p>
+</p><p>As part of this change, the <em>internal</em> RequestPathOptimizer
service has been removed.</p>
<h3 id="ReleaseNotes5.2-BugsFixed.3">Bugs Fixed</h3>
@@ -222,13 +176,9 @@ Prior releases of Tapestry attempted to
<h3 id="ReleaseNotes5.2-TasksCompleted.1">Tasks Completed</h3>
<ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1240">TAP5-1240</a> –
Upgrade Hibernate dependencies to 3.5.4-Final</li><li><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1267">TAP5-1267</a> –
Remove the code that "optimizes" generated URLs as it is not always possible to
know what the base URL is</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1270">TAP5-1270</a> –
Upgrade EasyMock dependency to version 3.0</li></ul>
+<p><span class="confluence-anchor-link"
id="ReleaseNotes5.2-Tap5.2.0"></span></p><h2
id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.0">Release Notes: Tapestry
5.2.0</h2><p>Tapestry 5.2.0 represents nearly a year of work past the prior
stable release, 5.1.0.5. For the most part, the upgrade is quite straight
forward, but please read the notes below carefully.
-
-<p><span class="confluence-anchor-link"
id="ReleaseNotes5.2-Tap5.2.0"></span></p>
-<h2 id="ReleaseNotes5.2-ReleaseNotes:Tapestry5.2.0">Release Notes: Tapestry
5.2.0</h2>
-Tapestry 5.2.0 represents nearly a year of work past the prior stable release,
5.1.0.5. For the most part, the upgrade is quite straight forward, but please
read the notes below carefully.
-
-<h3 id="ReleaseNotes5.2-LiveServiceReloading">Live Service Reloading</h3>
+</p><h3 id="ReleaseNotes5.2-LiveServiceReloading">Live Service Reloading</h3>
<p>Tapestry 5.2.0 extends Tapestry's concept of live reloading of Java code
into the service layer. In most cases, service implementations of your
application will now live reload, seamlessly. See the <a shape="rect"
href="frequently-asked-questions.html">FAQ</a> for some additional notes about
live reloading.</p>
@@ -330,8 +280,6 @@ built-in translators. This will break ex
<h3 id="ReleaseNotes5.2-TasksCompleted.2">Tasks Completed</h3>
<ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-11">TAP5-11</a> –
CookiesImplTest does specify a domain cookie with a domain not prefixed with a
. (dot)</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-556">TAP5-556</a> – Fix
TranslatorSourceImplTest</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-756">TAP5-756</a> – Add
ioko-tapestry-commons to the related projects list</li><li><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-819">TAP5-819</a> –
remove ide-specific files from all sub-modules and add them to
svn:ignore</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-969">TAP5-969</a> –
Method AbstractField.createDefaultParameterBinding() should be
deprecated</li><li><a shape="rect" class="external-link"
href="https://issues.apache.o
rg/jira/browse/TAP5-976">TAP5-976</a> – Upgrade Spring dependencies to
version 3.0.0.RELEASE</li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1081">TAP5-1081</a> –
Remove formos references from 5.2.0 archetype</li><li><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1087">TAP5-1087</a> –
Upgrade TestNG dependencies to version 5.12.1</li><li><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1134">TAP5-1134</a> –
Upgrade Hibernate dependencies to 3.5.2</li><li><a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/TAP5-1195">TAP5-1195</a> –
Rename annotations @QueryParameter and @QueryParameterMapped (both introduced
in 5.2.0) to more mnemonic names</li></ul>
-
-
<style type="text/css">/*<![CDATA[*/
table.ScrollbarTable {border: none;padding: 3px;width: 100%;padding:
3px;margin: 0px;background-color: #f0f0f0}
table.ScrollbarTable td.ScrollbarPrevIcon {text-align: center;width:
16px;border: none;}
Modified: websites/production/tapestry/content/specific-errors-faq.html
==============================================================================
--- websites/production/tapestry/content/specific-errors-faq.html (original)
+++ websites/production/tapestry/content/specific-errors-faq.html Sat Jan 18
21:21:01 2014
@@ -69,129 +69,13 @@ 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="limitations.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="limitations.html">Limitations</a> </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%"> <a
shape="rect" href="hibernate-support-faq.html">Hibernate Support
FAQ</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a
shape="rect" href="
hibernate-support-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="SpecificErrorsFAQ-SpecificErrors">Specific Errors</h2>
-
-<h3
id="SpecificErrorsFAQ-WhydoIgettheexception"Noserviceimplementstheinterfaceorg.apache.tapestry5.internal.InternalComponentResources"whentryingtousetheBeanEditFormcomponent?">Why
do I get the exception "No service implements the interface
org.apache.tapestry5.internal.InternalComponentResources" when trying to use
the BeanEditForm component?</h3>
-
-<p>This can occur when you choose the wrong package for your data object, the
object edited by the BeanEditForm component. If you place it in the same
package as your pages, Tapestry will treat it like a page, and perform a number
of transformation on it, including adding a new constructor.</p>
-
-<p>Only component classes should go in the Tapestry-controlled packages
(<code>pages</code>, <code>components</code>, <code>mixins</code> and
<code>base</code> under your application's root package). By convention, simple
data objects should go in a <code>data</code> package, and Hibernate entities
should go in an <code>entities</code> package.</p>
-
- <div class="aui-message warning shadowed information-macro">
+/*]]>*/</style><div class="Scrollbar"><table class="ScrollbarTable"><tr><td
colspan="1" rowspan="1" class="ScrollbarPrevIcon"><a shape="rect"
href="limitations.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="limitations.html">Limitations</a> </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%"> <a
shape="rect" href="hibernate-support-faq.html">Hibernate Support
FAQ</a></td><td colspan="1" rowspan="1" class="ScrollbarNextIcon"><a
shape="rect" href="
hibernate-support-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="SpecificErrorsFAQ-SpecificErrors">Specific Errors</h2><h3
id="SpecificErrorsFAQ-WhydoIgettheexception"Noserviceimplementstheinterfaceorg.apache.tapestry5.internal.InternalComponentResources"whentryingtousetheBeanEditFormcomponent?">Why
do I get the exception "No service implements the interface
org.apache.tapestry5.internal.InternalComponentResources" when trying to use
the BeanEditForm component?</h3><p>This can occur when you choose the wrong
package for your data object, the object edited by the BeanEditForm component.
If you place it in the same package as your pages, Tapestry will treat it like
a page, and perform a number of transformation on it, including adding a new
constructor.</p><p>Only component classes should go in the Tapestry-controlled
packages (<code>pages</code>, <code>co
mponents</code>, <code>mixins</code> and <code>base</code> under your
application's root package). By convention, simple data objects should go in a
<code>data</code> package, and Hibernate entities should go in an
<code>entities</code> package.</p> <div class="aui-message warning shadowed
information-macro">
<span class="aui-icon icon-warning">Icon</span>
<div class="message-content">
-
-<p>This is likely a bit different in 5.3 than in 5.2 (because 5.3 builds a
very different constructor into the component) and needs to be tested in 5.3 to
see what exact exception will occur.</p>
+ <p>This is likely a bit different in 5.3 than in
5.2 (because 5.3 builds a very different constructor into the component) and
needs to be tested in 5.3 to see what exact exception will occur.</p>
</div>
</div>
-
-
-<h3
id="SpecificErrorsFAQ-Igetanerrorabout"Pagedidnotgenerateanymarkupwhenrendered."butIhaveatemplate,whathappened?">I
get an error about "Page did not generate any markup when rendered." but I
have a template, what happened?</h3>
-
-<p>The most common error here is that the case of the page class did not match
the case of the template. For example, you might name your class ViewOrders,
but name the template vieworders.tml. The correct name for the template is
ViewOrders.tml, matching the case of the Java class name.</p>
-
-<p>Worse, you may find that your application works during development (under
Windows, which is case insensitive) but does not work when deployed on a Linux
or Unix server, which may be case sensitive.</p>
-
-<p>The other cause of this may be that your template files simply are not
being packaged up correctly with the rest of your application. When in doubt,
use the Java <code>jar</code> command to see exactly whats inside your WAR
file. Your page templates should either be in the root folder of the WAR, or
package with the corresponding .class file.</p>
-
-<h3
id="SpecificErrorsFAQ-MyapplicationfailswiththeerrorPermGen,howdoIfixthis?">My
application fails with the error <strong>PermGen</strong>, how do I fix
this?</h3>
-
-<p>PermGen refers to the part of the Java memory space devoted to permanent
objects, which are mostly loaded classes. When developing under Tapestry, many
more classes and class loaders are created than normal; this is part of live
class reloading. Because of this, you will want to increase the amount of
memory Java devotes to this.</p>
-
-<p>The solution is to add <code>-XX:MaxPermSize=512m</code> to your command
line. You may also want to increase the regular amount of heap space with
<code>-Xmx600M</code>. Of course, you may need to adjust the amount of memory
in each category to match your actual application, but these are good starting
values.</p>
-
-<p>Java Virtual Machine arguments can be specified inside an Eclipse launch
configuration:</p>
-
-<p><img class="confluence-embedded-image confluence-thumbnail"
src="specific-errors-faq.thumbs/eclipse-permgen.png"
data-image-src="/confluence/download/attachments/23334931/eclipse-permgen.png?version=1&modificationDate=1293463219000&api=v2"></p>
-
-<h3
id="SpecificErrorsFAQ-WhydoIsometimesgetajava.lang.NoSuchMethodErrorexceptionafterreloadingmypage?">Why
do I sometimes get a <code>java.lang.NoSuchMethodError</code> exception after
reloading my page?</h3>
-
-<p>Tapestry's live class reloading is not perfect</p><p><style
type='text/css'>
-.FootnoteMarker, .FootnoteNum a {
- background: transparent
url(/confluence/download/resources/com.adaptavist.confluence.footnoteMacros:footnote/gfx/footnote.png)
no-repeat top right;
- padding: 1px 2px 0px 1px;
- border-left: 1px solid #8898B8;
- border-bottom: 1px solid #6B7C9B;
- margin: 1px;
- text-decoration: none;
-}
-.FootnoteNum a {
- margin-top: 2px;
- margin-right: 0px;
-}
-.FootnoteNum {
- font-size: x-small;
- text-align: right;
- padding-bottom: 4px;
-}
-.footnote-th1 {
- text-align: right;
-}
-.Footnote {
- padding-left: 7px;
- margin-bottom: 4px;
- border: 1px none #DDDDDD;
- writingMode: tb-rl;
-}
-.accessibility {
- display: none;
- visibility: hidden;
-}
-@media aural,braille,embossed {
- .FootnoteMarker, .FootnoteNum a {
- border: 1px solid #000000;
- background: #ffffff none;
- }
- .accessibility {
- display: run-in;
- visibility: visible;
- }
-}
-</style>
-<script type='text/javascript' language='JavaScript'>
-//<!--\n
-var effectInProgress = {};
-var despamEffect = function (id,effectType,duration) {
- if ((effectInProgress[id]) || (typeof(Effect)=="undefined") ||
(typeof(Effect[effectType])=="undefined")) return;
- new Effect[effectType](id);
- effectInProgress[id]=true;
- setTimeout('effectInProgress[\"'+id+'\"]=false;',duration*1000);
-};
-var oldFootnoteId = '';
-var footnoteHighlight = function(id,pulsateNum) {
- if (oldFootnoteId!='')
document.getElementById('Footnote'+oldFootnoteId).style['borderStyle'] = 'none';
- oldFootnoteId = id;
- document.getElementById('Footnote'+id).style['borderStyle'] = 'solid';
- despamEffect('Footnote'+id,'Highlight',1)
- if (pulsateNum) despamEffect('FootnoteNum'+id,'Pulsate',3)
-}
-var footnoteMarkerHighlight = function(id) {
- if (oldFootnoteId!='')
document.getElementById('Footnote'+oldFootnoteId).style['borderStyle'] = 'none';
- oldFootnoteId = '';
- despamEffect('FootnoteMarker'+id,'Pulsate',3)
-}
-//-->
-</script>
-
-<sup id="FootnoteMarker1">
- <a shape="rect" class="FootnoteMarker" name="FootnoteMarker1"
href="#Footnote1" onclick="footnoteHighlight("1",true);"
alt="Footnote: Click here to display the footnote" title="Footnote: Click here
to display the footnote">
- 1
- </a>
-</sup>
-</p> It tends to use a lot of Java ClassLoaders on top of the normal
ClassLoaders used by the Java Virtual Machine and the servlet container. When
you change non-component classes and interfaces that are referenced by
components and pages, such as to add or change a method, only the component
classes are reloaded. The non-component classes are frozen as they were when
they were <em>first</em> loaded.<p></p>
-
-<p>Unfortunately, this is one of the areas where you must restart your
application entirely in order to force the new versions of the non-component
classes to be loaded into memory.</p>
-
-<p></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><tr
name="Footnote1"><td colspan="1" rowspan="1" valign="top" class="FootnoteNum"
headings="footnote-th1">
- <a shape="rect" id="FootnoteNum1" href="#FootnoteMarker1"
onclick="footnoteMarkerHighlight("1");"
onmouseover="footnoteHighlight("1",false);" alt="Footnote: Click to
return to reference in text" title="Footnote: Click to return to reference in
text">
- 1
- </a>
- </td><td colspan="1" rowspan="1" valign="top" class="Footnote"
id="Footnote1" width="100%" headings="footnote-th2">
- The perfect is the enemy of the good.
- </td></tr></tbody></table></p><p></p>
-<style type="text/css">/*<![CDATA[*/
+<h3
id="SpecificErrorsFAQ-Igetanerrorabout"Pagedidnotgenerateanymarkupwhenrendered."butIhaveatemplate,whathappened?">I
get an error about "Page did not generate any markup when rendered." but I
have a template, what happened?</h3><p>The most common error here is that the
case of the page class did not match the case of the template. For example, you
might name your class ViewOrders, but name the template vieworders.tml. The
correct name for the template is ViewOrders.tml, matching the case of the Java
class name.</p><p>Worse, you may find that your application works during
development (under Windows, which is case insensitive) but does not work when
deployed on a Linux or Unix server, which may be case sensitive.</p><p>The
other cause of this may be that your template files simply are not being
packaged up correctly with the rest of your application. When in doubt, use the
Java <code>jar</code> command to see exactly whats inside your WAR file. Your
page templates should e
ither be in the root folder of the WAR, or package with the corresponding
.class file.</p><h3
id="SpecificErrorsFAQ-MyapplicationfailswiththeerrorPermGen,howdoIfixthis?">My
application fails with the error <strong>PermGen</strong>, how do I fix
this?</h3><p>PermGen refers to the part of the Java memory space devoted to
permanent objects, which are mostly loaded classes. When developing under
Tapestry, many more classes and class loaders are created than normal; this is
part of live class reloading. Because of this, you will want to increase the
amount of memory Java devotes to this.</p><p>The solution is to add
<code>-XX:MaxPermSize=512m</code> to your command line. You may also want to
increase the regular amount of heap space with <code>-Xmx600M</code>. Of
course, you may need to adjust the amount of memory in each category to match
your actual application, but these are good starting values.</p><p>Java Virtual
Machine arguments can be specified inside an Eclipse launch configurat
ion:</p><p><img class="confluence-embedded-image confluence-thumbnail"
src="specific-errors-faq.thumbs/eclipse-permgen.png"
data-image-src="/confluence/download/attachments/23334931/eclipse-permgen.png?version=1&modificationDate=1293463219000&api=v2"></p><h3
id="SpecificErrorsFAQ-WhydoIsometimesgetajava.lang.NoSuchMethodErrorexceptionafterreloadingmypage?">Why
do I sometimes get a <code>java.lang.NoSuchMethodError</code> exception after
reloading my page?</h3><p>Tapestry's live class reloading is not
perfect. <span style="line-height: 1.4285715;">It tends to use a lot of
Java ClassLoaders on top of the normal ClassLoaders used by the Java Virtual
Machine and the servlet container. When you change non-component classes and
interfaces that are referenced by components and pages, such as to add or
change a method, only the component classes are reloaded. The non-component
classes are frozen as they were when they were </span><em style="line-height:
1.4285715;">first</em><s
pan style="line-height: 1.4285715;"> loaded.</span></p><p>Unfortunately, this
is one of the areas where you must restart your application entirely in order
to force the new versions of the non-component classes to be loaded into
memory.</p><p> </p><style type="text/css">/*<![CDATA[*/
table.ScrollbarTable {border: none;padding: 3px;width: 100%;padding:
3px;margin: 0px;background-color: #f0f0f0}
table.ScrollbarTable td.ScrollbarPrevIcon {text-align: center;width:
16px;border: none;}
table.ScrollbarTable td.ScrollbarPrevName {text-align: left;border: none;}