You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2015/08/25 09:18:22 UTC

svn commit: r963014 [4/7] - /websites/production/struts/content/docs/

Modified: websites/production/struts/content/docs/parameters-interceptor.html
==============================================================================
--- websites/production/struts/content/docs/parameters-interceptor.html (original)
+++ websites/production/struts/content/docs/parameters-interceptor.html Tue Aug 25 07:18:20 2015
@@ -138,34 +138,11 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
-
-<p>For more information on ways to restrict the parameter names allowed, see the ParameterNameAware javadocs:</p>
-
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
-
-<h2 id="ParametersInterceptor-Parameters">Parameters</h2>
-
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
-
-<h2 id="ParametersInterceptor-Excludingparameters">Excluding parameters</h2>
-<p>This interceptor can be forced to ignore parameters, by setting its <em>excludeParams</em> attribute. This attribute accepts a comma separated list of regular expressions. When any of these expressions match the name of a parameter, such parameter will be ignored by the interceptor. Interceptor stacks defined by Struts already exclude some parameters:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Default List of Parameters Excluded</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: html; gutter: false; theme: Default" style="font-size:12px;">
-
-dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,parameters\...*
-
+            <div id="ConfluenceContent"><p>This interceptor sets all parameters on the value stack.</p><p>This interceptor gets all parameters from {@link ActionContext#getParameters()} and sets them on the value stack by&#160;calling <code>ValueStack#setValue(String, Object)</code>, typically resulting in the values submitted in a form&#160;request being applied to an action in the value stack. Note that the parameter map must contain a String key and&#160;often containers a String[] for the value.</p><p>The interceptor takes one parameter named 'ordered'. When set to true action properties are guaranteed to be&#160;set top-down which means that top action's properties are set first. Then it's subcomponents properties are set.&#160;The reason for this order is to enable a 'factory' pattern. For example, let's assume that one has an action&#160;that contains a property named <code>modelClass</code>&#160;that allows to choose what is the underlying implementation of model.&#160;By as
 suring that <code>modelClass</code>&#160;property is set before any model properties are set, it's possible to choose model&#160;implementation during <code>action.setModelClass()</code>&#160;call. Similarly it's possible to use <code>action.setPrimaryKey()&#160;</code>property set call to actually load the model class from persistent storage. Without any assumption on parameter&#160;order you have to use patterns like <a shape="rect" href="preparable-interface.html">Preparable Interface</a>.</p><p>Because parameter names are effectively OGNL statements, it is important that security be taken in to account.&#160;This interceptor will not apply any values in the parameters map if the expression contains an assignment (=),&#160;multiple expressions (,), or references any objects in the context (#). This is all done in the <code>#acceptableName(String)</code>&#160;method. In addition to this method, if the action being invoked implements the&#160;<code>ParameterNameAware</code>&#160;in
 terface, the action will be consulted to determine if the parameter should be set.<br clear="none">In addition to these restrictions, a flag ( <code>ReflectionContextState#DENY_METHOD_EXECUTION</code>&#160;) is set such that&#160;no methods are allowed to be invoked. That means that any expression such as <code>person.doSomething()</code>&#160;or&#160;<code>person.getName()</code>&#160;will be explicitly forbidden. This is needed to make sure that your application is not&#160;exposed to attacks by malicious users.</p><p>While this interceptor is being invoked, a flag ( <code>ReflectionContextState#CREATE_NULL_OBJECTS</code>&#160;) is turned&#160;on to ensure that any null reference is automatically created - if possible. See the type conversion documentation&#160;and the <code>InstantiatingNullHandler</code>&#160;javadocs for more information.</p><p>Finally, a third flag ( <code>XWorkConverter#REPORT_CONVERSION_ERRORS</code>&#160;) is set that indicates any errors when&#160;converti
 ng the the values to their final data type (String[] -&amp;gt; int) an unrecoverable error occurred. With this&#160;flag set, the type conversion errors will be reported in the action context. See the type conversion documentation&#160;and the <code>XWorkConverter</code>&#160;javadocs for more information.<br clear="none"><br clear="none">If you are looking for detailed logging information about your parameters, turn on <code>DEBUG</code>&#160;level logging for this&#160;interceptor. A detailed log of all the parameter keys and values will be reported.<br clear="none"><br clear="none"></p><div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Since XWork 2.0.2, this interceptor extends <code>MethodFilterInterceptor</code>, therefore being able to deal with <code>excludeMethods</code> / <code>includeMethods</code> p
 arameters. See <a shape="rect" href="default-workflow-interceptor.html">Default Workflow Interceptor</a> for documentation and examples on how to use this feature.</p></div></div><p>For more information on ways to restrict the parameter names allowed, see the <code>ParameterNameAware</code>&#160;javadocs.</p><h2 id="ParametersInterceptor-Parameters">Parameters</h2><ul style="list-style-type: square;"><li><code>ordered</code>&#160;- set to true if you want the top-down property setter behaviour</li><li><code>acceptParamNames</code>&#160;- a comma delimited list of regular expressions to describe a whitelist of accepted parameter names.&#160;Don't change the default unless you know what you are doing in terms of security implications</li><li><code>excludeParams</code>&#160;- a comma delimited list of regular expressions to describe a blacklist of not allowed parameter names</li><li><code>paramNameMaxLength</code>&#160;- the maximum length of parameter names; parameters with longer nam
 es will be ignored; the default is 100 characters</li></ul><h2 id="ParametersInterceptor-Excludingparameters">Excluding parameters</h2><p>This interceptor can be forced to ignore parameters, by setting its <em>excludeParams</em> attribute. This attribute accepts a comma separated list of regular expressions. When any of these expressions match the name of a parameter, such parameter will be ignored by the interceptor. Interceptor stacks defined by Struts already exclude some parameters:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Default List of Parameters Excluded</b></div><div class="codeContent panelContent pdl">
+<pre class="brush: html; gutter: false; theme: Default" style="font-size:12px;">dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,parameters\...*
 </pre>
-</div></div>
-
-<p>Below is an example of adding a parameter named submit to the list of parameters that should be excluded.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Setup Interceptor Stack To Exclude submit Parameter</b></div><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
-
-
-&lt;interceptors&gt;
+</div></div><p>Below is an example of adding a parameter named submit to the list of parameters that should be excluded.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Setup Interceptor Stack To Exclude submit Parameter</b></div><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;interceptors&gt;
   &lt;interceptor-stack name="appDefault"&gt;
     &lt;interceptor-ref name="defaultStack"&gt;
        &lt;param name="exception.logEnabled"&gt;true&lt;/param&gt;
@@ -176,22 +153,8 @@ dojo\..*,^struts\..*,^session\..*,^reque
 &lt;/interceptors&gt;
 		
 &lt;default-interceptor-ref name="appDefault" /&gt;
-
 </pre>
-</div></div>
-
-<h2 id="ParametersInterceptor-ExtendingtheInterceptor">Extending the Interceptor</h2>
-
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
-
-<div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body">
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div></div></div>
-
-<h2 id="ParametersInterceptor-Warningonmissingparameters">Warning on missing parameters</h2>
-
-<p>When there is no setter for given parameter name, a warning message like below will be logged in devMode:</p>
-
-<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+</div></div><h2 id="ParametersInterceptor-ExtendingtheInterceptor">Extending the Interceptor</h2><p>The best way to add behavior to this interceptor is to utilize the <code>ParameterNameAware</code>&#160;interface in your&#160;actions. However, if you wish to apply a global rule that isn't implemented in your action, then you could extend&#160;this interceptor and override the <code>#acceptableName(String)</code>&#160;method.</p><div class="confluence-information-macro confluence-information-macro-warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Using <code>ParameterNameAware</code> could be dangerous as <code>ParameterNameAware#acceptableParameterName(String)</code> takes precedence over <code>ParametersInterceptor</code> which means if <code>ParametersInterceptor</code> excluded given parameter name you can accept it with <code>ParameterNameAware#acceptableParameterName(Stri
 ng)</code>.</p><p>The best idea is to define very tight restrictions with <code>ParametersInterceptor</code> and relax them per action with <code>ParameterNameAware#acceptableParameterName(String)</code></p></div></div><h2 id="ParametersInterceptor-Warningonmissingparameters">Warning on missing parameters</h2><p>When there is no setter for given parameter name, a warning message like below will be logged in devMode:</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
 <pre>SEVERE: Developer Notification (set struts.devMode to false to disable this message):
 Unexpected Exception caught setting 'search' on 'class demo.ItemSearchAction: Error setting expression 'search' with value ['search', ]
 Error setting expression 'search' with value ['search', ] - [unknown location]
@@ -199,13 +162,12 @@ Error setting expression 'search' with v
 	at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:178)
 	at com.opensymphony.xwork2.ognl.OgnlValueStack.setParameter(OgnlValueStack.java:152)
 </pre>
-</div></div>
-
-<p>Thus is expected behaviour to allow developer to spot missing setter or typo in either parameter name or setter.</p>
-
-<h2 id="ParametersInterceptor-Examples">Examples</h2>
-
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div></div>
+</div></div><p>Thus is expected behaviour to allow developer to spot missing setter or typo in either parameter name or setter.</p><h2 id="ParametersInterceptor-Examples">Examples</h2><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">&lt;action name="someAction" class="com.examples.SomeAction"&gt;
+  &lt;interceptor-ref name="params"/&gt;
+  &lt;result name="success"&gt;good_result.ftl&lt;/result&gt;
+&lt;/action&gt;</pre>
+</div></div></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/portlet-configuration.html
==============================================================================
--- websites/production/struts/content/docs/portlet-configuration.html (original)
+++ websites/production/struts/content/docs/portlet-configuration.html Tue Aug 25 07:18:20 2015
@@ -125,7 +125,7 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><p>Content moved <a shape="rect" href="https://cwiki.apache.org/confluence/display/S2PLUGINS/Portlet+Plugin">here</a></p></div>
+            <div id="ConfluenceContent"><p>Content moved <a shape="rect" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=73891">here</a></p></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/prepare-interceptor.html
==============================================================================
--- websites/production/struts/content/docs/prepare-interceptor.html (original)
+++ websites/production/struts/content/docs/prepare-interceptor.html Tue Aug 25 07:18:20 2015
@@ -138,20 +138,68 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+            <div id="ConfluenceContent">
+<p>This interceptor calls <code>prepare()</code> on actions which implement
+Preparable. This interceptor is very useful for any situation where
+you need to ensure some logic runs before the actual execute method runs.</p>
+
+<p></p><p>
+A typical use of this is to run some logic to load an object from the
+database so that when parameters are set they can be set on this object. For
+example, suppose you have a User object with two properties: <i>id</i> and
+<i>name</i>. Provided that the params interceptor is called twice (once
+before and once after this interceptor), you can load the User object using
+the id property, and then when the second params interceptor is called the
+parameter <i>user.name</i> will be set, as desired, on the actual object
+loaded from the database. See the example for more info.
+</p>
+<p>
+<b>Note:</b> Since XWork 2.0.2, this interceptor extends MethodFilterInterceptor, therefore being
+able to deal with excludeMethods / includeMethods parameters. See [Workflow Interceptor]
+(class DefaultWorkflowInterceptor) for documentation and examples on how to use this feature.
+</p>
+
+<p></p><p>
+<b>Update</b>: Added logic to execute a prepare{MethodName} and conditionally
+the a general prepare() Method, depending on the 'alwaysInvokePrepare' parameter/property
+which is by default true. This allows us to run some logic based on the method
+name we specify in the com.opensymphony.xwork2.ActionProxy. For example, you can specify a
+prepareInput() method that will be run before the invocation of the input method.
+</p>
+
+
+<p><b>In PrepareInterceptor</b>
+</p><p>Applies only when action implements Preparable</p>
+<ol><li>if the action class have prepare{MethodName}(), it will be invoked</li><li>else if the action class have prepareDo(MethodName()}(), it will be invoked</li><li>no matter if 1] or 2] is performed, if alwaysinvokePrepare property of the interceptor is "true" (which is by default "true"), prepare() will be invoked.</li></ol>
+
 
 <h2 id="PrepareInterceptor-Parameters">Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+
+<p></p><ul></ul><p></p><ul><li>alwaysInvokePrepare - Default to true. If true, prepare will always be invoked,
+otherwise it will not.</li></ul><p></p>
+
 
 <h2 id="PrepareInterceptor-ExtendingtheInterceptor">Extending the Interceptor</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+
+<p>There are no known extension points to this interceptor.</p>
+
 
 <h2 id="PrepareInterceptor-Examples">Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div></div>
+<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
+&lt;!-- Calls the params interceptor twice, allowing you to
+      pre-load data for the second time parameters are set --&gt;
+ &lt;action name=&quot;someAction&quot; class=&quot;com.examples.SomeAction&quot;&gt;
+     &lt;interceptor-ref name=&quot;params&quot;/&gt;
+     &lt;interceptor-ref name=&quot;prepare&quot;/&gt;
+     &lt;interceptor-ref name=&quot;basicStack&quot;/&gt;
+     &lt;result name=&quot;success&quot;&gt;good_result.ftl&lt;/result&gt;
+ &lt;/action&gt;
+]]></script>
+</div></div></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/profiling.html
==============================================================================
--- websites/production/struts/content/docs/profiling.html (original)
+++ websites/production/struts/content/docs/profiling.html Tue Aug 25 07:18:20 2015
@@ -142,7 +142,24 @@ under the License.
 
 
 <h2 id="Profiling-Profilingaspects">Profiling aspects </h2>
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+<p></p><p>
+Struts2 profiling aspects involves the following:
+</p>
+
+<p></p><ul><li>ActionContextCleanUp</li><li>FreemarkerPageFilter</li><li>DispatcherFilter
+     <ul><li>Dispatcher
+             <ul><li>creation of DefaultActionProxy
+                     <ul><li>creation of DefaultActionInvocation
+                             <ul><li>creation of Action</li></ul>
+                         </li></ul>
+                 </li><li>execution of DefaultActionProxy
+                     <ul><li>invocation of DefaultActionInvocation
+                             <ul><li>invocation of Interceptors</li><li>invocation of Action</li><li>invocation of PreResultListener</li><li>invocation of Result</li></ul>
+                         </li></ul>
+                 </li></ul>
+         </li></ul>
+ </li></ul>
+
 
 <h2 id="Profiling-Using">Using</h2>
 <p>To enable profiling, first make sure that the <code>profiling</code> interceptor is applied to your action, like:</p>
@@ -161,12 +178,31 @@ under the License.
 <p>Then enable profiling using one of the following methods:</p>
 
 <h3 id="Profiling-ActivateThroughSystemproperty">Activate Through System property</h3>
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
+
+ -Dxwork.profile.activate=true
+
+]]></script>
+</div></div>
+<p></p><p>
+This could be done in the container startup script eg. CATALINA_OPTS in catalina.sh
+(tomcat) or using 'java -Dxwork.profile.activate=true -jar start.jar' (jetty)
+</p>
 
 <h3 id="Profiling-ActivateThroughcode">Activate Through code</h3>
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
+
+ UtilTimerStack.setActivate(true);
+
+]]></script>
+</div></div>
+<p></p><p>
+This could be done in a static block, in a Spring bean with lazy-init='false',
+in a Servlet with init-on-startup as some numeric value, in a Filter or
+Listener's init method etc.
+</p>
 
 <h3 id="Profiling-ActivateThroughparameter">Activate Through parameter</h3>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">

Modified: websites/production/struts/content/docs/regex-validator.html
==============================================================================
--- websites/production/struts/content/docs/regex-validator.html (original)
+++ websites/production/struts/content/docs/regex-validator.html Tue Aug 25 07:18:20 2015
@@ -139,16 +139,48 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><h1 id="regexvalidator-Description">Description</h1>
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+<p>Validates a string field using a regular expression.</p>
 
 <h1 id="regexvalidator-Parameters">Parameters</h1>
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+<p></p><ul><li>fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required</li><li>regexp - The RegExp expression</li><li>caseSensitive - Boolean (Optional). Sets whether the expression should be matched against in a case-sensitive way. Default is <code>true</code>.</li><li>trim - Boolean (Optional). Sets whether the expression should be trimmed before matching. Default is <code>true</code>.</li><li>regexExpression - String (Optional). Defines regExp expression as an OGNL expression - will be evaluated to String</li><li>caseSensitiveExpression - String (Optional). Defines caseSensitive param as an OGNL expression - will be evaluated to Boolean.</li><li>trimExpression - String (Optional). Defines trim param as an OGNL expression - will be evaluated to Boolean</li></ul>
+
+<p></p><p>
+You can mix normal params with expression aware params but thus was not tested
+</p>
 
 <div class="confluence-information-macro confluence-information-macro-warning"><p class="title">Warning</p><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body">
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div></div></div>
+<p></p><p>
+Do not use ${regexExpression}, ${caseSensitiveExpression} and ${trimExpression} as an expression as this will turn into infinitive loop!
+</p></div></div>
 
 <h1 id="regexvalidator-Examples">Examples</h1>
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div></div>
+<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
+&lt;validators&gt;
+    &lt;!-- Plain Validator Syntax --&gt;
+    &lt;validator type=&quot;regex&quot;&gt;
+        &lt;param name=&quot;fieldName&quot;&gt;myStrangePostcode&lt;/param&gt;
+        &lt;param name=&quot;regex&quot;&gt;&lt;![CDATA[([aAbBcCdD][123][eEfFgG][456])]]&gt;&lt;/param&gt;
+    &lt;/validator&gt;
+
+    &lt;!-- Field Validator Syntax --&gt;
+    &lt;field name=&quot;myStrangePostcode&quot;&gt;
+        &lt;field-validator type=&quot;regex&quot;&gt;
+            &lt;param name=&quot;regex&quot;&gt;&lt;![CDATA[([aAbBcCdD][123][eEfFgG][456])]]&gt;&lt;/param&gt;
+        &lt;/field-validator&gt;
+    &lt;/field&gt;
+
+    &lt;!-- Field Validator Syntax with expressions --&gt;
+    &lt;field name=&quot;myStrangePostcode&quot;&gt;
+        &lt;field-validator type=&quot;regex&quot;&gt;
+            &lt;param name=&quot;regexExpression&quot;&gt;${regexValue}&lt;/param&gt; &lt;!-- will be evaluated as: String getRegexValue() --&gt;
+            &lt;param name=&quot;caseSensitiveExpression&quot;&gt;${caseSensitiveValue}&lt;/param&gt; &lt;!-- will be evaluated as: boolean getCaseSensitiveValue() --&gt;
+            &lt;param name=&quot;trimExpression&quot;&gt;${trimValue}&lt;/param&gt; &lt;!-- will be evaluated as: boolean getTrimValue() --&gt;
+        &lt;/field-validator&gt;
+    &lt;/field&gt;
+&lt;/validators&gt;
+]]></script>
+</div></div></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/regexfieldvalidator-annotation.html
==============================================================================
--- websites/production/struts/content/docs/regexfieldvalidator-annotation.html (original)
+++ websites/production/struts/content/docs/regexfieldvalidator-annotation.html Tue Aug 25 07:18:20 2015
@@ -138,19 +138,23 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+            <div id="ConfluenceContent"><p>Validates a string field using a regular expression.</p>
 
 <h2 id="RegexFieldValidatorAnnotation-Usage">Usage</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+<p></p><p>The annotation must be applied at method level.</p>
 
 <h2 id="RegexFieldValidatorAnnotation-Parameters">Parameters</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+<p><table class="confluenceTable" summary=""><tr><th colspan="1" rowspan="1" class="confluenceTh"> Parameter </th><th colspan="1" rowspan="1" class="confluenceTh"> Required </th><th colspan="1" rowspan="1" class="confluenceTh"> Default </th><th colspan="1" rowspan="1" class="confluenceTh"> Notes </th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">message</td><td colspan="1" rowspan="1" class="confluenceTd">yes</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">field error message</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">key</td><td colspan="1" rowspan="1" class="confluenceTd">no</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">i18n key from language specific properties file.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">messageParams</td><td colspan="1" rowspan="1" class="confluenceTd">no</td><td colspan="1" row
 span="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Additional params to be used to customize message - will be evaluated against the Value Stack</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">fieldName</td><td colspan="1" rowspan="1" class="confluenceTd">no</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">shortCircuit</td><td colspan="1" rowspan="1" class="confluenceTd">no</td><td colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" class="confluenceTd">If this validator should be used as shortCircuit.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">type</td><td colspan="1" rowspan="1" class="confluenceTd">yes</td><td colspan="1" rowspan="1" class="confluenceTd">ValidatorType.FIELD</td><td colspan="1" rowspan="1" class="confluenceTd">Enum value from Valida
 torType. Either FIELD or SIMPLE can be used here.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">regex</td><td colspan="1" rowspan="1" class="confluenceTd">yes</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">The regex to validate the field value against.</td></tr></table></p>
 
 <h2 id="RegexFieldValidatorAnnotation-Examples">Examples</h2>
 
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div></div>
+<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
+@RegexFieldValidator( key = &quot;regex.field&quot;, regex = &quot;yourregexp&quot;)
+]]></script>
+</div></div></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/release-notes-201.html
==============================================================================
--- websites/production/struts/content/docs/release-notes-201.html (original)
+++ websites/production/struts/content/docs/release-notes-201.html Tue Aug 25 07:18:20 2015
@@ -132,7 +132,7 @@ under the License.
 
 <h2 id="ReleaseNotes2.0.1-Backwardcompatibilityissueswithpriordevelopmentrelease">Backward compatibility issues with prior development release </h2>
 
-<p><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)"> Remove <code>&lt;include file="struts-default.xml"/&gt;</code> from <code>struts.xml</code></p>
+<p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> Remove <code>&lt;include file="struts-default.xml"/&gt;</code> from <code>struts.xml</code></p>
 <ul><li>The <code>struts-default.xml</code> is now automatically included with all configuration blocks.</li></ul>
 
 

Modified: websites/production/struts/content/docs/release-notes-2011.html
==============================================================================
--- websites/production/struts/content/docs/release-notes-2011.html (original)
+++ websites/production/struts/content/docs/release-notes-2011.html Tue Aug 25 07:18:20 2015
@@ -125,11 +125,11 @@ under the License.
 
     <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.0.11 distribution.</p>
+            <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 2.0.11 distribution.</p>
 
-<p><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)"> Struts 2.0.10 corrected a serious security flaw in the Struts 2 tags where using JSP EL expressions could allow malicious OGNL expressions through. All users are encouraged to upgrade to Struts 2.0.11. Note that existing pages that utilize JSP EL expressions with Struts 2 tags will no longer work as of this release.</p>
+<p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> Struts 2.0.10 corrected a serious security flaw in the Struts 2 tags where using JSP EL expressions could allow malicious OGNL expressions through. All users are encouraged to upgrade to Struts 2.0.11. Note that existing pages that utilize JSP EL expressions with Struts 2 tags will no longer work as of this release.</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="release-notes-2010.html">Release Notes 2.0.10</a></p>
+<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> For prior notes in this release series, see <a shape="rect" href="release-notes-2010.html">Release Notes 2.0.10</a></p>
 
 <h2 id="ReleaseNotes2.0.11-APIchanges">API changes</h2>
 
@@ -138,7 +138,7 @@ under the License.
 
 <h2 id="ReleaseNotes2.0.11-ExperimentalFeaturesandPlugins">Experimental Features and Plugins</h2>
 
-<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)"> Please help us test these brave new features. Feedback appreciated!</p>
+<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> Please help us test these brave new features. Feedback appreciated!</p>
 <ul><li>Java 1.4 support: We are backporting the core Struts and XWork JARs, and, as a courtesy, bundling them with the distribution. However, Struts 2 is being coded for Java 5 and backward compatibility is not assured.</li><li><a shape="rect" href="cookie-interceptor.html">Cookie Interceptor</a>: Inject cookie with a certain configurable name / value into action (since 2.0.7) (<a shape="rect" class="unresolved" href="#">WW-1678</a>).</li><li><a shape="rect" href="portlet-tutorial-webwork-22.html">Portlets</a>: Automatic portlet support allows portal and servlet deployments with no code changes (<a shape="rect" class="unresolved" href="#">WW-1645</a>).</li><li><a shape="rect" href="ajax-theme.html">AJAX Theme</a>:  AJAX tags look and feel just like standard Struts tags but provide greater interactivity and flexibility. The AJAX theme is backed by the popular Dojo Toolkit (<a shape="rect" class="unresolved" href="#">WW-1609</a>).</li><li><a shape="rect" href="zero-configuration.html
 ">Zero Configuration</a>: Optionally, eliminate or reduce XML configuration with convention and annotation (<a shape="rect" class="unresolved" href="#">WW-1491</a>).</li><li><a shape="rect" href="restfulactionmapper.html">REST-ful URLs</a>: Use search-engine friendly URLs, like category/action/movie/Thrillers (<a shape="rect" class="unresolved" href="#">WW-1475</a>).</li><li>Experimental Plugins
 	<ul><li><a shape="rect" class="external-link" href="http://cwiki.apache.org/S2PLUGINS/codebehind-plugin.html">Codebehind Plugin</a>: Reduce mundane configuration by using "page controller" conventions (<a shape="rect" class="unresolved" href="#">WW-1515</a>).</li><li><a shape="rect" class="external-link" href="http://cwiki.apache.org/S2PLUGINS/plexus-plugin.html">Plexus Plugin</a> - A new plugin that enables Struts Actions, Interceptors, and Results to be created and injected by Plexus.</li><li><a shape="rect" class="external-link" href="http://cwiki.apache.org/S2PLUGINS/scope-plugin.html">Scope Plugin</a> - Initial version of scope plugin that mimics JBoss Seam-style of scoped bijection (presently in the Sandbox).</li><li><a shape="rect" class="external-link" href="http://cwiki.apache.org/S2PLUGINS/struts-1-plugin.html">Struts1 Plugin</a> - A new plugin that allows you to use existing Struts 1 Actions and ActionForms in Struts 2 applications..</li><li><a shape="rect" class="extern
 al-link" href="http://cwiki.apache.org/S2PLUGINS/tiles-plugin.html">Tiles Plugin</a> -  A new plugin allows your Struts actions to return Tiles pages. The Tiles plugin is dependant on Tiles 2, which is still in beta.</li></ul>
 	</li></ul>

Modified: websites/production/struts/content/docs/release-notes-20111.html
==============================================================================
--- websites/production/struts/content/docs/release-notes-20111.html (original)
+++ websites/production/struts/content/docs/release-notes-20111.html Tue Aug 25 07:18:20 2015
@@ -125,11 +125,11 @@ under the License.
 
     <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.0.11.1 distribution.</p>
+            <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 2.0.11.1 distribution.</p>
 
-<p><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)"> Struts 2.0.11.1 corrected two serious security flaws in the Struts 2 &lt;s:url&gt; and &lt;s:a&gt; tags where a missing URL encoding handling for &lt;script&gt; HTML tag can lead to a reflected XSS (cross site scripting) exploit. All users are strongly encouraged to upgrade to Struts 2.0.11.1.</p>
+<p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> Struts 2.0.11.1 corrected two serious security flaws in the Struts 2 &lt;s:url&gt; and &lt;s:a&gt; tags where a missing URL encoding handling for &lt;script&gt; HTML tag can lead to a reflected XSS (cross site scripting) exploit. All users are strongly encouraged to upgrade to Struts 2.0.11.1.</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="release-notes-2011.html">Release Notes 2.0.11</a></p>
+<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> For prior notes in this release series, see <a shape="rect" href="release-notes-2011.html">Release Notes 2.0.11</a></p>
 
 <h2 id="ReleaseNotes2.0.11.1-Changelog">Changelog</h2>
 

Modified: websites/production/struts/content/docs/release-notes-20112.html
==============================================================================
--- websites/production/struts/content/docs/release-notes-20112.html (original)
+++ websites/production/struts/content/docs/release-notes-20112.html Tue Aug 25 07:18:20 2015
@@ -125,11 +125,11 @@ under the License.
 
     <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.0.11.2 distribution.</p>
+            <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 2.0.11.2 distribution.</p>
 
-<p><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)"> Struts 2.0.11.2 comes with a security fixed version 2.0.5 of XWork, which corrects a serious vulnerability in ParametersInterceptor allowing malicious users to remotely change server side context objects. All users are strongly encouraged to upgrade to Struts 2.0.11.2.</p>
+<p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> Struts 2.0.11.2 comes with a security fixed version 2.0.5 of XWork, which corrects a serious vulnerability in ParametersInterceptor allowing malicious users to remotely change server side context objects. All users are strongly encouraged to upgrade to Struts 2.0.11.2.</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="release-notes-20111.html">Release Notes 2.0.11.1</a></p>
+<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> For prior notes in this release series, see <a shape="rect" href="release-notes-20111.html">Release Notes 2.0.11.1</a></p>
 
 <h2 id="ReleaseNotes2.0.11.2-Changelog">Changelog</h2>
 

Modified: websites/production/struts/content/docs/release-notes-2012.html
==============================================================================
--- websites/production/struts/content/docs/release-notes-2012.html (original)
+++ websites/production/struts/content/docs/release-notes-2012.html Tue Aug 25 07:18:20 2015
@@ -125,15 +125,15 @@ under the License.
 
     <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.0.12 distribution.</p>
+            <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 2.0.12 distribution.</p>
 
-<p><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)"> Struts 2.0.12 provides important security and bug fixes. Among others, it corrects two serious vulnerabilities:</p>
+<p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> Struts 2.0.12 provides important security and bug fixes. Among others, it corrects two serious vulnerabilities:</p>
 <ul><li>in ParametersInterceptor allowing malicious users to remotely change server side context objects - <a shape="rect" href="s2-003.html">S2-003</a></li><li>in FilterDispatcher allowing read access to server filesystem resources in certain application server environments - <a shape="rect" href="s2-004.html">S2-004</a></li></ul>
 
 
 <p>All users are strongly encouraged to upgrade to Struts 2.0.12.</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="release-notes-20112.html">Release Notes 2.0.11.2</a></p>
+<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> For prior notes in this release series, see <a shape="rect" href="release-notes-20112.html">Release Notes 2.0.11.2</a></p>
 
 <h2 id="ReleaseNotes2.0.12-Changelog">Changelog</h2>
 

Modified: websites/production/struts/content/docs/release-notes-2013.html
==============================================================================
--- websites/production/struts/content/docs/release-notes-2013.html (original)
+++ websites/production/struts/content/docs/release-notes-2013.html Tue Aug 25 07:18:20 2015
@@ -125,13 +125,13 @@ under the License.
 
     <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.0.13 distribution.</p>
+            <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 2.0.13 distribution.</p>
 
-<p><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)"> Struts 2.0.13 is a bugfix release for version 2.0.12, which, among others, provided important security fixes for the vulnerabilities described in <a shape="rect" href="s2-003.html">S2-003</a> and <a shape="rect" href="s2-004.html">S2-004</a>. Struts 2.0.13 fixes a bug introduced with the fix for <a shape="rect" href="s2-004.html">S2-004</a>, keeping the FilterDispatcher from serving built in static resources.</p>
+<p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> Struts 2.0.13 is a bugfix release for version 2.0.12, which, among others, provided important security fixes for the vulnerabilities described in <a shape="rect" href="s2-003.html">S2-003</a> and <a shape="rect" href="s2-004.html">S2-004</a>. Struts 2.0.13 fixes a bug introduced with the fix for <a shape="rect" href="s2-004.html">S2-004</a>, keeping the FilterDispatcher from serving built in static resources.</p>
 
 <p>All users are strongly encouraged to upgrade to Struts 2.0.13.</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="release-notes-2012.html">Release Notes 2.0.12</a></p>
+<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> For prior notes in this release series, see <a shape="rect" href="release-notes-2012.html">Release Notes 2.0.12</a></p>
 
 <h2 id="ReleaseNotes2.0.13-Changelog">Changelog</h2>
 

Modified: websites/production/struts/content/docs/release-notes-2014.html
==============================================================================
--- websites/production/struts/content/docs/release-notes-2014.html (original)
+++ websites/production/struts/content/docs/release-notes-2014.html Tue Aug 25 07:18:20 2015
@@ -125,14 +125,14 @@ under the License.
 
     <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.0.14 distribution.</p>
+            <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 2.0.14 distribution.</p>
 
-<p><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)"> Struts 2.0.14 is a bugfix release for version 2.0.12, which, among others, provided important security fixes for the vulnerabilities described in <a shape="rect" href="s2-003.html">S2-003</a> and <a shape="rect" href="s2-004.html">S2-004</a>.<br clear="none">
+<p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> Struts 2.0.14 is a bugfix release for version 2.0.12, which, among others, provided important security fixes for the vulnerabilities described in <a shape="rect" href="s2-003.html">S2-003</a> and <a shape="rect" href="s2-004.html">S2-004</a>.<br clear="none">
 Struts 2.0.14 fixes two bugs introduced with the fixes for <a shape="rect" href="s2-003.html">S2-003</a> and <a shape="rect" href="s2-004.html">S2-004</a>, keeping the FilterDispatcher from serving built in static resources, and keeping conversion error messages from being displayed.</p>
 
 <p>All users are strongly encouraged to upgrade to Struts 2.0.14.</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="release-notes-2013.html">Release Notes 2.0.13</a></p>
+<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> For prior notes in this release series, see <a shape="rect" href="release-notes-2013.html">Release Notes 2.0.13</a></p>
 
 <h2 id="ReleaseNotes2.0.14-Changelog">Changelog</h2>
 

Modified: websites/production/struts/content/docs/release-plan-200.html
==============================================================================
--- websites/production/struts/content/docs/release-plan-200.html (original)
+++ websites/production/struts/content/docs/release-plan-200.html Tue Aug 25 07:18:20 2015
@@ -128,20 +128,20 @@ under the License.
             <div id="ConfluenceContent"><ul><li>Struts 2.0.0 is preparing a "early adopter" build.</li><li>Codebase seems feature-complete.</li><li>Documentation issues remain.</li><li>Example issues remain.</li><li>Assembly/distribution issues remain.</li></ul>
 
 
-<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 resolved issues, see <a shape="rect" class="external-link" href="https://issues.apache.org/struts/secure/IssueNavigator.jspa?mode=hide&amp;requestId=10680">Struts 2.0.0 DONE</a> in the issue tracker. </p>
+<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> For resolved issues, see <a shape="rect" class="external-link" href="https://issues.apache.org/struts/secure/IssueNavigator.jspa?mode=hide&amp;requestId=10680">Struts 2.0.0 DONE</a> in the issue tracker. </p>
 
-<p><img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"> For pending issues (if any) see <a shape="rect" class="external-link" href="https://issues.apache.org/struts/secure/IssueNavigator.jspa?mode=hide&amp;requestId=10681">Struts 2.0.0 TODO</a> in the issue tracker. </p>
+<p><img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"> For pending issues (if any) see <a shape="rect" class="external-link" href="https://issues.apache.org/struts/secure/IssueNavigator.jspa?mode=hide&amp;requestId=10681">Struts 2.0.0 TODO</a> in the issue tracker. </p>
 
-<p><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)"> For known issues, see <a shape="rect" class="external-link" href="https://issues.apache.org/struts/secure/IssueNavigator.jspa?mode=hide&amp;requestId=10682">Struts 2.0.1 TODO</a></p>
+<p><img class="emoticon emoticon-warning" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/warning.png" data-emoticon-name="warning" alt="(warning)"> For known issues, see <a shape="rect" class="external-link" href="https://issues.apache.org/struts/secure/IssueNavigator.jspa?mode=hide&amp;requestId=10682">Struts 2.0.1 TODO</a></p>
 
 <h2 id="ReleasePlan2.0.0-OverallStatus">Overall Status</h2>
 
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Initial rename of packages and configuration files </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><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)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Pass Web``Work2 codebase through the Incubator </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><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)"> </p
 ></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://issues.apache.org/struts/browse/SITE-3">Setup Nightly Builds</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Pending </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Update WW2 documentation for Struts 2</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/image
 s/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Utilize Cookbook format for Showcase and add Struts-Examples use cases</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p>&#160;</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-light-off" src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/lightbulb.png" data-emoticon-name="light-off" alt="(grey lightbulb)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Remove deprecated members (IoC components)</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/conf
 luence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Deprecate selected legacy API members (e.g. Around``Interceptor, "do" clause)</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><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)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Update Javadoc to match new package and configuration naming</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="co
 nfluenceTh"><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)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Implement selected new features and Struts 1 features (infra) </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><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)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Add Struts 1 and WW2 Migration Guides</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Initial draft added </p></th><th colspan="1" rowspan="1"
  class="confluenceTh"><p> <img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Develop routine for exporting wiki to HTML/PDF</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><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)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Develop Maven assembly to create distribution</a> </p></td><th colspan="1" rowspan="1" class="con
 fluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><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)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Second documentation review </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete</p></th><th colspan="1" rowspan="1" class="confluenceTh"><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)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Complete standard release plan </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><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)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>Struts 2.0.0 is intended as a "development" distribution only</em> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr></tbody></table></div>
+<div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Initial rename of packages and configuration files </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Pass Web``Work2 codebase through the Incubator </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td col
 span="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="external-link" href="http://issues.apache.org/struts/browse/SITE-3">Setup Nightly Builds</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Pending </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Update WW2 documentation for Struts 2</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-n
 ame="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Utilize Cookbook format for Showcase and add Struts-Examples use cases</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p>&#160;</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-light-off" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb.png" data-emoticon-name="light-off" alt="(grey lightbulb)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Remove deprecated members (IoC components)</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae186
 46be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Deprecate selected legacy API members (e.g. Around``Interceptor, "do" clause)</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Update Javadoc to match new package and configuration naming</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache
 .org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Implement selected new features and Struts 1 features (infra) </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Add Struts 1 and WW2 Migration Guides</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Initial draft added </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-light-on" src="https://cwiki.apache.org/con
 fluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb_on.png" data-emoticon-name="light-on" alt="(lightbulb)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Develop routine for exporting wiki to HTML/PDF</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <a shape="rect" class="unresolved" href="#">Develop Maven assembly to create distribution</a> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick"
  src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Second documentation review </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Complete standard release plan </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/
 emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>Struts 2.0.0 is intended as a "development" distribution only</em> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr></tbody></table></div>
 
 
 <h2 id="ReleasePlan2.0.0-DocumentationStatus">Documentation Status</h2>
 
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Step 1 - Setup new Confluence instance </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><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)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Step 2 - Initial pass to update nomenclature and remove obsolete material </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><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" al
 t="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Step 3 - Update "snippets" to reference ASF repository </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><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)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Step 4 - Complete tutorials and other "TODO" sections </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><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)"> </p></th></tr></tbody></tabl
 e></div>
+<div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Step 1 - Setup new Confluence instance </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Step 2 - Initial pass to update nomenclature and remove obsolete material </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th><
 /tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Step 3 - Update "snippets" to reference ASF repository </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> Step 4 - Complete tutorials and other "TODO" sections </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> Complete </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> </p></th></tr></tbody></table></div>
 
 
 <h2 id="ReleasePlan2.0.0-AdditionalBackground">Additional Background</h2>
@@ -217,7 +217,7 @@ under the License.
 
 <h3 id="ReleasePlan2.0.0-TestingSummary">Testing Summary </h3>
 
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> # </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Completed </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 1. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Run Unit Test targets </p></td><td colspan="1" rowspan="1" class="confluenceTd"><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)"> Done </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 2. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Play test bundled applications </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> ${STATUS} </p></td></tr></tbody></table></div>
+<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> # </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Completed </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 1. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Run Unit Test targets </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> Done </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> 2. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Play test bundled applications </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> ${STATUS} </p></td></tr></tbody></table></div>
 
 
 <p>TODO: A Silenium test suite for the applications would be great!</p>
@@ -226,7 +226,7 @@ under the License.
 
 <p>See also <a shape="rect" class="createlink" href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=Creating+and+Signing+Releases&amp;linkCreation=true&amp;fromPageId=19602">Creating and Signing Releases</a></p>
 
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> # </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Completed </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A1. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Setup new JIRA version level or update release on Roadmap </p></td><th colspan="1" rowspan="1" class="confluenceTh"><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)"> Done </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A2. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Tag release in svn: ${STRUTS_2_0_0} </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="e
 moticon 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)"> Done (r447072) </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A3. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Update POM version level and run Distribution Target </p></td><th colspan="1" rowspan="1" class="confluenceTh"><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)"> Done </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A4. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Create Sums and Sign Distributions </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.or
 g/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> Done </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A5. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Upload Distribution to <code>people.apache.org/builds/struts/2.0.0/</code> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><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)"> Done </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A6. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Deploy JAR to Apache Java-Repository </p></td><th colspan="1" rowspan="1" class="confluenceTh"><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)"> Done </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>$ mvn deploy -P pre-assembly</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A7. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Post release-quality vote on dev@ lists </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> ${STATUS} </p></th></tr></tbody></table></div>
+<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> # </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Completed </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A1. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Setup new JIRA version level or update release on Roadmap </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> Done </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A2. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Tag release in svn: ${STRUTS_2_0_0} </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emo
 ticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> Done (r447072) </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A3. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Update POM version level and run Distribution Target </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> Done </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A4. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Create Sums and Sign Distributions </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb
 3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> Done </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A5. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Upload Distribution to <code>people.apache.org/builds/struts/2.0.0/</code> </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> Done </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A6. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Deploy JAR to Apache Java-Repository </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> <img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticon
 s/check.png" data-emoticon-name="tick" alt="(tick)"> Done </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>$ mvn deploy -P pre-assembly</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> A7. </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Post release-quality vote on dev@ lists </p></td><th colspan="1" rowspan="1" class="confluenceTh"><p> ${STATUS} </p></th></tr></tbody></table></div>
 
 
 <h3 id="ReleasePlan2.0.0-Vote(A)">Vote (A)</h3>