Modified: websites/production/tapestry/content/release-notes.html ============================================================================== --- websites/production/tapestry/content/release-notes.html (original) +++ websites/production/tapestry/content/release-notes.html Wed Feb 12 18:18:20 2025 @@ -154,7 +154,7 @@ <!-- /// Content Start --> <div id="content"> - <div id="ConfluenceContent"><p>These release notes describe the changes in each Tapestry version. Be sure to read <a href="how-to-upgrade.html">How to Upgrade</a> too.</p><div class="table-wrap"><table class="table table-bordered table-responsive"><colgroup span="1"><col span="1" style="width: 20.3198%;"><col span="1" style="width: 29.9354%;"><col span="1" style="width: 30.8425%;"><col span="1" style="width: 19.0498%;"></colgroup><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Release</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Release Notes</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Status</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Released</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.7</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-587.html">Release Notes for 5.8.7</a></td><td colspan="1" rowspan="1" class="confluenceTd"><stron g>Current Stable Release</strong></td><td colspan="1" rowspan="1" class="confluenceTd">9 Aug 2024</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.6</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-586.html">Release Notes for 5.8.6</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">16 Apr 2024</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.5</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-585.html">Release Notes for 5.8.5</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">31 Mar 2024</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.4</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-584.html">Release Notes for 5.8.4</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" cl ass="confluenceTd">6 Feb 2024</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.3</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-583.html">Release Notes for 5.8.3</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">16 Jul 2023</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.2</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-582.html">Release Notes for 5.8.2</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">19 Jun 2022</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.1</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-581.html">Release Notes for 5.8.1</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">1 Apr 2022</td></tr><tr><td colspan="1" rowspan=" 1" class="confluenceTd">Tapestry 5.8.0</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-580.html">Release Notes for 5.8.0</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">25 Jan 2022</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.7.3</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-573.html">Release Notes for 5.7.3</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">13 Jul 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.7.2</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-572.html">Release Notes for 5.7.2</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">12 Apr 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.7.1</td><td colspan="1" rowspan= "1" class="confluenceTd"><a href="release-notes-571.html">Release Notes for 5.7.1</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">13 Mar 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.7.0</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-570.html">Release Notes for 5.7.0</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">19 Feb 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.6.4</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-564.html">Release Notes for 5.6.4</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">12 Apr 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.6.3</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-563.html">Release N otes for 5.6.3</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">13 Mar 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.6.2</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-562.html">Release Notes for 5.6.2</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">19 Feb 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.6.1</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-561.html">Release Notes for 5.6.1</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">13 Sep 2020</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.6.0</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-560.html">Release Notes for 5.6.0</a></td><td colspan="1" rowspan="1" class="confluenc eTd"></td><td colspan="1" rowspan="1" class="confluenceTd">28 Aug 2020</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.5.0</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-550.html">Release Notes for 5.5.0</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">20 Mar 2020</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.4.5</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-545.html">Release Notes for 5.4.5</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">7 Sep 2019</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.4.4</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-544.html">Release Notes for 5.4.4</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">18 Dec 20 18</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.4.3</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-543.html">Release Notes for 5.4.3</a></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd">24 Apr 2017</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.4.2</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-542.html">Release Notes for 5.4.2</a></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd">13 Apr 2017</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.4.1</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-541.html">Release Notes for 5.4.1</a></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd">20 Mar 2016</td></tr><tr><td colspan="1" rowspan="1" cl ass="confluenceTd"><p>Tapestry 5.4</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-54.html">Release Notes for 5.4</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>19 Dec 2015</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.3.8</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-538.html">Release Notes for 5.3.8</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">24 Nov 2014</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.3.7</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-537.html">Release Notes for 5.3.7</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong></strong></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>24 Apr 2013</p></td></tr><tr><td colspan="1" rowspan="1" c lass="confluenceTd"><p>Tapestry 5.3.6</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-536.html">Release Notes for 5.3.6</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>12 Oct 2012</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.3.5</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-535.html">Release Notes for 5.3.5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>29 Aug 2012</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.3.4</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-534.html">Release Notes for 5.3.4</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>16 Jul 2012</p></td></tr><tr><td colspan= "1" rowspan="1" class="confluenceTd"><p>Tapestry 5.3.3</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-533.html">Release Notes for 5.3.3</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>24 Apr 2012</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.3.2</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-532.html">Release Notes for 5.3.2</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>07 Feb 2012</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.3.1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-531.html">Release Notes for 5.3.1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>21 Dec 2011</p></td></tr ><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry >5.3</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a >href="release-notes-53.html">Release Notes for 5.3</a></p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>21 Nov 2011</p></td></tr><tr><td >colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.2.6</p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p><a >href="release-notes-52.html">Release Notes for 5.2.x</a></p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>22 Jun 2011</p></td></tr><tr><td >colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.1</p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p><a >href="release-notes-51.html">Release Notes for 5.1.x</a></p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>12 Apr 2009</p>< /td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.0</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-50.html">Release Notes for 5.0.x</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Dec 2008</p></td></tr></tbody></table></div></div> + <div id="ConfluenceContent"><p>These release notes describe the changes in each Tapestry version. Be sure to read <a href="how-to-upgrade.html">How to Upgrade</a> too.</p><div class="table-wrap"><table class="table table-bordered table-responsive"><colgroup span="1"><col span="1" style="width: 20.3198%;"><col span="1" style="width: 29.9354%;"><col span="1" style="width: 30.8425%;"><col span="1" style="width: 18.8684%;"></colgroup><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Release</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Release Notes</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Status</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Released</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.9.0</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-590.html">Release Notes for 5.9.0</a></td><td colspan="1" rowspan="1" class="confluenceTd"><stron g>Current Stable Release</strong></td><td colspan="1" rowspan="1" class="confluenceTd">11 Feb 2025</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.7</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-587.html">Release Notes for 5.8.7</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">9 Aug 2024</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.6</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-586.html">Release Notes for 5.8.6</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">16 Apr 2024</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.5</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-585.html">Release Notes for 5.8.5</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" cl ass="confluenceTd">31 Mar 2024</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.4</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-584.html">Release Notes for 5.8.4</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">6 Feb 2024</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.3</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-583.html">Release Notes for 5.8.3</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">16 Jul 2023</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.2</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-582.html">Release Notes for 5.8.2</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">19 Jun 2022</td></tr><tr><td colspan="1" rowspan= "1" class="confluenceTd">Tapestry 5.8.1</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-581.html">Release Notes for 5.8.1</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">1 Apr 2022</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.8.0</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-580.html">Release Notes for 5.8.0</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">25 Jan 2022</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.7.3</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-573.html">Release Notes for 5.7.3</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">13 Jul 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.7.2</td><td colspan="1" rowspan= "1" class="confluenceTd"><a href="release-notes-572.html">Release Notes for 5.7.2</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">12 Apr 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.7.1</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-571.html">Release Notes for 5.7.1</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">13 Mar 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.7.0</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-570.html">Release Notes for 5.7.0</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">19 Feb 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.6.4</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-564.html">Release N otes for 5.6.4</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">12 Apr 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.6.3</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-563.html">Release Notes for 5.6.3</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">13 Mar 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.6.2</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-562.html">Release Notes for 5.6.2</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">19 Feb 2021</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.6.1</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-561.html">Release Notes for 5.6.1</a></td><td colspan="1" rowspan="1" class="confluenc eTd"></td><td colspan="1" rowspan="1" class="confluenceTd">13 Sep 2020</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.6.0</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-560.html">Release Notes for 5.6.0</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">28 Aug 2020</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.5.0</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-550.html">Release Notes for 5.5.0</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">20 Mar 2020</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.4.5</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-545.html">Release Notes for 5.4.5</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">7 Sep 20 19</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.4.4</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-544.html">Release Notes for 5.4.4</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">18 Dec 2018</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.4.3</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-543.html">Release Notes for 5.4.3</a></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd">24 Apr 2017</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.4.2</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-542.html">Release Notes for 5.4.2</a></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd">13 Apr 2017</td></tr><tr><td colspan="1" rowspan="1" class="co nfluenceTd">Tapestry 5.4.1</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-541.html">Release Notes for 5.4.1</a></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd">20 Mar 2016</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.4</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-54.html">Release Notes for 5.4</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>19 Dec 2015</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">Tapestry 5.3.8</td><td colspan="1" rowspan="1" class="confluenceTd"><a href="release-notes-538.html">Release Notes for 5.3.8</a></td><td colspan="1" rowspan="1" class="confluenceTd"></td><td colspan="1" rowspan="1" class="confluenceTd">24 Nov 2014</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.3.7</p></td ><td colspan="1" rowspan="1" class="confluenceTd"><p><a >href="release-notes-537.html">Release Notes for 5.3.7</a></p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p><strong></strong></p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p>24 Apr >2013</p></td></tr><tr><td colspan="1" rowspan="1" >class="confluenceTd"><p>Tapestry 5.3.6</p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p><a href="release-notes-536.html">Release Notes for >5.3.6</a></p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p>12 Oct 2012</p></td></tr><tr><td colspan="1" >rowspan="1" class="confluenceTd"><p>Tapestry 5.3.5</p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p><a href="release-notes-535.html">Release >Notes for 5.3.5</a></p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p>29 Aug 2012</p></td></tr><tr><td colspan="1" >rowspan="1" class="confl uenceTd"><p>Tapestry 5.3.4</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-534.html">Release Notes for 5.3.4</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>16 Jul 2012</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.3.3</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-533.html">Release Notes for 5.3.3</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>24 Apr 2012</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.3.2</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-532.html">Release Notes for 5.3.2</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>07 Feb 2012</p></td></tr><tr><td colspan="1" rowspan ="1" class="confluenceTd"><p>Tapestry 5.3.1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-531.html">Release Notes for 5.3.1</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>21 Dec 2011</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.3</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-53.html">Release Notes for 5.3</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>21 Nov 2011</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.2.6</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-52.html">Release Notes for 5.2.x</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>22 Jun 2011</p></td></tr><tr><td colspan= "1" rowspan="1" class="confluenceTd"><p>Tapestry 5.1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-51.html">Release Notes for 5.1.x</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>12 Apr 2009</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Tapestry 5.0</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a href="release-notes-50.html">Release Notes for 5.0.x</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Dec 2008</p></td></tr></tbody></table></div></div> </div> <!-- /// Content End --> </div>
Modified: websites/production/tapestry/content/release-upgrade-faq.html ============================================================================== --- websites/production/tapestry/content/release-upgrade-faq.html (original) +++ websites/production/tapestry/content/release-upgrade-faq.html Wed Feb 12 18:18:20 2025 @@ -155,11 +155,11 @@ <!-- /// Content Start --> <div id="content"> <div id="ConfluenceContent"><h1 id="ReleaseUpgradeFAQ-ReleaseUpgrade">Release Upgrade</h1><p>Main Article: <a href="release-upgrade-faq.html">Release Upgrade FAQ</a></p><h2 id="ReleaseUpgradeFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1739297625804 {padding: 0px;} -div.rbtoc1739297625804 ul {margin-left: 0px;} -div.rbtoc1739297625804 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1739384026670 {padding: 0px;} +div.rbtoc1739384026670 ul {margin-left: 0px;} +div.rbtoc1739384026670 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1739297625804"> +/*]]>*/</style></p><div class="toc-macro rbtoc1739384026670"> <ul class="toc-indentation"><li><a href="#ReleaseUpgradeFAQ-WhydoIgetanexceptionaboutorg.apache.tapestry5.internal.services.RequestPathOptimizerafterupgradingto5.2?">Why do I get an exception about org.apache.tapestry5.internal.services.RequestPathOptimizer after upgrading to 5.2?</a></li></ul> </div><h2 id="ReleaseUpgradeFAQ-WhydoIgetanexceptionaboutorg.apache.tapestry5.internal.services.RequestPathOptimizerafterupgradingto5.2?">Why do I get an exception about org.apache.tapestry5.internal.services.RequestPathOptimizer after upgrading to 5.2?</h2><p>Although Tapestry works very hard to keep backwards compatibility between releases for <em>public</em> APIs, all <em>internal</em> APIs are subject to change. This error is commonly due to the use of the ChenilleKit library, which makes use of some internal APIs. You must also upgrade your ChenilleKit dependency when moving from Tapestry 5.1 to 5.2 or later. See the <a class="external-link" href="http://tapestry.markmail.org/thread/3cj2wuvl4idnpmjr" rel="nofollow">complete discussion of this from the Tapestry user mailing list</a>.</p></div> </div> Modified: websites/production/tapestry/content/request-processing-faq.html ============================================================================== --- websites/production/tapestry/content/request-processing-faq.html (original) +++ websites/production/tapestry/content/request-processing-faq.html Wed Feb 12 18:18:20 2025 @@ -155,11 +155,11 @@ <!-- /// Content Start --> <div id="content"> <div id="ConfluenceContent"><h1 id="RequestProcessingFAQ-RequestProcessing">Request Processing</h1><h2 id="RequestProcessingFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1739297643717 {padding: 0px;} -div.rbtoc1739297643717 ul {margin-left: 0px;} -div.rbtoc1739297643717 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1739384044569 {padding: 0px;} +div.rbtoc1739384044569 ul {margin-left: 0px;} +div.rbtoc1739384044569 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1739297643717"> +/*]]>*/</style></p><div class="toc-macro rbtoc1739384044569"> <ul class="toc-indentation"><li><a href="#RequestProcessingFAQ-HowdoIgetTapestrytonothandlearequest?">How do I get Tapestry to not handle a request?</a></li></ul> </div><h2 id="RequestProcessingFAQ-HowdoIgetTapestrytonothandlearequest?">How do I get Tapestry to <strong>not</strong> handle a request?</h2><p>Often, when <a href="integration-with-existing-applications.html">integrating with outside libraries, or working with legacy code</a>, you will want Tapestry to ignore a request and let the normal servlet or other processing handle the request.</p><p>The easy way to do this is to contribute a regular expression to the <a href="configuration.html">IgnoredPathsFilter service</a>, whose job is to exclude some requests.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <pre><code class="language-java">public static void contributeIgnoredPathsFilter(Configuration<String> configuration) Modified: websites/production/tapestry/content/rest-support-580.html ============================================================================== --- websites/production/tapestry/content/rest-support-580.html (original) +++ websites/production/tapestry/content/rest-support-580.html Wed Feb 12 18:18:20 2025 @@ -154,12 +154,12 @@ <!-- /// Content Start --> <div id="content"> - <div id="ConfluenceContent"><h2 id="RESTSupport(5.8.0+)-/*<![CDATA[*/div.rbtoc1739297654128{padding:0px;}div.rbtoc1739297654128ul{margin-left:0px;}div.rbtoc1739297654128li{margin-left:0px;padding-left:0px;}/*]]>*/#RESTSupport(5.8.0+)-Overview#RESTSupport(5.8.0+)-OverviewWritingRESTendpoints"><style type="text/css">/*<![CDATA[*/ -div.rbtoc1739297654128 {padding: 0px;} -div.rbtoc1739297654128 ul {margin-left: 0px;} -div.rbtoc1739297654128 li {margin-left: 0px;padding-left: 0px;} + <div id="ConfluenceContent"><h2 id="RESTSupport(5.8.0+)-/*<![CDATA[*/div.rbtoc1739384055007{padding:0px;}div.rbtoc1739384055007ul{margin-left:0px;}div.rbtoc1739384055007li{margin-left:0px;padding-left:0px;}/*]]>*/#RESTSupport(5.8.0+)-Overview#RESTSupport(5.8.0+)-OverviewWritingRESTendpoints"><style type="text/css">/*<![CDATA[*/ +div.rbtoc1739384055007 {padding: 0px;} +div.rbtoc1739384055007 ul {margin-left: 0px;} +div.rbtoc1739384055007 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></h2><div class="toc-macro rbtoc1739297654128"> +/*]]>*/</style></h2><div class="toc-macro rbtoc1739384055007"> <ul class="toc-indentation"><li><a href="#RESTSupport(5.8.0+)-"></a></li><li><a href="#RESTSupport(5.8.0+)-Overview">Overview</a></li><li><a href="#RESTSupport(5.8.0+)-WritingRESTendpoints">Writing REST endpoints</a></li><li><a href="#RESTSupport(5.8.0+)-Readingtherequestbodywith@RequestBody">Reading the request body with @RequestBody</a></li><li><a href="#RESTSupport(5.8.0+)-AnsweringRESTrequests">Answering REST requests</a> <ul class="toc-indentation"><li><a href="#RESTSupport(5.8.0+)-Contentresponses">Content responses</a></li><li><a href="#RESTSupport(5.8.0+)-Non-contentresponses">Non-content responses</a></li></ul> </li><li><a href="#RESTSupport(5.8.0+)-MappedEntityManagerservice">MappedEntityManager service</a></li><li><a href="#RESTSupport(5.8.0+)-IntegrationwithJacksonDatabindwithtapestry-rest-jackson">Integration with Jackson Databind with tapestry-rest-jackson</a></li><li><a href="#RESTSupport(5.8.0+)-AutomaticgenerationofOpenAPI3.0(Swagger)descriptions">Automatic generation of OpenAPI 3.0 (Swagger) descriptions</a> Modified: websites/production/tapestry/content/runtime-exceptions.html ============================================================================== --- websites/production/tapestry/content/runtime-exceptions.html (original) +++ websites/production/tapestry/content/runtime-exceptions.html Wed Feb 12 18:18:20 2025 @@ -208,11 +208,11 @@ <p>Feedback is vitally important when developing an application, and that is one of the areas where Tapestry has always excelled.</p><p>Especially during development, requests can fail. There can be errors in templates, broken code in your application, or something unexpected.</p><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1739297702188 {padding: 0px;} -div.rbtoc1739297702188 ul {margin-left: 0px;} -div.rbtoc1739297702188 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1739384103375 {padding: 0px;} +div.rbtoc1739384103375 ul {margin-left: 0px;} +div.rbtoc1739384103375 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1739297702188"> +/*]]>*/</style></p><div class="toc-macro rbtoc1739384103375"> <ul class="toc-indentation"><li><a href="#RuntimeExceptions-Build-inExceptionReportPage">Build-in Exception Report Page</a></li><li><a href="#RuntimeExceptions-AjaxDetailedExceptionReports">Ajax Detailed Exception Reports</a></li><li><a href="#RuntimeExceptions-DetailedExceptionReportFiles">Detailed Exception Report Files</a></li><li><a href="#RuntimeExceptions-OverridingtheHandlingofSpecificExceptions">Overriding the Handling of Specific Exceptions</a></li></ul> </div><h2 id="RuntimeExceptions-Build-inExceptionReportPage">Build-in Exception Report Page</h2><p>Tapestry has a built-in exception report page that captures an amazing wealth of information:</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-content-image-border" draggable="false" width="500" src="runtime-exceptions.data/Exception_Stack_Trace.png"></span></p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-content-image-border" draggable="false" width="500" src="runtime-exceptions.data/Exception_Request.png"></span></p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-content-image-border" draggable="false" height="443" width="500" src="runtime-exceptions.data/Application_Exception.png"></span></p><p>This exception report features:</p><ul> <li>The full stack of exceptions, top to bottom.</li><li>All non-null properties of each exception.</li><li>The stack trace <em>at the deepest level</em>.</li><li>Key <strong>request</strong> properties, header, attributes, and parameters.</li><li>Key <strong>session</strong><em> </em>propertes</li><li>A break down of the <em>thread</em> in your application</li><li>A listing of all JVM System properties</li></ul><h2 id="RuntimeExceptions-AjaxDetailedExceptionReports">Ajax Detailed Exception Reports</h2><p>A similar detailed exception report is also built-in to Tapestry's Ajax support. When an Ajax request fails, Tapestry's client-side code will create an <iframe> to present this same information:</p><p><span class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img class="confluence-embedded-image confluence-content-image-border" draggable="false" height="359" width="500" src="runtime-exceptions.data/Exception_Ajax.png"></span></p>< h2 id="RuntimeExceptions-DetailedExceptionReportFiles">Detailed Exception Report Files</h2><p>In addition, Tapestry will write a text file for the exception with a similar level of detail. The default location for the detailed exception report files is a relative directory <em>build/exceptions</em>. You can configure the location by setting <a class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/SymbolConstants.html#EXCEPTION_REPORTS_DIR">SymbolConstants.EXCEPTION_REPORTS_DIR</a>.</p><p>If you want to turn off the writing of detailed exception reports files to the file system, you can add the following to your application module (usually AppModule.java):</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>AppModule.java (partial)</b></div><div class="codeContent panelContent pdl"> <pre><code class="language-java"> /** Modified: websites/production/tapestry/content/security-faq.html ============================================================================== --- websites/production/tapestry/content/security-faq.html (original) +++ websites/production/tapestry/content/security-faq.html Wed Feb 12 18:18:20 2025 @@ -155,11 +155,11 @@ <!-- /// Content Start --> <div id="content"> <div id="ConfluenceContent"><h1 id="SecurityFAQ-Security">Security</h1><p>Main Article: <a href="security.html">Security</a></p><h2 id="SecurityFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1739297785499 {padding: 0px;} -div.rbtoc1739297785499 ul {margin-left: 0px;} -div.rbtoc1739297785499 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1739384187021 {padding: 0px;} +div.rbtoc1739384187021 ul {margin-left: 0px;} +div.rbtoc1739384187021 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1739297785499"> +/*]]>*/</style></p><div class="toc-macro rbtoc1739384187021"> <ul class="toc-indentation"><li><a href="#SecurityFAQ-Thebuilt-inDashboardpagearevisibleinmyproductionapplicationandIdon'twantthemtobe,whatcanIdo?">The built-in Dashboard page are visible in my production application and I don't want them to be, what can I do?</a></li></ul> </div><div class="aui-label" style="float:right" title="Related Articles"> Modified: websites/production/tapestry/content/session-storage.html ============================================================================== --- websites/production/tapestry/content/session-storage.html (original) +++ websites/production/tapestry/content/session-storage.html Wed Feb 12 18:18:20 2025 @@ -201,11 +201,11 @@ <p>Ordinary <a href="persistent-page-data.html">page-persistent fields</a></p><p>won't work for this, since persistent fields are available only to a specific page, not shared across multiple pages.</p><p>Tapestry provides two mechanisms for storing such data: Session State Objects and Session Attributes. When deciding between the two, it's best to use Session State Objects for complex objects, and Session Attributes for simple types.</p><h2 id="SessionStorage-SessionStateObjects">Session State Objects</h2><p>With a Session State Object (SSO), the value is automatically stored outside the page; with the default storage strategy, it is stored in the session. Such a value is global to all pages <em>for the same user</em>, but is stored separately for different users.</p><p>A field holding an SSO is marked with the @<a class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/SessionState.html">SessionState</a> annotation.</p><div class="na vmenu" style="float:right; background:white; margin:3px; padding:3px"> <div class="panel" style="border-width: 1px;"><div class="panelHeader" style="border-bottom-width: 1px;"><b>Contents</b></div><div class="panelContent"> <style type="text/css">/*<![CDATA[*/ -div.rbtoc1739297762151 {padding: 0px;} -div.rbtoc1739297762151 ul {margin-left: 0px;} -div.rbtoc1739297762151 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1739384163316 {padding: 0px;} +div.rbtoc1739384163316 ul {margin-left: 0px;} +div.rbtoc1739384163316 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style><div class="toc-macro rbtoc1739297762151"> +/*]]>*/</style><div class="toc-macro rbtoc1739384163316"> <ul class="toc-indentation"><li>Related Articles</li></ul> <ul><li><a href="#SessionStorage-SessionStateObjects">Session State Objects</a> <ul class="toc-indentation"><li><a href="#SessionStorage-Pitfalls">Pitfalls</a></li><li><a href="#SessionStorage-CheckforCreation">Check for Creation</a></li><li><a href="#SessionStorage-PersistenceStrategies">Persistence Strategies</a></li><li><a href="#SessionStorage-ConfiguringSSOs">Configuring SSOs</a></li></ul> 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 Wed Feb 12 18:18:20 2025 @@ -155,11 +155,11 @@ <!-- /// Content Start --> <div id="content"> <div id="ConfluenceContent"><h1 id="SpecificErrorsFAQ-SpecificErrors">Specific Errors</h1><h2 id="SpecificErrorsFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1739297607271 {padding: 0px;} -div.rbtoc1739297607271 ul {margin-left: 0px;} -div.rbtoc1739297607271 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1739384008528 {padding: 0px;} +div.rbtoc1739384008528 ul {margin-left: 0px;} +div.rbtoc1739384008528 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1739297607271"> +/*]]>*/</style></p><div class="toc-macro rbtoc1739384008528"> <ul class="toc-indentation"><li><a href="#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?</a></li><li><a href="#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?</a></li><li><a href="#SpecificErrorsFAQ-MyapplicationfailswiththeerrorPermGen,howdoIfixthis?">My application fails with the error PermGen, how do I fix this?</a></li><li><a href="#SpecificErrorsFAQ-WhydoIsometimesgetajava.lang.NoSuchMethodErrorexceptionafterreloadingmypage?">Why do I sometimes get a java.lang.NoSuchMethodError exception after reloading m y page?</a></li><li><a href="#SpecificErrorsFAQ-Whydomylogscontain"java.lang.RuntimeException:FormsrequirethattherequestmethodbePOSTandthatthet:formdataqueryparameterhavevalues"?">Why do my logs contain "java.lang.RuntimeException: Forms require that the request method be POST and that the t:formdata query parameter have values"?</a></li></ul> </div><div class="aui-label" style="float:right" title="Related Articles"> 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 Wed Feb 12 18:18:20 2025 @@ -155,11 +155,11 @@ <!-- /// Content Start --> <div id="content"> <div id="ConfluenceContent"><h1 id="TapestryInversionofControlFAQ-TapestryInversionofControlContainer">Tapestry Inversion of Control Container</h1><p>Main article: <a href="tapestry-inversion-of-control-faq.html">Tapestry IoC</a></p><h2 id="TapestryInversionofControlFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1739297579295 {padding: 0px;} -div.rbtoc1739297579295 ul {margin-left: 0px;} -div.rbtoc1739297579295 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1739383978865 {padding: 0px;} +div.rbtoc1739383978865 ul {margin-left: 0px;} +div.rbtoc1739383978865 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1739297579295"> +/*]]>*/</style></p><div class="toc-macro rbtoc1739383978865"> <ul class="toc-indentation"><li><a href="#TapestryInversionofControlFAQ-WhydoIneedtodefineaninterfaceformyservices?Whycan'tIjustusetheclassitself?">Why do I need to define an interface for my services? Why can't I just use the class itself?</a></li><li><a href="#TapestryInversionofControlFAQ-Myservicestartsathread;howdoIknowwhentheapplicationisshuttingdown,tostopthatthread?">My service starts a thread; how do I know when the application is shutting down, to stop that thread?</a></li><li><a href="#TapestryInversionofControlFAQ-HowdoImakemyservicestartupwiththerestoftheapplication,ratherthanlazily?">How do I make my service startup with the rest of the application, rather than lazily?</a></li></ul> </div><div class="aui-label" style="float:right" title="Related Articles"> 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 Wed Feb 12 18:18:20 2025 @@ -155,11 +155,11 @@ <!-- /// Content Start --> <div id="content"> <div id="ConfluenceContent"><h1 id="TemplatingandMarkupFAQ-TemplatingandMarkup">Templating and Markup</h1><p>Main Article: <a href="component-templates.html">Component Templates</a></p><h2 id="TemplatingandMarkupFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/ -div.rbtoc1739297586275 {padding: 0px;} -div.rbtoc1739297586275 ul {margin-left: 0px;} -div.rbtoc1739297586275 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1739383987340 {padding: 0px;} +div.rbtoc1739383987340 ul {margin-left: 0px;} +div.rbtoc1739383987340 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1739297586275"> +/*]]>*/</style></p><div class="toc-macro rbtoc1739383987340"> <ul class="toc-indentation"><li><a href="#TemplatingandMarkupFAQ-WhydoIgetaSAXParseExceptionwhenIuseanHTMLentity,suchas inmytemplate?">Why do I get a SAXParseException when I use an HTML entity, such as &nbsp; in my template?</a></li><li><a href="#TemplatingandMarkupFAQ-Whydosomeimagesinmypageshowupasbrokenlinks?">Why do some images in my page show up as broken links?</a></li><li><a href="#TemplatingandMarkupFAQ-What'sthedifferencebetweenidandt:id?">What's the difference between id and t:id?</a></li><li><a href="#TemplatingandMarkupFAQ-WhydomyimagesandstylesheetsendupwithaweirdURLslike/assets/meta/zeea17aee26bc0cae/layout/layout.css?">Why do my images and stylesheets end up with a weird URLs like /assets/meta/zeea17aee26bc0cae/layout/layout.css?</a></li><li><a href="#TemplatingandMarkupFAQ-HowdoIaddaCSSclasstoaTapestrycomponent?">How do I add a CSS class to a Tapestry component?</a></li></ul> </div><h2 id="TemplatingandMarkupFAQ-WhydoIgetaSAXParseExceptionwhenIuseanHTMLentity,suchas&nbsp;inmytemplate?">Why do I get a SAXParseException when I use an HTML entity, such as <code>&nbsp;</code> in my template?</h2><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="codeContent panelContent pdl"> <pre><code class="language-xml"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"