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 <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 <code>/docs</code></li></ol><h3
id="BuildingStruts2-Normalrelease-UpdateDraftDocswhenneeded">Update Draft Docs
when needed</h3><p>Checkout <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 "Creating working dir $VERSION"
mkdir $VERSION
cd $VERSION
+
# get the distro
+echo "Getting distro $VERSION"
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 "Renaming files"
for f in *2-assembly*.zip*
do
mv $f `echo $f | sed s/2-assembly//g`
done
# remove unneeded files
+echo "Removing unneeded files"
for f in struts2-assembly-*.pom*
do
rm $f
done
# remove unneeded hashes
+echo "Removing unneeded files"
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 [email protected] 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 <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)"> Switch
to <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 "Pushing test version $VERSION"
+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 "Updates test release $VERSION"
+cd ..
+
+# cleaning up
+rm -r struts-dev
+
+echo "Done!"]]></script>
+</div></div><p>After this step artifacts are available for test here <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 [email protected] 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 <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)"> Switch to <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>
+ <a href="home.html">Home</a> > <a
href="guides.html">Guides</a> > <a
href="migration-guide.html">Migration Guide</a> > <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>
+
+ <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>
+
+ <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>
+
+ <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[<dependency>
+ <groupId>org.apache.struts</groupId>
+ <artifactId>struts2-core</artifactId>
+ <version>2.3.20</version>
+</dependency>
+]]></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[<repositories>
+ <repository>
+ <id>apache.nexus</id>
+ <name>ASF Nexus Staging</name>
+
<url>https://repository.apache.org/content/groups/staging/</url>
+ </repository>
+</repositories>]]></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, 2.3.16.2, 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)"> 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> or
read <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> removed
and properties are checked
in <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 <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)"> 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 <code>scheme</code>
attribute accepts expressions in <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 <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 <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 <code>org/apache/struts2/views/TagLibrary</code>
> was restored and marked as <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> </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> </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&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 <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 <code>/docs</code></li></ol><h3
id="BuildingStruts2-Normalrelease-UpdateDraftDocswhenneeded">Update Draft Docs
when needed</h3><p>Checkout <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 "Creating working dir $VERSION"
mkdir $VERSION
cd $VERSION
+
# get the distro
+echo "Getting distro $VERSION"
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 "Renaming files"
for f in *2-assembly*.zip*
do
mv $f `echo $f | sed s/2-assembly//g`
done
# remove unneeded files
+echo "Removing unneeded files"
for f in struts2-assembly-*.pom*
do
rm $f
done
# remove unneeded hashes
+echo "Removing unneeded files"
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 [email protected] 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 <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)"> Switch
to <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 "Pushing test version $VERSION"
+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 "Updates test release $VERSION"
+cd ..
+
+# cleaning up
+rm -r struts-dev
+
+echo "Done!"]]></script>
+</div></div><p>After this step artifacts are available for test here <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 [email protected] 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 <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)"> Switch to <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">