Author: lukaszlenart
Date: Fri Nov 21 09:30:05 2014
New Revision: 929961

Log:
Updates production

Added:
    
websites/production/struts/content/development/2.x/docs/version-notes-2320.html
    
websites/production/struts/content/release/2.3.x/docs/version-notes-2320.html
Modified:
    
websites/production/struts/content/development/2.x/docs/building-struts-2-normal-release.html
    websites/production/struts/content/development/2.x/docs/migration-guide.html
    
websites/production/struts/content/release/2.3.x/docs/building-struts-2-normal-release.html
    websites/production/struts/content/release/2.3.x/docs/migration-guide.html

Modified: 
websites/production/struts/content/development/2.x/docs/building-struts-2-normal-release.html
==============================================================================
--- 
websites/production/struts/content/development/2.x/docs/building-struts-2-normal-release.html
 (original)
+++ 
websites/production/struts/content/development/2.x/docs/building-struts-2-normal-release.html
 Fri Nov 21 09:30:05 2014
@@ -139,11 +139,11 @@ under the License. 
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><h1 
id="BuildingStruts2-Normalrelease-Content">Content</h1><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1415950672619 {padding: 0px;}
-div.rbtoc1415950672619 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1415950672619 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1416562007401 {padding: 0px;}
+div.rbtoc1416562007401 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1416562007401 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1415950672619">
+/*]]>*/</style></p><div class="toc-macro rbtoc1416562007401">
 <ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a 
shape="rect" href="#BuildingStruts2-Normalrelease-Gettingready">Getting 
ready</a></li><li><span class="TOCOutline">2</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-UpdateDraftDocswhenneeded">Update Draft 
Docs when needed</a></li><li><span class="TOCOutline">3</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Besureyourlocalcopyisup-to-date">Be sure 
your local copy is up-to-date</a></li><li><span class="TOCOutline">4</span> <a 
shape="rect" href="#BuildingStruts2-Normalrelease-Createareleasebranch">Create 
a release branch</a></li><li><span class="TOCOutline">5</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Preparerelease">Prepare 
release</a></li><li><span class="TOCOutline">6</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Performtherelease">Perform the 
release</a></li><li><span class="TOCOutline">7</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Movetheasse
 mblies">Move the assemblies</a></li><li><span class="TOCOutline">8</span> <a 
shape="rect" 
href="#BuildingStruts2-Normalrelease-Announceavailability">Announce 
availability</a></li><li><span class="TOCOutline">9</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Cleanuprepository">Clean up 
repository</a></li><li><span class="TOCOutline">10</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Voteonit">Vote on it</a></li><li><span 
class="TOCOutline">11</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Copyfiles">Copy files</a></li><li><span 
class="TOCOutline">12</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Promoterelease">Promote 
release</a></li><li><span class="TOCOutline">13</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Cleanupoldreleases">Clean up old 
releases</a></li><li><span class="TOCOutline">14</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Waitforrsync">Wait for 
rsync</a></li><li><span class="TOCOutline">15</s
 pan> <a shape="rect" href="#BuildingStruts2-Normalrelease-Updatesite">Update 
site</a></li><li><span class="TOCOutline">16</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Redeploythedraftdocs(Optional)">Redeploy 
the draft docs (Optional)</a></li><li><span class="TOCOutline">17</span> <a 
shape="rect" href="#BuildingStruts2-Normalrelease-Postannouncements">Post 
announcements</a></li></ul>
 </div><h2 id="BuildingStruts2-Normalrelease-BuildingSteps(Struts)">Building 
Steps (Struts)</h2><h3 id="BuildingStruts2-Normalrelease-Gettingready">Getting 
ready</h3><ol><li>Create an "Struts 2.x.y omnibus ticket" ticket in JIRA to 
refer to in upcoming release related commit comments and for general 
documentation purposes. Mark it with priority "Blocker".</li><li>Switch to 
branch&#160;<code>develop</code></li><li>Ensure that the master POM and Struts 
Annotations have current releases</li><li>Review JIRA for any issues without a 
fix version set, and for any issues that should be resolved for the pending 
release.</li><li>Ensure that there are no repositories or pluginRepositories 
listed in the poms.</li><li>If you have committed all changes regarding the 
release process, close the omnibus ticket as it is the last open ticket for the 
upcoming release</li><li>Release the upcoming version in JIRA (under 
Administration/Manage Releases) and tag the release date</li><li>Add next 
milestone ve
 rsion to the JIRA roadmap</li><li>Create DONE and TODO filters for the new 
version, share with all, and remove obsolete TODO filter</li><li>Create a new 
Version Notes page in Confluence, link from <a shape="rect" 
href="migration-guide.html">Migration Guide</a>, and link to prior release page 
and JIRA DONE filters of the version to release</li><li>Export wiki pages and 
put them under&#160;<code>/docs</code></li></ol><h3 
id="BuildingStruts2-Normalrelease-UpdateDraftDocswhenneeded">Update Draft Docs 
when needed</h3><p>Checkout&#160;<code>struts-site</code> project (see details 
at the bottom of this page) and perform export:</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[cd struts-site
@@ -186,34 +186,53 @@ mvn javadoc:javadoc deploy --no-plugin-u
 <h3 id="BuildingStruts2-Normalrelease-Movetheassemblies">Move the 
assemblies</h3><p>To simplify testing, the assemblies have to be moved to the 
<code>/www/people.apache.org/builds/struts/$VERSION</code> dir.</p><p>After 
closing repository in Nexus, check if the release files are available from 
staging repository as bellow:</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[https://repository.apache.org/content/groups/staging/org/apache/struts/struts2-assembly/$VERSION/
 ]]></script>
-</div></div><p>In order to move the assemblies login to people.apache.org and 
execute the following code:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: plain; gutter: false" 
type="syntaxhighlighter"><![CDATA[#!/bin/sh
-# create the destination directory
+</div></div><p>In order to move the assemblies login to people.apache.org and 
execute the following code:</p><p><span style="font-family: monospace;"><span 
style="white-space: pre-wrap;background-color: rgb(255,255,255);"><br 
clear="none"></span></span></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[#!/bin/sh
+
+#create the destination directory
+echo &quot;Creating working dir $VERSION&quot;
 mkdir $VERSION
 cd $VERSION
 
+
 # get the distro
+echo &quot;Getting distro $VERSION&quot;
 wget -erobots=off -nv  -l 1 --accept=zip,md5,sha1,asc -r 
--no-check-certificate -nd -nH 
https://repository.apache.org/content/groups/staging/org/apache/struts/struts2-assembly/$VERSION
 
 # rename files
+echo &quot;Renaming files&quot;
 for f in *2-assembly*.zip*
 do
  mv $f `echo $f | sed s/2-assembly//g`
 done
 
 # remove unneeded files
+echo &quot;Removing unneeded files&quot;
 for f in struts2-assembly-*.pom*
 do
  rm $f
 done
 
 # remove unneeded hashes
+echo &quot;Removing unneeded files&quot;
 rm *.asc.md5
 rm *.asc.sha1
-]]></script>
-</div></div><p>After that move the assemblies directory to the builds 
destination with</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[mv $VERSION 
/www/people.apache.org/builds/struts/]]></script>
-</div></div><h3 
id="BuildingStruts2-Normalrelease-Announceavailability">Announce 
availability</h3><p>Send a short e-mail to dev@struts.a.o informing about the 
new packages and to give people enough time to test the distribution (actual 
bits). Wait around a week before posting Vote. If no show-stoppers reported, 
start a vote thread for build quality designation.</p><h3 
id="BuildingStruts2-Normalrelease-Cleanuprepository">Clean up 
repository</h3><p>It doesn't matter if the bits will be accepted or not, 
development continues&#160;<img class="emoticon emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/smile.png";
 data-emoticon-name="smile" alt="(smile)">&#160;Switch 
to&#160;<code>release/X.X.X.X</code> branch and execute the below 
command:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+cd ..
+ 
+# checking in new version
+echo &quot;Pushing test version $VERSION&quot;
+svn --no-auth-cache co --depth empty 
https://dist.apache.org/repos/dist/dev/struts/ struts-dev
+mv $VERSION struts-dev/
+cd struts-dev
+svn add --force ./
+svn --no-auth-cache commit -m &quot;Updates test release $VERSION&quot;
+cd ..
+
+# cleaning up
+rm -r struts-dev
+
+echo &quot;Done!&quot;]]></script>
+</div></div><p>After this step artifacts are available for test here&#160;<a 
shape="rect" class="external-link" 
href="https://dist.apache.org/repos/dist/dev/struts/";>https://dist.apache.org/repos/dist/dev/struts/</a></p><h3
 id="BuildingStruts2-Normalrelease-Announceavailability"><span 
style="font-size: 16.0px;line-height: 1.5625;">Announce 
availability</span></h3><p>Send a short e-mail to dev@struts.a.o informing 
about the new packages and to give people enough time to test the distribution 
(actual bits). Wait around a week before posting Vote. If no show-stoppers 
reported, start a vote thread for build quality designation.</p><h3 
id="BuildingStruts2-Normalrelease-Cleanuprepository">Clean up 
repository</h3><p>It doesn't matter if the bits will be accepted or not, 
development continues&#160;<img class="emoticon emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/smile.png";
 data-emoticon-n
 ame="smile" alt="(smile)">&#160;Switch to&#160;<code>release/X.X.X.X</code> 
branch and execute the below command:</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[git flow release finish -n X.X.X.X]]></script>
 </div></div><p><code>-n</code> option is need to avoid tagging the release, 
the Maven Release plugin did that already. If the release branch was published 
to the remote it won't be deleted locally, it must be done manually after 
removing branch from the remote:</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[git push --delete origin 
release/X.X.X.X]]></script>

Modified: 
websites/production/struts/content/development/2.x/docs/migration-guide.html
==============================================================================
--- 
websites/production/struts/content/development/2.x/docs/migration-guide.html 
(original)
+++ 
websites/production/struts/content/development/2.x/docs/migration-guide.html 
Fri Nov 21 09:30:05 2014
@@ -125,7 +125,7 @@ under the License. 
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><p>Getting here from there.</p><h3 
id="MigrationGuide-VersionNotes2.3.x">Version Notes 2.3.x</h3><ul><li><p><a 
shape="rect" href="version-notes-2319.html">Version Notes 
2.3.19</a></p></li><li><p><a shape="rect" 
href="version-notes-23163.html">Version Notes 2.3.16.3</a></p></li><li><a 
shape="rect" href="version-notes-23162.html">Version Notes 
2.3.16.2</a></li><li><a shape="rect" href="version-notes-2316.html">Version 
Notes 2.3.16.1</a></li><li><a shape="rect" 
href="version-notes-2316.html">Version Notes 2.3.16</a></li><li><a shape="rect" 
href="version-notes-23153.html">Version Notes 2.3.15.3</a></li><li><a 
shape="rect" href="version-notes-23152.html">Version Notes 
2.3.15.2</a></li><li><a shape="rect" href="version-notes-23151.html">Version 
Notes 2.3.15.1</a></li><li><a shape="rect" 
href="version-notes-2315.html">Version Notes 2.3.15</a></li><li><a shape="rect" 
href="version-notes-23143.html">Version Notes 2.3.14.3</a></li><li><a 
shape="rect" hr
 ef="version-notes-23142.html">Version Notes 2.3.14.2</a></li><li><a 
shape="rect" href="version-notes-23141.html">Version Notes 
2.3.14.1</a></li><li><a shape="rect" href="version-notes-2314.html">Version 
Notes 2.3.14</a></li><li><a shape="rect" 
href="version-notes-23120.html">Version Notes 2.3.12.0</a></li><li><a 
shape="rect" href="version-notes-238.html">Version Notes 2.3.8</a></li><li><a 
shape="rect" href="version-notes-237.html">Version Notes 2.3.7</a></li><li><a 
shape="rect" href="version-notes-2341.html">Version Notes 
2.3.4.1</a></li><li><a shape="rect" href="version-notes-234.html">Version Notes 
2.3.4</a></li><li><a shape="rect" href="version-notes-233.html">Version Notes 
2.3.3</a></li><li><a shape="rect" href="version-notes-2312.html">Version Notes 
2.3.1.2</a></li><li><a shape="rect" href="version-notes-2311.html">Version 
Notes 2.3.1.1</a></li><li><a shape="rect" href="version-notes-231.html">Version 
Notes 2.3.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.2.x">Version No
 tes 2.2.x</h3><ul><li><a shape="rect" href="version-notes-2231.html">Version 
Notes 2.2.3.1</a></li><li><a shape="rect" href="version-notes-223.html">Version 
Notes 2.2.3</a></li><li><a shape="rect" href="version-notes-2211.html">Version 
Notes 2.2.1.1</a></li><li><a shape="rect" href="version-notes-221.html">Version 
Notes 2.2.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.1.x">Version 
Notes 2.1.x</h3><ul><li><a shape="rect" href="version-notes-2181.html">Version 
Notes 2.1.8.1</a></li><li><a shape="rect" href="version-notes-218.html">Version 
Notes 2.1.8</a></li><li><a shape="rect" href="version-notes-216.html">Version 
Notes 2.1.6</a></li><li><a shape="rect" href="version-notes-215.html">Version 
Notes 2.1.5</a></li><li><a shape="rect" href="version-notes-214.html">Version 
Notes 2.1.4</a></li><li><a shape="rect" href="version-notes-213.html">Version 
Notes 2.1.3</a></li><li><a shape="rect" href="version-notes-212.html">Version 
Notes 2.1.2</a></li><li><a shape="rect" href="version-not
 es-211.html">Version Notes 2.1.1</a></li><li><a shape="rect" 
href="version-notes-210.html">Version Notes 2.1.0</a></li></ul><h3 
id="MigrationGuide-ReleaseNotes2.0.x">Release Notes 2.0.x</h3><ul><li><a 
shape="rect" href="release-notes-2014.html">Release Notes 2.0.14</a></li><li><a 
shape="rect" href="release-notes-2013.html">Release Notes 2.0.13</a></li><li><a 
shape="rect" href="release-notes-2012.html">Release Notes 2.0.12</a></li><li><a 
shape="rect" href="release-notes-20112.html">Release Notes 
2.0.11.2</a></li><li><a shape="rect" href="release-notes-20111.html">Release 
Notes 2.0.11.1</a></li><li><a shape="rect" 
href="release-notes-2011.html">Release Notes 2.0.11</a></li><li><a shape="rect" 
href="release-notes-2010.html">Release Notes 2.0.10</a></li><li><a shape="rect" 
href="release-notes-209.html">Release Notes 2.0.9</a></li><li><a shape="rect" 
href="release-notes-208.html">Release Notes 2.0.8</a></li><li><a shape="rect" 
href="release-notes-207.html">Release Notes 2.0.7</a></li><li
 ><a shape="rect" href="release-notes-206.html">Release Notes 
 >2.0.6</a></li><li><a shape="rect" href="release-notes-205.html">Release Notes 
 >2.0.5</a></li><li><a shape="rect" href="release-notes-204.html">Release Notes 
 >2.0.4</a></li><li><a shape="rect" href="release-notes-203.html">Release Notes 
 >2.0.3</a></li><li><a shape="rect" href="release-notes-202.html">Release Notes 
 >2.0.2</a></li><li><a shape="rect" href="release-notes-201.html">Release Notes 
 >2.0.1</a></li><li><a shape="rect" href="release-notes-200.html">Release Notes 
 >2.0.0</a></li></ul><h3 id="MigrationGuide-Struts1toStruts2">Struts 1 to 
 >Struts 2</h3><div class="table-wrap"><table 
 >class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p><a shape="rect" 
 >href="comparing-struts-1-and-2.html">Comparing Struts 1 and 2</a></p></th><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>How are Struts 1 and Struts 2 
 >alike? How are they different?</p></td></tr><tr><th colspan="1" rowspan="1" 
 >class="confluence
 Th"><p><a shape="rect" href="struts-1-solutions.html">Struts 1 
Solutions</a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Various issues (and hopefully their solutions!) 
encountered during migrations to Struts 2.</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p><a shape="rect" 
href="migration-strategies.html">Migration Strategies</a></p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Steps and overall strategies 
for migrating Struts 1 applications to Struts 2.</p></td></tr><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" 
href="migration-tools.html">Migration Tools</a></p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Development tools to help aid the migration 
process.</p></td></tr></tbody></table></div><h4 
id="MigrationGuide-Tutorials">Tutorials</h4><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p><a shape="rect" class="external-link" hre
 f="http://www.infoq.com/news/migrating-struts2"; rel="nofollow">Migrating 
Applications to Struts 2 </a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>A three-part series by Ian Roughley (Sep 
2006)</p></td></tr></tbody></table></div><h4 
id="MigrationGuide-Roadmap">Roadmap</h4><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p><a shape="rect" class="external-link" 
href="http://struts.apache.org/roadmap.html#new";>Roadmap FAQ</a></p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>What's in store for Struts 
2?</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a 
shape="rect" class="external-link" 
href="http://www.oreillynet.com/onjava/blog/2006/10/my_history_of_struts_2.html";
 rel="nofollow">A History of Struts 2</a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Don Brown's summary of 
events</p></td></tr></tbody></table></div><h3 
id="MigrationGuide-Webwork2.2toStruts2"
 >Webwork 2.2 to Struts 2</h3><div class="table-wrap"><table 
 >class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p><a shape="rect" 
 >href="key-changes-from-webwork-2.html">Key Changes From WebWork 
 >2</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>What has 
 >been removed or changed from WebWork 2.2 to Struts 2</p></td></tr><tr><th 
 >colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" 
 >href="webwork-2-migration-strategies.html">WebWork 2 Migration 
 >Strategies</a></p></th><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Steps and overall strategies for migrating WebWork 2 
 >applications to Struts 2.</p></td></tr></tbody></table></div><h2 
 >id="MigrationGuide-FAQs">FAQs</h2><ul><li><a shape="rect" 
 >href="where-do-we-get-the-latest-version-the-framework.html">Where do we get 
 >the latest version the framework</a>?</li><li><a shape="rect" 
 >href="what-are-some-of-the-frameworks-best-features.html">What are some of 
 >the framework's best features
 </a>?</li><li><a shape="rect" href="what-is-the-actioncontext.html">What is 
the ActionContext?</a></li></ul><h2 id="MigrationGuide-Next:">Next: <a 
shape="rect" href="contributors-guide.html">Contributors Guide</a></h2></div>
+            <div id="ConfluenceContent"><p>Getting here from there.</p><h3 
id="MigrationGuide-VersionNotes2.3.x">Version Notes 2.3.x</h3><ul><li><p><a 
shape="rect" href="version-notes-2320.html">Version Notes 
2.3.20</a></p></li><li><p><a shape="rect" 
href="version-notes-23163.html">Version Notes 2.3.16.3</a></p></li><li><a 
shape="rect" href="version-notes-23162.html">Version Notes 
2.3.16.2</a></li><li><a shape="rect" href="version-notes-2316.html">Version 
Notes 2.3.16.1</a></li><li><a shape="rect" 
href="version-notes-2316.html">Version Notes 2.3.16</a></li><li><a shape="rect" 
href="version-notes-23153.html">Version Notes 2.3.15.3</a></li><li><a 
shape="rect" href="version-notes-23152.html">Version Notes 
2.3.15.2</a></li><li><a shape="rect" href="version-notes-23151.html">Version 
Notes 2.3.15.1</a></li><li><a shape="rect" 
href="version-notes-2315.html">Version Notes 2.3.15</a></li><li><a shape="rect" 
href="version-notes-23143.html">Version Notes 2.3.14.3</a></li><li><a 
shape="rect" hr
 ef="version-notes-23142.html">Version Notes 2.3.14.2</a></li><li><a 
shape="rect" href="version-notes-23141.html">Version Notes 
2.3.14.1</a></li><li><a shape="rect" href="version-notes-2314.html">Version 
Notes 2.3.14</a></li><li><a shape="rect" 
href="version-notes-23120.html">Version Notes 2.3.12.0</a></li><li><a 
shape="rect" href="version-notes-238.html">Version Notes 2.3.8</a></li><li><a 
shape="rect" href="version-notes-237.html">Version Notes 2.3.7</a></li><li><a 
shape="rect" href="version-notes-2341.html">Version Notes 
2.3.4.1</a></li><li><a shape="rect" href="version-notes-234.html">Version Notes 
2.3.4</a></li><li><a shape="rect" href="version-notes-233.html">Version Notes 
2.3.3</a></li><li><a shape="rect" href="version-notes-2312.html">Version Notes 
2.3.1.2</a></li><li><a shape="rect" href="version-notes-2311.html">Version 
Notes 2.3.1.1</a></li><li><a shape="rect" href="version-notes-231.html">Version 
Notes 2.3.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.2.x">Version No
 tes 2.2.x</h3><ul><li><a shape="rect" href="version-notes-2231.html">Version 
Notes 2.2.3.1</a></li><li><a shape="rect" href="version-notes-223.html">Version 
Notes 2.2.3</a></li><li><a shape="rect" href="version-notes-2211.html">Version 
Notes 2.2.1.1</a></li><li><a shape="rect" href="version-notes-221.html">Version 
Notes 2.2.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.1.x">Version 
Notes 2.1.x</h3><ul><li><a shape="rect" href="version-notes-2181.html">Version 
Notes 2.1.8.1</a></li><li><a shape="rect" href="version-notes-218.html">Version 
Notes 2.1.8</a></li><li><a shape="rect" href="version-notes-216.html">Version 
Notes 2.1.6</a></li><li><a shape="rect" href="version-notes-215.html">Version 
Notes 2.1.5</a></li><li><a shape="rect" href="version-notes-214.html">Version 
Notes 2.1.4</a></li><li><a shape="rect" href="version-notes-213.html">Version 
Notes 2.1.3</a></li><li><a shape="rect" href="version-notes-212.html">Version 
Notes 2.1.2</a></li><li><a shape="rect" href="version-not
 es-211.html">Version Notes 2.1.1</a></li><li><a shape="rect" 
href="version-notes-210.html">Version Notes 2.1.0</a></li></ul><h3 
id="MigrationGuide-ReleaseNotes2.0.x">Release Notes 2.0.x</h3><ul><li><a 
shape="rect" href="release-notes-2014.html">Release Notes 2.0.14</a></li><li><a 
shape="rect" href="release-notes-2013.html">Release Notes 2.0.13</a></li><li><a 
shape="rect" href="release-notes-2012.html">Release Notes 2.0.12</a></li><li><a 
shape="rect" href="release-notes-20112.html">Release Notes 
2.0.11.2</a></li><li><a shape="rect" href="release-notes-20111.html">Release 
Notes 2.0.11.1</a></li><li><a shape="rect" 
href="release-notes-2011.html">Release Notes 2.0.11</a></li><li><a shape="rect" 
href="release-notes-2010.html">Release Notes 2.0.10</a></li><li><a shape="rect" 
href="release-notes-209.html">Release Notes 2.0.9</a></li><li><a shape="rect" 
href="release-notes-208.html">Release Notes 2.0.8</a></li><li><a shape="rect" 
href="release-notes-207.html">Release Notes 2.0.7</a></li><li
 ><a shape="rect" href="release-notes-206.html">Release Notes 
 >2.0.6</a></li><li><a shape="rect" href="release-notes-205.html">Release Notes 
 >2.0.5</a></li><li><a shape="rect" href="release-notes-204.html">Release Notes 
 >2.0.4</a></li><li><a shape="rect" href="release-notes-203.html">Release Notes 
 >2.0.3</a></li><li><a shape="rect" href="release-notes-202.html">Release Notes 
 >2.0.2</a></li><li><a shape="rect" href="release-notes-201.html">Release Notes 
 >2.0.1</a></li><li><a shape="rect" href="release-notes-200.html">Release Notes 
 >2.0.0</a></li></ul><h3 id="MigrationGuide-Struts1toStruts2">Struts 1 to 
 >Struts 2</h3><div class="table-wrap"><table 
 >class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p><a shape="rect" 
 >href="comparing-struts-1-and-2.html">Comparing Struts 1 and 2</a></p></th><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>How are Struts 1 and Struts 2 
 >alike? How are they different?</p></td></tr><tr><th colspan="1" rowspan="1" 
 >class="confluence
 Th"><p><a shape="rect" href="struts-1-solutions.html">Struts 1 
Solutions</a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Various issues (and hopefully their solutions!) 
encountered during migrations to Struts 2.</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p><a shape="rect" 
href="migration-strategies.html">Migration Strategies</a></p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Steps and overall strategies 
for migrating Struts 1 applications to Struts 2.</p></td></tr><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" 
href="migration-tools.html">Migration Tools</a></p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Development tools to help aid the migration 
process.</p></td></tr></tbody></table></div><h4 
id="MigrationGuide-Tutorials">Tutorials</h4><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p><a shape="rect" class="external-link" hre
 f="http://www.infoq.com/news/migrating-struts2"; rel="nofollow">Migrating 
Applications to Struts 2 </a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>A three-part series by Ian Roughley (Sep 
2006)</p></td></tr></tbody></table></div><h4 
id="MigrationGuide-Roadmap">Roadmap</h4><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p><a shape="rect" class="external-link" 
href="http://struts.apache.org/roadmap.html#new";>Roadmap FAQ</a></p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>What's in store for Struts 
2?</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a 
shape="rect" class="external-link" 
href="http://www.oreillynet.com/onjava/blog/2006/10/my_history_of_struts_2.html";
 rel="nofollow">A History of Struts 2</a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Don Brown's summary of 
events</p></td></tr></tbody></table></div><h3 
id="MigrationGuide-Webwork2.2toStruts2"
 >Webwork 2.2 to Struts 2</h3><div class="table-wrap"><table 
 >class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p><a shape="rect" 
 >href="key-changes-from-webwork-2.html">Key Changes From WebWork 
 >2</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>What has 
 >been removed or changed from WebWork 2.2 to Struts 2</p></td></tr><tr><th 
 >colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" 
 >href="webwork-2-migration-strategies.html">WebWork 2 Migration 
 >Strategies</a></p></th><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Steps and overall strategies for migrating WebWork 2 
 >applications to Struts 2.</p></td></tr></tbody></table></div><h2 
 >id="MigrationGuide-FAQs">FAQs</h2><ul><li><a shape="rect" 
 >href="where-do-we-get-the-latest-version-the-framework.html">Where do we get 
 >the latest version the framework</a>?</li><li><a shape="rect" 
 >href="what-are-some-of-the-frameworks-best-features.html">What are some of 
 >the framework's best features
 </a>?</li><li><a shape="rect" href="what-is-the-actioncontext.html">What is 
the ActionContext?</a></li></ul><h2 id="MigrationGuide-Next:">Next: <a 
shape="rect" href="contributors-guide.html">Contributors Guide</a></h2></div>
         </div>
 
                     <div class="tabletitle">

Added: 
websites/production/struts/content/development/2.x/docs/version-notes-2320.html
==============================================================================
--- 
websites/production/struts/content/development/2.x/docs/version-notes-2320.html 
(added)
+++ 
websites/production/struts/content/development/2.x/docs/version-notes-2320.html 
Fri Nov 21 09:30:05 2014
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License. 
+-->
+<html>
+<head>
+    <link type="text/css" rel="stylesheet" 
href="https://struts.apache.org/css/default.css";>
+    <style type="text/css">
+        .dp-highlighter {
+            width:95% !important;
+        }
+    </style>
+    <style type="text/css">
+        .footer {
+            background-image:      
url('https://cwiki.apache.org/confluence/images/border/border_bottom.gif');
+            background-repeat:     repeat-x;
+            background-position:   left top;
+            padding-top:           4px;
+            color:                 #666;
+        }
+    </style>
+    <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css' 
rel='stylesheet' type='text/css' />
+    <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css' 
rel='stylesheet' type='text/css' />
+    <script src='http://struts.apache.org/highlighter/js/shCore.js' 
type='text/javascript'></script>
+    <script src="http://struts.apache.org/highlighter/js/shBrushPlain.js"; 
type="text/javascript"></script>
+    <script src="http://struts.apache.org/highlighter/js/shBrushXml.js"; 
type="text/javascript"></script>
+    <script src="http://struts.apache.org/highlighter/js/shBrushJava.js"; 
type="text/javascript"></script>
+    <script src="http://struts.apache.org/highlighter/js/shBrushJScript.js"; 
type="text/javascript"></script>
+    <script src="http://struts.apache.org/highlighter/js/shBrushGroovy.js"; 
type="text/javascript"></script>
+    <script src="http://struts.apache.org/highlighter/js/shBrushBash.js"; 
type="text/javascript"></script>
+    <script type="text/javascript">
+        SyntaxHighlighter.defaults['toolbar'] = false;
+        SyntaxHighlighter.all();
+    </script>
+    <script type="text/javascript" language="javascript">
+        var hide = null;
+        var show = null;
+        var children = null;
+
+        function init() {
+            /* Search form initialization */
+            var form = document.forms['search'];
+            if (form != null) {
+                form.elements['domains'].value = location.hostname;
+                form.elements['sitesearch'].value = location.hostname;
+            }
+
+            /* Children initialization */
+            hide = document.getElementById('hide');
+            show = document.getElementById('show');
+            children = document.all != null ?
+                    document.all['children'] :
+                    document.getElementById('children');
+            if (children != null) {
+                children.style.display = 'none';
+                show.style.display = 'inline';
+                hide.style.display = 'none';
+            }
+        }
+
+        function showChildren() {
+            children.style.display = 'block';
+            show.style.display = 'none';
+            hide.style.display = 'inline';
+        }
+
+        function hideChildren() {
+            children.style.display = 'none';
+            show.style.display = 'inline';
+            hide.style.display = 'none';
+        }
+    </script>
+    <title>Version Notes 2.3.20</title>
+</head>
+<body onload="init()">
+<table border="0" cellpadding="2" cellspacing="0" width="100%">
+    <tr class="topBar">
+        <td align="left" valign="middle" class="topBarDiv" align="left" nowrap>
+            &nbsp;<a href="home.html">Home</a>&nbsp;&gt;&nbsp;<a 
href="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a 
href="migration-guide.html">Migration Guide</a>&nbsp;&gt;&nbsp;<a 
href="version-notes-2320.html">Version Notes 2.3.20</a>
+        </td>
+        <td align="right" valign="middle" nowrap>
+            <form name="search" action="http://www.google.com/search"; 
method="get">
+                <input type="hidden" name="ie" value="UTF-8" />
+                <input type="hidden" name="oe" value="UTF-8" />
+                <input type="hidden" name="domains" value="" />
+                <input type="hidden" name="sitesearch" value="" />
+                <input type="text" name="q" maxlength="255" value="" />
+                <input type="submit" name="btnG" value="Google Search" />
+            </form>
+        </td>
+    </tr>
+</table>
+
+<div id="PageContent">
+    <div class="pageheader" style="padding: 6px 0px 0px 0px;">
+        <!-- We'll enable this once we figure out how to access (and save) the 
logo resource -->
+        <!--img src="/wiki/images/confluence_logo.gif" style="float: left; 
margin: 4px 4px 4px 10px;" border="0"-->
+        <div style="margin: 0px 10px 0px 10px" class="smalltext">Apache Struts 
2 Documentation</div>
+        <div style="margin: 0px 10px 8px 10px"  class="pagetitle">Version 
Notes 2.3.20</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; 
margin: 0px;">
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=40506670";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/notep_16.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Edit Page"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=40506670";>Edit
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/browse_space.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Browse Space"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW";>Browse 
Space</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=40506670";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/add_page_16.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Add Page"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=40506670";>Add
 Page</a>
+            &nbsp;
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=40506670";>
+                <img 
src="https://cwiki.apache.org/confluence/images/icons/add_blogentry_16.gif";
+                     height="16" width="16" border="0" align="absmiddle" 
title="Add News"></a>
+            <a 
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=40506670";>Add
 News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png";
 data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 
2.3.20 distribution.</p><p><img class="emoticon emoticon-tick" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png";
 data-emoticon-name="tick" alt="(tick)"> For prior notes in this release 
series, see <a shape="rect" href="version-notes-23161.html">Version Notes 
2.3.16.1</a></p><ul><li>If you are a Maven user, you might want to get started 
using the <a shape="rect" href="struts-2-maven-archetypes.html">Maven 
Archetype</a>.</li><li>Another quick-start entry point is the 
<strong>blank</strong> application. Rename and deploy the WAR as a starting 
point for your own development.</li></ul><div class="code p
 anel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Maven Dependency</b></div><div 
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
+  &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;
+  &lt;artifactId&gt;struts2-core&lt;/artifactId&gt;
+  &lt;version&gt;2.3.20&lt;/version&gt;
+&lt;/dependency&gt;
+]]></script>
+</div></div><p>You can also use Struts Archetype Catalog like below</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader 
panelHeader pdl" style="border-bottom-width: 1px;"><b>Struts Archetype 
Catalog</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: text; gutter: false" 
type="syntaxhighlighter"><![CDATA[mvn archetype:generate 
-DarchetypeCatalog=http://struts.apache.org/]]></script>
+</div></div><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Staging 
Repository</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false" 
type="syntaxhighlighter"><![CDATA[&lt;repositories&gt;
+  &lt;repository&gt;
+    &lt;id&gt;apache.nexus&lt;/id&gt;
+    &lt;name&gt;ASF Nexus Staging&lt;/name&gt;
+    
&lt;url&gt;https://repository.apache.org/content/groups/staging/&lt;/url&gt;
+  &lt;/repository&gt;
+&lt;/repositories&gt;]]></script>
+</div></div><h2 id="VersionNotes2.3.20-InternalChanges">Internal 
Changes</h2><ul><li><img class="emoticon emoticon-warning" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/warning.png";
 data-emoticon-name="warning" alt="(warning)"> Merged security fixes from 
version 2.3.16.1,&#160;2.3.16.2,&#160;2.3.16.3</li><li><img class="emoticon 
emoticon-warning" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/warning.png";
 data-emoticon-name="warning" alt="(warning)">&#160;Extended existing security 
mechanism to block access to given Java packages and Classes, see <a 
shape="rect" class="external-link" 
href="https://github.com/apache/struts/pull/11"; rel="nofollow">#11</a>&#160;or 
read&#160;<a shape="rect" 
href="security.html#Security-Internalsecuritymechanism">Internal security 
mechanism</a></li><li>Collection Parameters for Redir
 ectResults, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4224";>WW-4224</a></li><li>Make 
ParametersInterceptor supports chinese in hash key by default, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4250";>WW-4250</a></li><li>themes.properties
 can be loaded using ServletContext allows to put <code>template</code> folder 
under WEB-INF or on classpath, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4260";>WW-4260</a></li><li><span>New
 tag datetextfield, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-3493";>WW-3493</a></span></li><li><span>Only
 valid Ognl expressions are cached, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4146";>WW-4146</a></span></li><li><span>CustomTextProvider
 can be used for validation errors of model driven actions, <a shape="rect" 
class="external-link" href="https://issues.apa
 che.org/jira/browse/WW-4202">WW-4202</a></span></li><li><span>datetimepicker's 
label fixed, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4254";>WW-4254</a></span></li><li><span>PropertiesJudge<span>&#160;removed
 and properties are checked 
in&#160;<code>SecurityMemberAccess</code></span></span>, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4257";>WW-4257</a></li><li>resource
 reloading works in IBM JVM, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4266";>WW-4266</a></li><li>default
 reloading settings were removed from&#160;<code>default.properties</code>, <a 
shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4267";>WW-4267</a></li><li><img 
class="emoticon emoticon-warning" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/warning.png";
 data-emoticon-name="warn
 ing" alt="(warning)">&#160;commons-fileupload library upgraded to version 
1.3.1 to fix potential security vulnerability, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4286";>WW-4286</a></li><li>The&#160;<code>scheme</code>
 attribute accepts expressions in&#160;<code>s:url</code> tag, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4024";>WW-4024</a></li><li>Solves 
problem with infinite loop in&#160;<code>FastByteArrayOutputStream</code>, <a 
shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4383";>WW-4383</a></li><li><code>LocalizedTextUtil</code>
 supports many&#160;<code>ClassLoaders</code>, <a shape="rect" 
class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4379";>WW-4379</a></li><li>Bill 
of Materials pom was introduced, <a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-4326";>WW-4326</a></li><li><code>debug=browser|console</code
 > was migrated to jQuery, <a shape="rect" class="external-link" 
 > href="https://issues.apache.org/jira/browse/WW-4322";>WW-4322</a></li><li><code>struts_dojo.js</code>
 >  was fixed, <a shape="rect" class="external-link" 
 > href="https://issues.apache.org/jira/browse/WW-4349";>WW-4349</a></li><li>interface&#160;<code>org/apache/struts2/views/TagLibrary</code>
 >  was restored and marked as&#160;<code>@Depreacted</code>, <a shape="rect" 
 > class="external-link" 
 > href="https://issues.apache.org/jira/browse/WW-4255";>WW-4255</a></li><li>and 
 > many other small improvements, please see the release 
 > notes</li></ul><p>&#160;</p>    <div class="aui-message warning shadowed 
 > information-macro">
+                            <span class="aui-icon icon-warning">Icon</span>
+                <div class="message-content">
+                            <p>Please read information about new <a 
shape="rect" href="security.html#Security-Internalsecuritymechanism">internal 
security mechanism</a> introduced with this version, it can have impact on your 
application!</p>
+                    </div>
+    </div>
+<p>&#160;</p><h3 id="VersionNotes2.3.20-IssueDetail">Issue 
Detail</h3><ul><li><a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311041&amp;version=12319176";>JIRA
 Release Notes 2.3.20</a></li></ul><h3 id="VersionNotes2.3.20-IssueList">Issue 
List</h3><ul><li><a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/issues/?filter=12326872";>Struts 2.3.20 
DONE</a></li><li><a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/issues/?filter=12318399";>Struts 2.3.x 
TODO</a></li></ul><h3 id="VersionNotes2.3.20-Otherresources">Other 
resources</h3><ul><li><a shape="rect" class="external-link" 
href="http://www.mail-archive.com/commits%40struts.apache.org/"; 
rel="nofollow">Commit Logs</a></li><li><a shape="rect" class="external-link" 
href="https://git-wip-us.apache.org/repos/asf?p=struts.git;a=tree;h=refs/heads/develop;hb=develop";>Source
 Code Repository</a></li></ul><div><span style="font-size: 24.
 0px;line-height: 30.0px;"><br clear="none"></span></div><div><span 
style="font-size: 24.0px;line-height: 30.0px;background-color: 
rgb(245,245,245);"><br clear="none"></span></div></div>
+        </div>
+
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>
\ No newline at end of file

Modified: 
websites/production/struts/content/release/2.3.x/docs/building-struts-2-normal-release.html
==============================================================================
--- 
websites/production/struts/content/release/2.3.x/docs/building-struts-2-normal-release.html
 (original)
+++ 
websites/production/struts/content/release/2.3.x/docs/building-struts-2-normal-release.html
 Fri Nov 21 09:30:05 2014
@@ -139,11 +139,11 @@ under the License. 
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><h1 
id="BuildingStruts2-Normalrelease-Content">Content</h1><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1415950672619 {padding: 0px;}
-div.rbtoc1415950672619 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1415950672619 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1416562007401 {padding: 0px;}
+div.rbtoc1416562007401 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1416562007401 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1415950672619">
+/*]]>*/</style></p><div class="toc-macro rbtoc1416562007401">
 <ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a 
shape="rect" href="#BuildingStruts2-Normalrelease-Gettingready">Getting 
ready</a></li><li><span class="TOCOutline">2</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-UpdateDraftDocswhenneeded">Update Draft 
Docs when needed</a></li><li><span class="TOCOutline">3</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Besureyourlocalcopyisup-to-date">Be sure 
your local copy is up-to-date</a></li><li><span class="TOCOutline">4</span> <a 
shape="rect" href="#BuildingStruts2-Normalrelease-Createareleasebranch">Create 
a release branch</a></li><li><span class="TOCOutline">5</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Preparerelease">Prepare 
release</a></li><li><span class="TOCOutline">6</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Performtherelease">Perform the 
release</a></li><li><span class="TOCOutline">7</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Movetheasse
 mblies">Move the assemblies</a></li><li><span class="TOCOutline">8</span> <a 
shape="rect" 
href="#BuildingStruts2-Normalrelease-Announceavailability">Announce 
availability</a></li><li><span class="TOCOutline">9</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Cleanuprepository">Clean up 
repository</a></li><li><span class="TOCOutline">10</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Voteonit">Vote on it</a></li><li><span 
class="TOCOutline">11</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Copyfiles">Copy files</a></li><li><span 
class="TOCOutline">12</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Promoterelease">Promote 
release</a></li><li><span class="TOCOutline">13</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Cleanupoldreleases">Clean up old 
releases</a></li><li><span class="TOCOutline">14</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Waitforrsync">Wait for 
rsync</a></li><li><span class="TOCOutline">15</s
 pan> <a shape="rect" href="#BuildingStruts2-Normalrelease-Updatesite">Update 
site</a></li><li><span class="TOCOutline">16</span> <a shape="rect" 
href="#BuildingStruts2-Normalrelease-Redeploythedraftdocs(Optional)">Redeploy 
the draft docs (Optional)</a></li><li><span class="TOCOutline">17</span> <a 
shape="rect" href="#BuildingStruts2-Normalrelease-Postannouncements">Post 
announcements</a></li></ul>
 </div><h2 id="BuildingStruts2-Normalrelease-BuildingSteps(Struts)">Building 
Steps (Struts)</h2><h3 id="BuildingStruts2-Normalrelease-Gettingready">Getting 
ready</h3><ol><li>Create an "Struts 2.x.y omnibus ticket" ticket in JIRA to 
refer to in upcoming release related commit comments and for general 
documentation purposes. Mark it with priority "Blocker".</li><li>Switch to 
branch&#160;<code>develop</code></li><li>Ensure that the master POM and Struts 
Annotations have current releases</li><li>Review JIRA for any issues without a 
fix version set, and for any issues that should be resolved for the pending 
release.</li><li>Ensure that there are no repositories or pluginRepositories 
listed in the poms.</li><li>If you have committed all changes regarding the 
release process, close the omnibus ticket as it is the last open ticket for the 
upcoming release</li><li>Release the upcoming version in JIRA (under 
Administration/Manage Releases) and tag the release date</li><li>Add next 
milestone ve
 rsion to the JIRA roadmap</li><li>Create DONE and TODO filters for the new 
version, share with all, and remove obsolete TODO filter</li><li>Create a new 
Version Notes page in Confluence, link from <a shape="rect" 
href="migration-guide.html">Migration Guide</a>, and link to prior release page 
and JIRA DONE filters of the version to release</li><li>Export wiki pages and 
put them under&#160;<code>/docs</code></li></ol><h3 
id="BuildingStruts2-Normalrelease-UpdateDraftDocswhenneeded">Update Draft Docs 
when needed</h3><p>Checkout&#160;<code>struts-site</code> project (see details 
at the bottom of this page) and perform export:</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[cd struts-site
@@ -186,34 +186,53 @@ mvn javadoc:javadoc deploy --no-plugin-u
 <h3 id="BuildingStruts2-Normalrelease-Movetheassemblies">Move the 
assemblies</h3><p>To simplify testing, the assemblies have to be moved to the 
<code>/www/people.apache.org/builds/struts/$VERSION</code> dir.</p><p>After 
closing repository in Nexus, check if the release files are available from 
staging repository as bellow:</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[https://repository.apache.org/content/groups/staging/org/apache/struts/struts2-assembly/$VERSION/
 ]]></script>
-</div></div><p>In order to move the assemblies login to people.apache.org and 
execute the following code:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: plain; gutter: false" 
type="syntaxhighlighter"><![CDATA[#!/bin/sh
-# create the destination directory
+</div></div><p>In order to move the assemblies login to people.apache.org and 
execute the following code:</p><p><span style="font-family: monospace;"><span 
style="white-space: pre-wrap;background-color: rgb(255,255,255);"><br 
clear="none"></span></span></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[#!/bin/sh
+
+#create the destination directory
+echo &quot;Creating working dir $VERSION&quot;
 mkdir $VERSION
 cd $VERSION
 
+
 # get the distro
+echo &quot;Getting distro $VERSION&quot;
 wget -erobots=off -nv  -l 1 --accept=zip,md5,sha1,asc -r 
--no-check-certificate -nd -nH 
https://repository.apache.org/content/groups/staging/org/apache/struts/struts2-assembly/$VERSION
 
 # rename files
+echo &quot;Renaming files&quot;
 for f in *2-assembly*.zip*
 do
  mv $f `echo $f | sed s/2-assembly//g`
 done
 
 # remove unneeded files
+echo &quot;Removing unneeded files&quot;
 for f in struts2-assembly-*.pom*
 do
  rm $f
 done
 
 # remove unneeded hashes
+echo &quot;Removing unneeded files&quot;
 rm *.asc.md5
 rm *.asc.sha1
-]]></script>
-</div></div><p>After that move the assemblies directory to the builds 
destination with</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[mv $VERSION 
/www/people.apache.org/builds/struts/]]></script>
-</div></div><h3 
id="BuildingStruts2-Normalrelease-Announceavailability">Announce 
availability</h3><p>Send a short e-mail to dev@struts.a.o informing about the 
new packages and to give people enough time to test the distribution (actual 
bits). Wait around a week before posting Vote. If no show-stoppers reported, 
start a vote thread for build quality designation.</p><h3 
id="BuildingStruts2-Normalrelease-Cleanuprepository">Clean up 
repository</h3><p>It doesn't matter if the bits will be accepted or not, 
development continues&#160;<img class="emoticon emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/smile.png";
 data-emoticon-name="smile" alt="(smile)">&#160;Switch 
to&#160;<code>release/X.X.X.X</code> branch and execute the below 
command:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+cd ..
+ 
+# checking in new version
+echo &quot;Pushing test version $VERSION&quot;
+svn --no-auth-cache co --depth empty 
https://dist.apache.org/repos/dist/dev/struts/ struts-dev
+mv $VERSION struts-dev/
+cd struts-dev
+svn add --force ./
+svn --no-auth-cache commit -m &quot;Updates test release $VERSION&quot;
+cd ..
+
+# cleaning up
+rm -r struts-dev
+
+echo &quot;Done!&quot;]]></script>
+</div></div><p>After this step artifacts are available for test here&#160;<a 
shape="rect" class="external-link" 
href="https://dist.apache.org/repos/dist/dev/struts/";>https://dist.apache.org/repos/dist/dev/struts/</a></p><h3
 id="BuildingStruts2-Normalrelease-Announceavailability"><span 
style="font-size: 16.0px;line-height: 1.5625;">Announce 
availability</span></h3><p>Send a short e-mail to dev@struts.a.o informing 
about the new packages and to give people enough time to test the distribution 
(actual bits). Wait around a week before posting Vote. If no show-stoppers 
reported, start a vote thread for build quality designation.</p><h3 
id="BuildingStruts2-Normalrelease-Cleanuprepository">Clean up 
repository</h3><p>It doesn't matter if the bits will be accepted or not, 
development continues&#160;<img class="emoticon emoticon-smile" 
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/smile.png";
 data-emoticon-n
 ame="smile" alt="(smile)">&#160;Switch to&#160;<code>release/X.X.X.X</code> 
branch and execute the below command:</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[git flow release finish -n X.X.X.X]]></script>
 </div></div><p><code>-n</code> option is need to avoid tagging the release, 
the Maven Release plugin did that already. If the release branch was published 
to the remote it won't be deleted locally, it must be done manually after 
removing branch from the remote:</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[git push --delete origin 
release/X.X.X.X]]></script>

Modified: 
websites/production/struts/content/release/2.3.x/docs/migration-guide.html
==============================================================================
--- websites/production/struts/content/release/2.3.x/docs/migration-guide.html 
(original)
+++ websites/production/struts/content/release/2.3.x/docs/migration-guide.html 
Fri Nov 21 09:30:05 2014
@@ -125,7 +125,7 @@ under the License. 
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><p>Getting here from there.</p><h3 
id="MigrationGuide-VersionNotes2.3.x">Version Notes 2.3.x</h3><ul><li><p><a 
shape="rect" href="version-notes-2319.html">Version Notes 
2.3.19</a></p></li><li><p><a shape="rect" 
href="version-notes-23163.html">Version Notes 2.3.16.3</a></p></li><li><a 
shape="rect" href="version-notes-23162.html">Version Notes 
2.3.16.2</a></li><li><a shape="rect" href="version-notes-2316.html">Version 
Notes 2.3.16.1</a></li><li><a shape="rect" 
href="version-notes-2316.html">Version Notes 2.3.16</a></li><li><a shape="rect" 
href="version-notes-23153.html">Version Notes 2.3.15.3</a></li><li><a 
shape="rect" href="version-notes-23152.html">Version Notes 
2.3.15.2</a></li><li><a shape="rect" href="version-notes-23151.html">Version 
Notes 2.3.15.1</a></li><li><a shape="rect" 
href="version-notes-2315.html">Version Notes 2.3.15</a></li><li><a shape="rect" 
href="version-notes-23143.html">Version Notes 2.3.14.3</a></li><li><a 
shape="rect" hr
 ef="version-notes-23142.html">Version Notes 2.3.14.2</a></li><li><a 
shape="rect" href="version-notes-23141.html">Version Notes 
2.3.14.1</a></li><li><a shape="rect" href="version-notes-2314.html">Version 
Notes 2.3.14</a></li><li><a shape="rect" 
href="version-notes-23120.html">Version Notes 2.3.12.0</a></li><li><a 
shape="rect" href="version-notes-238.html">Version Notes 2.3.8</a></li><li><a 
shape="rect" href="version-notes-237.html">Version Notes 2.3.7</a></li><li><a 
shape="rect" href="version-notes-2341.html">Version Notes 
2.3.4.1</a></li><li><a shape="rect" href="version-notes-234.html">Version Notes 
2.3.4</a></li><li><a shape="rect" href="version-notes-233.html">Version Notes 
2.3.3</a></li><li><a shape="rect" href="version-notes-2312.html">Version Notes 
2.3.1.2</a></li><li><a shape="rect" href="version-notes-2311.html">Version 
Notes 2.3.1.1</a></li><li><a shape="rect" href="version-notes-231.html">Version 
Notes 2.3.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.2.x">Version No
 tes 2.2.x</h3><ul><li><a shape="rect" href="version-notes-2231.html">Version 
Notes 2.2.3.1</a></li><li><a shape="rect" href="version-notes-223.html">Version 
Notes 2.2.3</a></li><li><a shape="rect" href="version-notes-2211.html">Version 
Notes 2.2.1.1</a></li><li><a shape="rect" href="version-notes-221.html">Version 
Notes 2.2.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.1.x">Version 
Notes 2.1.x</h3><ul><li><a shape="rect" href="version-notes-2181.html">Version 
Notes 2.1.8.1</a></li><li><a shape="rect" href="version-notes-218.html">Version 
Notes 2.1.8</a></li><li><a shape="rect" href="version-notes-216.html">Version 
Notes 2.1.6</a></li><li><a shape="rect" href="version-notes-215.html">Version 
Notes 2.1.5</a></li><li><a shape="rect" href="version-notes-214.html">Version 
Notes 2.1.4</a></li><li><a shape="rect" href="version-notes-213.html">Version 
Notes 2.1.3</a></li><li><a shape="rect" href="version-notes-212.html">Version 
Notes 2.1.2</a></li><li><a shape="rect" href="version-not
 es-211.html">Version Notes 2.1.1</a></li><li><a shape="rect" 
href="version-notes-210.html">Version Notes 2.1.0</a></li></ul><h3 
id="MigrationGuide-ReleaseNotes2.0.x">Release Notes 2.0.x</h3><ul><li><a 
shape="rect" href="release-notes-2014.html">Release Notes 2.0.14</a></li><li><a 
shape="rect" href="release-notes-2013.html">Release Notes 2.0.13</a></li><li><a 
shape="rect" href="release-notes-2012.html">Release Notes 2.0.12</a></li><li><a 
shape="rect" href="release-notes-20112.html">Release Notes 
2.0.11.2</a></li><li><a shape="rect" href="release-notes-20111.html">Release 
Notes 2.0.11.1</a></li><li><a shape="rect" 
href="release-notes-2011.html">Release Notes 2.0.11</a></li><li><a shape="rect" 
href="release-notes-2010.html">Release Notes 2.0.10</a></li><li><a shape="rect" 
href="release-notes-209.html">Release Notes 2.0.9</a></li><li><a shape="rect" 
href="release-notes-208.html">Release Notes 2.0.8</a></li><li><a shape="rect" 
href="release-notes-207.html">Release Notes 2.0.7</a></li><li
 ><a shape="rect" href="release-notes-206.html">Release Notes 
 >2.0.6</a></li><li><a shape="rect" href="release-notes-205.html">Release Notes 
 >2.0.5</a></li><li><a shape="rect" href="release-notes-204.html">Release Notes 
 >2.0.4</a></li><li><a shape="rect" href="release-notes-203.html">Release Notes 
 >2.0.3</a></li><li><a shape="rect" href="release-notes-202.html">Release Notes 
 >2.0.2</a></li><li><a shape="rect" href="release-notes-201.html">Release Notes 
 >2.0.1</a></li><li><a shape="rect" href="release-notes-200.html">Release Notes 
 >2.0.0</a></li></ul><h3 id="MigrationGuide-Struts1toStruts2">Struts 1 to 
 >Struts 2</h3><div class="table-wrap"><table 
 >class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p><a shape="rect" 
 >href="comparing-struts-1-and-2.html">Comparing Struts 1 and 2</a></p></th><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>How are Struts 1 and Struts 2 
 >alike? How are they different?</p></td></tr><tr><th colspan="1" rowspan="1" 
 >class="confluence
 Th"><p><a shape="rect" href="struts-1-solutions.html">Struts 1 
Solutions</a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Various issues (and hopefully their solutions!) 
encountered during migrations to Struts 2.</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p><a shape="rect" 
href="migration-strategies.html">Migration Strategies</a></p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Steps and overall strategies 
for migrating Struts 1 applications to Struts 2.</p></td></tr><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" 
href="migration-tools.html">Migration Tools</a></p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Development tools to help aid the migration 
process.</p></td></tr></tbody></table></div><h4 
id="MigrationGuide-Tutorials">Tutorials</h4><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p><a shape="rect" class="external-link" hre
 f="http://www.infoq.com/news/migrating-struts2"; rel="nofollow">Migrating 
Applications to Struts 2 </a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>A three-part series by Ian Roughley (Sep 
2006)</p></td></tr></tbody></table></div><h4 
id="MigrationGuide-Roadmap">Roadmap</h4><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p><a shape="rect" class="external-link" 
href="http://struts.apache.org/roadmap.html#new";>Roadmap FAQ</a></p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>What's in store for Struts 
2?</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a 
shape="rect" class="external-link" 
href="http://www.oreillynet.com/onjava/blog/2006/10/my_history_of_struts_2.html";
 rel="nofollow">A History of Struts 2</a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Don Brown's summary of 
events</p></td></tr></tbody></table></div><h3 
id="MigrationGuide-Webwork2.2toStruts2"
 >Webwork 2.2 to Struts 2</h3><div class="table-wrap"><table 
 >class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p><a shape="rect" 
 >href="key-changes-from-webwork-2.html">Key Changes From WebWork 
 >2</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>What has 
 >been removed or changed from WebWork 2.2 to Struts 2</p></td></tr><tr><th 
 >colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" 
 >href="webwork-2-migration-strategies.html">WebWork 2 Migration 
 >Strategies</a></p></th><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Steps and overall strategies for migrating WebWork 2 
 >applications to Struts 2.</p></td></tr></tbody></table></div><h2 
 >id="MigrationGuide-FAQs">FAQs</h2><ul><li><a shape="rect" 
 >href="where-do-we-get-the-latest-version-the-framework.html">Where do we get 
 >the latest version the framework</a>?</li><li><a shape="rect" 
 >href="what-are-some-of-the-frameworks-best-features.html">What are some of 
 >the framework's best features
 </a>?</li><li><a shape="rect" href="what-is-the-actioncontext.html">What is 
the ActionContext?</a></li></ul><h2 id="MigrationGuide-Next:">Next: <a 
shape="rect" href="contributors-guide.html">Contributors Guide</a></h2></div>
+            <div id="ConfluenceContent"><p>Getting here from there.</p><h3 
id="MigrationGuide-VersionNotes2.3.x">Version Notes 2.3.x</h3><ul><li><p><a 
shape="rect" href="version-notes-2320.html">Version Notes 
2.3.20</a></p></li><li><p><a shape="rect" 
href="version-notes-23163.html">Version Notes 2.3.16.3</a></p></li><li><a 
shape="rect" href="version-notes-23162.html">Version Notes 
2.3.16.2</a></li><li><a shape="rect" href="version-notes-2316.html">Version 
Notes 2.3.16.1</a></li><li><a shape="rect" 
href="version-notes-2316.html">Version Notes 2.3.16</a></li><li><a shape="rect" 
href="version-notes-23153.html">Version Notes 2.3.15.3</a></li><li><a 
shape="rect" href="version-notes-23152.html">Version Notes 
2.3.15.2</a></li><li><a shape="rect" href="version-notes-23151.html">Version 
Notes 2.3.15.1</a></li><li><a shape="rect" 
href="version-notes-2315.html">Version Notes 2.3.15</a></li><li><a shape="rect" 
href="version-notes-23143.html">Version Notes 2.3.14.3</a></li><li><a 
shape="rect" hr
 ef="version-notes-23142.html">Version Notes 2.3.14.2</a></li><li><a 
shape="rect" href="version-notes-23141.html">Version Notes 
2.3.14.1</a></li><li><a shape="rect" href="version-notes-2314.html">Version 
Notes 2.3.14</a></li><li><a shape="rect" 
href="version-notes-23120.html">Version Notes 2.3.12.0</a></li><li><a 
shape="rect" href="version-notes-238.html">Version Notes 2.3.8</a></li><li><a 
shape="rect" href="version-notes-237.html">Version Notes 2.3.7</a></li><li><a 
shape="rect" href="version-notes-2341.html">Version Notes 
2.3.4.1</a></li><li><a shape="rect" href="version-notes-234.html">Version Notes 
2.3.4</a></li><li><a shape="rect" href="version-notes-233.html">Version Notes 
2.3.3</a></li><li><a shape="rect" href="version-notes-2312.html">Version Notes 
2.3.1.2</a></li><li><a shape="rect" href="version-notes-2311.html">Version 
Notes 2.3.1.1</a></li><li><a shape="rect" href="version-notes-231.html">Version 
Notes 2.3.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.2.x">Version No
 tes 2.2.x</h3><ul><li><a shape="rect" href="version-notes-2231.html">Version 
Notes 2.2.3.1</a></li><li><a shape="rect" href="version-notes-223.html">Version 
Notes 2.2.3</a></li><li><a shape="rect" href="version-notes-2211.html">Version 
Notes 2.2.1.1</a></li><li><a shape="rect" href="version-notes-221.html">Version 
Notes 2.2.1</a></li></ul><h3 id="MigrationGuide-VersionNotes2.1.x">Version 
Notes 2.1.x</h3><ul><li><a shape="rect" href="version-notes-2181.html">Version 
Notes 2.1.8.1</a></li><li><a shape="rect" href="version-notes-218.html">Version 
Notes 2.1.8</a></li><li><a shape="rect" href="version-notes-216.html">Version 
Notes 2.1.6</a></li><li><a shape="rect" href="version-notes-215.html">Version 
Notes 2.1.5</a></li><li><a shape="rect" href="version-notes-214.html">Version 
Notes 2.1.4</a></li><li><a shape="rect" href="version-notes-213.html">Version 
Notes 2.1.3</a></li><li><a shape="rect" href="version-notes-212.html">Version 
Notes 2.1.2</a></li><li><a shape="rect" href="version-not
 es-211.html">Version Notes 2.1.1</a></li><li><a shape="rect" 
href="version-notes-210.html">Version Notes 2.1.0</a></li></ul><h3 
id="MigrationGuide-ReleaseNotes2.0.x">Release Notes 2.0.x</h3><ul><li><a 
shape="rect" href="release-notes-2014.html">Release Notes 2.0.14</a></li><li><a 
shape="rect" href="release-notes-2013.html">Release Notes 2.0.13</a></li><li><a 
shape="rect" href="release-notes-2012.html">Release Notes 2.0.12</a></li><li><a 
shape="rect" href="release-notes-20112.html">Release Notes 
2.0.11.2</a></li><li><a shape="rect" href="release-notes-20111.html">Release 
Notes 2.0.11.1</a></li><li><a shape="rect" 
href="release-notes-2011.html">Release Notes 2.0.11</a></li><li><a shape="rect" 
href="release-notes-2010.html">Release Notes 2.0.10</a></li><li><a shape="rect" 
href="release-notes-209.html">Release Notes 2.0.9</a></li><li><a shape="rect" 
href="release-notes-208.html">Release Notes 2.0.8</a></li><li><a shape="rect" 
href="release-notes-207.html">Release Notes 2.0.7</a></li><li
 ><a shape="rect" href="release-notes-206.html">Release Notes 
 >2.0.6</a></li><li><a shape="rect" href="release-notes-205.html">Release Notes 
 >2.0.5</a></li><li><a shape="rect" href="release-notes-204.html">Release Notes 
 >2.0.4</a></li><li><a shape="rect" href="release-notes-203.html">Release Notes 
 >2.0.3</a></li><li><a shape="rect" href="release-notes-202.html">Release Notes 
 >2.0.2</a></li><li><a shape="rect" href="release-notes-201.html">Release Notes 
 >2.0.1</a></li><li><a shape="rect" href="release-notes-200.html">Release Notes 
 >2.0.0</a></li></ul><h3 id="MigrationGuide-Struts1toStruts2">Struts 1 to 
 >Struts 2</h3><div class="table-wrap"><table 
 >class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p><a shape="rect" 
 >href="comparing-struts-1-and-2.html">Comparing Struts 1 and 2</a></p></th><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>How are Struts 1 and Struts 2 
 >alike? How are they different?</p></td></tr><tr><th colspan="1" rowspan="1" 
 >class="confluence
 Th"><p><a shape="rect" href="struts-1-solutions.html">Struts 1 
Solutions</a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Various issues (and hopefully their solutions!) 
encountered during migrations to Struts 2.</p></td></tr><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p><a shape="rect" 
href="migration-strategies.html">Migration Strategies</a></p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Steps and overall strategies 
for migrating Struts 1 applications to Struts 2.</p></td></tr><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" 
href="migration-tools.html">Migration Tools</a></p></th><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Development tools to help aid the migration 
process.</p></td></tr></tbody></table></div><h4 
id="MigrationGuide-Tutorials">Tutorials</h4><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p><a shape="rect" class="external-link" hre
 f="http://www.infoq.com/news/migrating-struts2"; rel="nofollow">Migrating 
Applications to Struts 2 </a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>A three-part series by Ian Roughley (Sep 
2006)</p></td></tr></tbody></table></div><h4 
id="MigrationGuide-Roadmap">Roadmap</h4><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p><a shape="rect" class="external-link" 
href="http://struts.apache.org/roadmap.html#new";>Roadmap FAQ</a></p></th><td 
colspan="1" rowspan="1" class="confluenceTd"><p>What's in store for Struts 
2?</p></td></tr><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><a 
shape="rect" class="external-link" 
href="http://www.oreillynet.com/onjava/blog/2006/10/my_history_of_struts_2.html";
 rel="nofollow">A History of Struts 2</a></p></th><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Don Brown's summary of 
events</p></td></tr></tbody></table></div><h3 
id="MigrationGuide-Webwork2.2toStruts2"
 >Webwork 2.2 to Struts 2</h3><div class="table-wrap"><table 
 >class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p><a shape="rect" 
 >href="key-changes-from-webwork-2.html">Key Changes From WebWork 
 >2</a></p></th><td colspan="1" rowspan="1" class="confluenceTd"><p>What has 
 >been removed or changed from WebWork 2.2 to Struts 2</p></td></tr><tr><th 
 >colspan="1" rowspan="1" class="confluenceTh"><p><a shape="rect" 
 >href="webwork-2-migration-strategies.html">WebWork 2 Migration 
 >Strategies</a></p></th><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Steps and overall strategies for migrating WebWork 2 
 >applications to Struts 2.</p></td></tr></tbody></table></div><h2 
 >id="MigrationGuide-FAQs">FAQs</h2><ul><li><a shape="rect" 
 >href="where-do-we-get-the-latest-version-the-framework.html">Where do we get 
 >the latest version the framework</a>?</li><li><a shape="rect" 
 >href="what-are-some-of-the-frameworks-best-features.html">What are some of 
 >the framework's best features
 </a>?</li><li><a shape="rect" href="what-is-the-actioncontext.html">What is 
the ActionContext?</a></li></ul><h2 id="MigrationGuide-Next:">Next: <a 
shape="rect" href="contributors-guide.html">Contributors Guide</a></h2></div>
         </div>
 
                     <div class="tabletitle">


Reply via email to