You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ri...@apache.org on 2005/05/16 06:47:38 UTC

svn commit: r170304 - /incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/beehive-netui-config.xml

Author: rich
Date: Sun May 15 21:47:37 2005
New Revision: 170304

URL: http://svn.apache.org/viewcvs?rev=170304&view=rev
Log:
This is a contribution from Krista Baker to address http://issues.apache.org/jira/browse/BEEHIVE-711 : beehive-netui-config.xml elements added need to be documented .

In addition, I updated and filled in the docs for all the elements under <pageflow-config>, and I fixed the sample config file at the bottom of the page (it had gone out of date).

tests: ant validate under docs/forrest (WinXP)
BB: self (linux)


Modified:
    incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/beehive-netui-config.xml

Modified: incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/beehive-netui-config.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/beehive-netui-config.xml?rev=170304&r1=170303&r2=170304&view=diff
==============================================================================
--- incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/beehive-netui-config.xml (original)
+++ incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/beehive-netui-config.xml Sun May 15 21:47:37 2005
@@ -8,19 +8,18 @@
         <section id="desc">
             <title>Description</title>
             <p>
-            The <code>beehive-netui-config.xml</code> file configures the runtime behavior of your Page Flow web 
-            app.  
-        </p>
+            The <code>beehive-netui-config.xml</code> file configures the runtime behavior of your
+            Page Flow web application.  It lives under the WEB-INF directory.
+            </p>
         <p>Use <code>beehive-netui-config.xml</code> to declare interceptor classes, override the default handler classes,
         etc.</p>
         </section>
 		<section id="structure">
 			<title>General Structure</title>
 <source><a href="#netui-config">&lt;netui-config></a>
-  <a href="#legacy-tag-support">&lt;legacy-tag-support></a>
   <a href="#expression-languages">&lt;expression-languages></a>
+    <a href="#default-language">&lt;default-language></a>
     <a href="#expression-language">&lt;expression-language></a>
-      <a href="#default-language">&lt;default-language></a>
       <a href="#name">&lt;name></a>
       <a href="#factory-class">&lt;factory-class></a>
       <a href="#binding-contexts">&lt;binding-contexts></a>
@@ -54,20 +53,37 @@
           <a href="#interceptor-class">&lt;interceptor-class></a>
           <a href="#custom-property">&lt;custom-property></a>
   <a href="#pageflow-handlers">&lt;pageflow-handlers></a>
-    <a href="#login-handler-class">&lt;login-handler-class></a>
-    <a href="#forward-redirect-handler-class">&lt;forward-redirect-handler-class></a>
-    <a href="#reloadable-class-handler-class">&lt;reloadable-class-handler-class></a>
-    <a href="#exceptions-handler-class">&lt;exceptions-handler-class></a>
+    <a href="#action-forward-handler">&lt;action-forward-handler></a>
+      <a href="#handler-class">&lt;handler-class></a>
+      <a href="#custom-property">&lt;custom-property></a>
+    <a href="#exceptions-handler">&lt;exceptions-handler></a>
+      <a href="#handler-class">&lt;handler-class></a>
+      <a href="#custom-property">&lt;custom-property></a>
+    <a href="#forward-redirect-handler">&lt;forward-redirect-handler></a>
+      <a href="#handler-class">&lt;handler-class></a>
+      <a href="#custom-property">&lt;custom-property></a>
+    <a href="#login-handler">&lt;login-handler></a>
+      <a href="#handler-class">&lt;handler-class></a>
+      <a href="#custom-property">&lt;custom-property></a>
+    <a href="#reloadable-class-handler">&lt;reloadable-class-handler></a>
+      <a href="#handler-class">&lt;handler-class></a>
+      <a href="#custom-property">&lt;custom-property></a>
   <a href="#pageflow-config">&lt;pageflow-config></a>
-    <a href="#enable-renesting">&lt;enable-renesting></a>
+    <a href="#enable-self-nesting">&lt;enable-self-nesting></a>
     <a href="#max-forwards-per-request">&lt;max-forwards-per-request></a>
     <a href="#max-nesting-stack-depth">&lt;max-nesting-stack-depth></a>
     <a href="#ensure-secure-forwards">&lt;ensure-secure-forwards></a>
     <a href="#throw-session-expired-exception">&lt;throw-session-expired-exception></a>
     <a href="#multipart-handler">&lt;multipart-handler></a>
+    <a href="#prevent-cache">&lt;prevent-cache></a>
     <a href="#module-config-locators">&lt;module-config-locators></a>
-      <a href="#description">&lt;description></a>
-      <a href="#locator-class">&lt;locator-class></a>
+      <a href="#module-config-locator">&lt;module-config-locator></a>
+        <a href="#description">&lt;description></a>
+        <a href="#locator-class">&lt;locator-class></a>
+  <a href="#default-shared-flow-refs">&lt;default-shared-flow-refs></a>
+    <a href="#shared-flow-ref">&lt;shared-flow-ref></a>
+      <a href="#name">&lt;name></a>
+      <a href="#type">&lt;type></a>
   <a href="#type-converters">&lt;type-converters></a>
     <a href="#type-converter">&lt;type-converter></a>
       <a href="#type">&lt;type></a>
@@ -88,10 +104,33 @@
       <a href="#name">&lt;name></a>
       <a href="#factory-class">&lt;factory-class></a>
   <a href="#request-interceptors">&lt;request-interceptors></a>
-    <a href="#interceptor-class">&lt;interceptor-class></a></source>
-		</section>
+    <a href="#global">&lt;global></a>
+      <a href="#request-interceptor">&lt;request-interceptor></a>
+        <a href="#interceptor-class">&lt;interceptor-class></a>
+        <a href="#custom-property">&lt;custom-property></a>
+  <a href="#prefix-handlers">&lt;prefix-handlers></a>
+    <a href="#prefix-handler">&lt;prefix-handler></a>
+      <a href="#name">&lt;name></a>
+      <a href="#handler-class">&lt;handler-class></a>
+		</source></section>
         <section id="elements">
             <title>Elements</title>
+
+        <section id="action-forward-handler"><title>&lt;action-forward-handler&gt;</title>
+				<p><strong>Syntax</strong></p>
+				<source>&lt;action-forward-handler>
+  &lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+  &lt;custom-property> 
+    &lt;name> xsd:string &lt;/name> [occurrences: 1]
+    &lt;value> xsd:string &lt;/value> [occurrences: 1]  
+  &lt;/custom-property> [occurrences: 0-*]
+&lt;/action-forward-handler></source>
+				<p><strong>Parents:</strong></p>
+					<p><a href="#pageflow-handlers">&lt;pageflow-handlers></a></p>
+				<p><strong>Children:</strong></p>
+				<p><a href="#handler-class">&lt;handler-class></a>,
+					<a href="#custom-property">&lt;custom-property></a></p></section>
+
             <section id="action-interceptor"><title>&lt;action-interceptor&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;action-interceptor>
@@ -121,7 +160,7 @@
 				<p><strong>Syntax</strong></p>
 				<source> &lt;after-action> xsd:boolean &lt;after-action> [occurrences: 0-1] </source>
 				<p><strong>Parents:</strong></p>
-					<p><a href="#intercept-path">&lt;intercept-path></a>
+					<p><a href="#simple-action-interceptor">&lt;simple-action-interceptor></a>
 					   </p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
@@ -156,6 +195,7 @@
 					<p><a href="#type-converter">&lt;type-converter></a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
+
         <section id="custom-property"><title>&lt;custom-property&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;custom-property>
@@ -163,10 +203,17 @@
   &lt;value> xsd:string &lt;/value> [occurrences: 1]
 &lt;/custom-property></source>
 				<p><strong>Parents:</strong></p>
-					<p><a href="#action-interceptor">&lt;action-interceptor></a></p>
+					<p><a href="#action-interceptor">&lt;action-interceptor></a>,
+					<a href="#request-interceptor">&lt;request-interceptor></a>,
+					<a href="#action-forward-handler">&lt;action-forward-handler></a>,
+					<a href="#exceptions-handler">&lt;exceptions-handler></a>,
+					<a href="#forward-redirect-handler">&lt;forward-redirect-handler></a>,
+					<a href="#login-handler">&lt;login-handler></a>,
+					<a href="#reloadable-class-handler">&lt;reloadable-class-handler></a></p>
 				<p><strong>Children:</strong></p>
 				<p><a href="#name">&lt;name></a>, 
 				   <a href="#value">&lt;value></a></p></section>
+
         <section id="default-language"><title>&lt;default-language&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;default-language> xsd:string &lt;/default-language> [occurrences: 1]</source>
@@ -180,12 +227,16 @@
 				default shared flow references that can be used across the web app.</p>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;default-shared-flow-refs>
-  &lt;shared-flow-ref> 
-&lt;/default-shared-flow-refs> [occurrences: 1-*]</source>
+  &lt;shared-flow-ref>
+    &lt;name> xsd:string &lt;/name> [occurrences: 1]
+    &lt;type> xsd:string &lt;/type> [occurrences: 1]  
+  &lt;/shared-flow-ref> [occurrences: 0-*]
+&lt;/default-shared-flow-refs></source>
 				<p><strong>Parents:</strong></p>
 					<p><a href="#netui-config">&lt;netui-config></a></p>
 				<p><strong>Children:</strong></p>
 				<p><a href="#shared-flow-ref">&lt;shared-flow-ref></a></p></section>
+
         <section id="description"><title>&lt;description&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;description> xsd:string &lt;/description> [occurrences: 0-1]</source>
@@ -193,16 +244,42 @@
 					<p><a href="#module-config-locator">&lt;module-config-locator></a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
-        <section id="doctype"><title>&lt;doctype&gt;</title>
+        <section id="doctype"><title>&lt;doctype gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;doctype> [ html4-loose | xhtml1-transitional ] &lt;/doctype> [occurrences: 0-1]</source>
 				<p><strong>Parents:</strong></p>
 					<p><a href="#jsp-tag-config">&lt;jsp-tag-config></a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
-        <section id="enable-renesting"><title>&lt;enable-renesting&gt;</title>
+        <section id="enable-self-nesting"><title>&lt;enable-self-nesting&gt;</title>
+                <p>
+                    When this value is set to <code>false</code> (the default), a nested page flow that is
+                    <em>anywhere</em> on the nesting stack will be <em>reactivated</em> if one of its actions is hit,
+                    and all page flows higher up the stack will be destroyed.  When this value is set to
+                    <code>true</code>, a <em>new</em> instance of the nested page flow will end up at the top of the
+                    stack.  As an example, consider the following stack of page flows:
+                </p>
+                        <source>A, B, C <sup>(top)</sup></source>
+                <p>
+                    When an action in B is hit, one of two things will happen:
+                </p>
+                <ul>
+                    <li>If <code>enable-self-nesting</code> is set to <code>false</code>, then B will be
+                        reactivated and C will be destroyed.  The nesting stack will look like this:
+                        <source>A, B <sup>(top)</sup></source>
+                    </li>
+                    <li>If <code>enable-self-nesting</code> is set to <code>true</code>, then a new instance of B
+                        will be at the top of the stack, which will look like this:
+                        <source>A, B, C, B <sup>(top)</sup></source>
+                    </li>
+                </ul>
+                <p>
+                    Note that setting this value to <code>true</code> is <strong>not back-button-friendly</strong>.
+                    Hitting a Page Flow action after using the browser back button can often end up executing an
+                    action on a nested page flow in the middle of the nesting stack.
+                </p>
 				<p><strong>Syntax</strong></p>
-				<source>&lt;enable-renesting> xsd:boolean &lt;/enable-renesting> [occurrences: 0-1]</source>
+				<source>&lt;enable-self-nesting> xsd:boolean &lt;/enable-self-nesting> [occurrences: 0-1]</source>
 				<p><strong>Parents:</strong></p>
 					<p><a href="#pageflow-config">&lt;pageflow-config></a></p>
 				<p><strong>Children:</strong></p>
@@ -217,16 +294,25 @@
 					<p><a href="#pageflow-config">&lt;pageflow-config></a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
-        <section id="exceptions-handler-class"><title>&lt;exceptions-handler-class&gt;</title>
+
+        <section id="exceptions-handler"><title>&lt;exceptions-handler&gt;</title>
 			    <p>Typically, exceptions thrown by the controller class are delivered in a wrapper exception
 					class.  The class named here, can be used to unwrap these exceptions and handle
 					the underlying exception in a more fine-grained manner.</p>
 				<p><strong>Syntax</strong></p>
-				<source>&lt;exceptions-handler-class> xsd:string &lt;/exceptions-handler-class> [occurrences: 0-1]</source>
+				<source>&lt;exceptions-handler>
+  &lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+  &lt;custom-property> 
+    &lt;name> xsd:string &lt;/name> [occurrences: 1]
+    &lt;value> xsd:string &lt;/value> [occurrences: 1]  
+  &lt;/custom-property> [occurrences: 0-*]
+&lt;/exceptions-handler></source>
 				<p><strong>Parents:</strong></p>
 					<p><a href="#pageflow-handlers">&lt;pageflow-handlers></a></p>
 				<p><strong>Children:</strong></p>
-				<p>none</p></section>
+				<p><a href="#handler-class">&lt;handler-class></a>,
+					<a href="#custom-property">&lt;custom-property></a></p></section>
+
         <section id="expression-language"><title>&lt;expression-language&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>  &lt;expression-language> [occurrences: 1-*]
@@ -256,20 +342,33 @@
 				<p><a href="#default-language">&lt;default-language></a>,
 					<a href="#expression-language">&lt;expression-language></a>
 					</p></section>
+
         <section id="factory-class"><title>&lt;factory-class&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;factory-class> xsd:string &lt;/factory-class> [occurrences: 1]</source>
 				<p><strong>Parents:</strong></p>
-					<p><a href="#binding-contexts">&lt;binding-contexts></a></p>
+					<p><a href="#binding-contexts">&lt;binding-contexts></a>,
+					<a href="#expression-language">&lt;expression-language></a>,
+					<a href="#iterator-factory">&lt;iterator-factory></a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
-        <section id="forward-redirect-handler-class"><title>&lt;forward-redirect-handler-class&gt;</title>
+
+        <section id="forward-redirect-handler"><title>&lt;forward-redirect-handler&gt;</title>
 				<p><strong>Syntax</strong></p>
-				<source>&lt;forward-redirect-handler-class> xsd:string &lt;/forward-redirect-handler-class> [occurrences: 0-1]</source>
+				<source>&lt;forward-redirect-handler>
+  &lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+  &lt;custom-property> 
+    &lt;name> xsd:string &lt;/name> [occurrences: 1]
+    &lt;value> xsd:string &lt;/value> [occurrences: 1]  
+  &lt;/custom-property> [occurrences: 0-*]
+&lt;/forward-redirect-handler></source>
 				<p><strong>Parents:</strong></p>
 					<p><a href="#pageflow-handlers">&lt;pageflow-handlers></a></p>
 				<p><strong>Children:</strong></p>
-				<p>none</p></section>
+				<p><strong>Children:</strong></p>
+				<p><a href="#handler-class">&lt;handler-class></a>,
+					<a href="#custom-property">&lt;custom-property></a></p></section>
+
         <section id="global"><title>&lt;global&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;global> [occurrences: 0-1]
@@ -284,12 +383,57 @@
       &lt;value> xsd:string &lt;/value> [occurrences: 1]
     &lt;/custom-property> [occurrences: 0-*]
   &lt;/action-interceptor> [occurrences: 0-*]
+&lt;/global>
+
+&lt;global>
+  &lt;request-interceptor>
+    &lt;interceptor-class> xsd:string &lt;/interceptor-class> [occurrences: 1]
+    &lt;custom-property> 
+      &lt;name> xsd:string &lt;/name> [occurrences: 1]
+      &lt;value> xsd:string &lt;/value> [occurrences: 1]
+    &lt;/custom-property> [occurrences: 0-*]
+  &lt;/request-interceptor> [occurrences: 0-*]
 &lt;/global></source>
 				<p><strong>Parents:</strong></p>
-					<p><a href="#pageflow-action-interceptors">&lt;pageflow-action-interceptors></a></p>
+					<p><a href="#pageflow-action-interceptors">&lt;pageflow-action-interceptors></a>,
+					<a href="#request-interceptors">&lt;request-interceptors></a></p>
+				<p><strong>Children:</strong></p>
+				<p><a href="#simple-action-interceptor">&lt;simple-action-interceptor></a>,
+					<a href="#action-interceptor">&lt;action-interceptor></a>,
+					<a href="#request-interceptor">&lt;request-interceptor></a></p></section>
+
+        <section id="handler-class"><title>&lt;handler-class&gt;</title>
+				<p><strong>Syntax</strong></p>
+				<source>&lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]</source>
+				<p><strong>Parents:</strong></p>
+					<p><a href="#action-forward-handler">&lt;action-forward-handler></a>,
+						<a href="#exceptions-handler">&lt;exceptions-handler></a>,
+						<a href="#forward-redirect-handler">&lt;forward-redirect-handler></a>,
+						<a href="#login-handler">&lt;login-handler></a>,
+						<a href="#reloadable-class-handler">&lt;reloadable-class-handler></a>,
+						<a href="#prefix-handler">&lt;prefix-handler></a></p>
+				<p><strong>Children:</strong></p>
+				<p>none</p></section>
+
+
+        <section id="html-amp-entity"><title>&lt;html-amp-entity&gt;</title>
+<p>
+The url parameter separators of &amp; (single amphersand) are encoded to &amp;amp; (ampersand followed by amp;) by default 
+according to the html 401 specifications set forth by W3C. This item 
+can be set to false and the parameter separators will not be encoded.
+</p>
+
+				<p><strong>Syntax</strong></p>
+				<p><strong>Syntax</strong></p>
+				<source>&lt;html-amp-entity> xsd:boolean &lt;/html-amp-entity> [occurrences: 1]</source>
+				<p><strong>Parents:</strong></p>
+					<p><a href="#url-config">&lt;url-config&lt;</a></p>
 				<p><strong>Children:</strong></p>
-				<p><a href="#simple-action-inteceptor">&lt;simple-action-inteceptor></a>,
-					<a href="#action-inteceptor">&lt;action-inteceptor></a></p></section>
+				<p>none</p></section>
+
+
+
+
         <section id="id-javascript"><title>&lt;id-javascript&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;id-javascript> [ default | legacy | legacyOnly ] &lt;/id-javascript> [occurrences: 0-1]</source>
@@ -297,13 +441,16 @@
 					<p><a href="#jsp-tag-config">&lt;jsp-tag-config></a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
+
         <section id="interceptor-class"><title>&lt;interceptor-class&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;interceptor-class> xsd:string &lt;interceptor-class> [occurrences: 1]</source>
 				<p><strong>Parents:</strong></p>
-					<p><a href="#jsp-tag-config">&lt;jsp-tag-config></a></p>
+					<p><a href="#action-interceptor">&lt;action-interceptor></a>,
+					<a href="#request-interceptor">&lt;request-interceptor></a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
+
         <section id="intercept-path"><title>&lt;intercept-path&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;intercept-path> xsd:string &lt;/intercept-path> [occurrences: 1]</source>
@@ -331,7 +478,7 @@
   &lt;factory-class> xsd:string &lt;/factory-class> [occurrences: 1]
 &lt;/iterator-factory></source>
 				<p><strong>Parents:</strong></p>
-					<p><a href="#iterator-factorys">&lt;iterator-factorys></a></p>
+					<p><a href="#iterator-factories">&lt;iterator-factories></a></p>
 				<p><strong>Children:</strong></p>
 				<p><a href="#name">&lt;name></a>,
 					<a href="#factory-class">&lt;factory-class></a></p></section>
@@ -350,28 +497,29 @@
 					<a href="#id-javascript">&lt;id-javascript></a>,
 					<a href="#tree-image-location">&lt;tree-image-location></a>,</p></section>
 
-        <section id="legacy-tag-support"><title>&lt;legacy-tag-support&gt;</title>
-				<p><strong>Syntax</strong></p>
-				<source>&lt;legacy-tag-support> xsd:boolean &lt;/legacy-tag-support> [occurrences: 0-1]</source>
-				<p><strong>Parents:</strong></p>
-					<p><a href="#netui-config">&lt;netui-config></a></p>
-				<p><strong>Children:</strong></p>
-				<p>none</p></section>
-
         <section id="locator-class"><title>&lt;locator-class&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;locator-class> xsd:string &lt;/locator-class> [occurrences: 1]</source>
 				<p><strong>Parents:</strong></p>
-					<p><a href="#module-config-locators">&lt;module-config-locators></a></p>
+					<p><a href="#module-config-locator">&lt;module-config-locator></a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
-        <section id="login-handler-class"><title>&lt;login-handler-class&gt;</title>
+
+        <section id="login-handler"><title>&lt;login-handler&gt;</title>
 				<p><strong>Syntax</strong></p>
-				<source>&lt;login-handler-class> xsd:string &lt;/login-handler-class> [occurrences: 0-1]</source>
+				<source>&lt;login-handler>
+  &lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+  &lt;custom-property> 
+    &lt;name> xsd:string &lt;/name> [occurrences: 1]
+    &lt;value> xsd:string &lt;/value> [occurrences: 1]  
+  &lt;/custom-property> [occurrences: 0-*]
+&lt;/login-handler></source>
 				<p><strong>Parents:</strong></p>
 					<p><a href="#pageflow-handlers">&lt;pageflow-handlers></a></p>
 				<p><strong>Children:</strong></p>
-				<p>none</p></section>    
+				<p><a href="#handler-class">&lt;handler-class></a>,
+					<a href="#custom-property">&lt;custom-property></a></p></section>
+    
         <section id="max-forwards-per-request"><title>&lt;max-forwards-per-request&gt;</title>
 				<p>If the number of server 
         forwards exceeds the given count, an error is written to the response and no further 
@@ -388,8 +536,7 @@
         return new Forward( "self" );
     }]]></source>
 
-<p>If the jpf-forward-overflow-count parameter is omitted from the web.xml file, 
-the error will be written to the response after 50 server forwards within a single request.   
+<p>If this element is omitted, the error will be written to the response after 25 server forwards within a single request.
 </p>
 <p>When an application is in development, a descriptive error is sent; for deployed applications, a 500 response is sent.</p>
 				<p><strong>Syntax</strong></p>
@@ -403,7 +550,7 @@
         <section id="max-nesting-stack-depth"><title>&lt;max-nesting-stack-depth&gt;</title>
 		<p>
         This parameter sets the maximum size of the Page Flow nesting stack. 
-        If Page Flows are repeatedly nested until the stack exceeds the specified value, 
+        If page flows are repeatedly nested until the stack size exceeds the specified value, 
         an error is written to the response object and any further nesting is not allowed. 
         This helps prevent the nesting stack from consuming large amounts of resources.</p>
 <p>When an application is in development, a descriptive error is sent; for deployed applications, a 500 response is sent.</p>
@@ -429,9 +576,10 @@
 
         <section id="module-config-locators"><title>&lt;module-config-locators&gt;</title>
 			<p>Names a class or group of classes that know the location of the web application's 
-				Struts configuration files.  By default these configuation files are saved to 
-				<code>WEB-INF/.pageflow-struts-generated/</code>.  But, in cases where this default location
-				has been overridden by a custom compilation process, use <code>&lt;module-config-locators></code> to point to a Java class that knows the
+				Struts module configuration files.  By default these configuation files are saved to 
+				<code>WEB-INF/.pageflow-struts-generated/</code>.  In cases where this default location
+				has been overridden or augmented by a custom compilation process, use
+                <code>&lt;module-config-locators></code> to point to a Java class that knows the
 				new location.  </p>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;module-config-locators> [occurrences: 0-1]
@@ -446,22 +594,24 @@
 				<p><a href="#module-config-locator">&lt;module-config-locator></a></p></section>
 
         <section id="multipart-handler"><title>&lt;multipart-handler&gt;</title>
-			    <p>By default multi-part file uploading is disabled for page flow web applications.
+			    <p>By default multi-part file uploading is disabled for Page Flow web applications.
 					To turn it on, you must (1) explicitly set this element to <code>memory</code>
-					or <code>disk</code>, or (2) decorate a given controller class with 
-					the @Jpf.MultipartHandler annotation.   Doing (1) will enable file uploading across 
-					the entire web applcation, doing (2) enables file uploading on a
+					or <code>disk</code>, or (2) set the <code>multipartHandler</code> attribute on
+                    a page flow's &#64;Jpf.Controller annotation.  Doing (1) will enable file uploading across 
+					the entire web applcation; doing (2) enables file uploading on a
 					controller-by-controller basis.</p>
+                <p><strong>Also see:</strong></p>
+                    <p>
+                        <a href="../../apidocs/classref_pageflows/org/apache/beehive/netui/pageflow/annotations/Jpf.Controller.html#multipartHandler()">
+                            Attribute multipartHandler on annotation interface org.apache.beehive.netui.pageflow.annotations.Jpf
+                        </a>
+                    </p>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;multipart-handler> [ disabled | memory | disk ] &lt;/multipart-handler> [occurrences: 0-1]</source>
 				<p><strong>Parents:</strong></p>
 					<p><a href="#pageflow-config">&lt;pageflow-config></a></p>
 				<p><strong>Children:</strong></p>
-				<p>none</p>
-				<p>
-        To disable file upload, set the value to "none".
-        [todo: other values include memory, ?, ...]</p>
-        </section>
+				<p>none</p></section>
 
         <section id="name"><title>&lt;name&gt;</title>
 				<p><strong>Syntax</strong></p>
@@ -470,55 +620,77 @@
 					<p><a href="#expression-language">&lt;expression-language></a>,
 						<a href="#iterator-factory">&lt;iterator-factory></a>,
 						<a href="#binding-context">&lt;binding-context></a>,
-						<a href="#custom-property">&lt;custom-property></a></p>
+						<a href="#custom-property">&lt;custom-property></a>,
+						<a href="#shared-flow-ref">&lt;shared-flow-ref></a>,
+						<a href="#prefix-handler">&lt;prefix-handler></a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
 
         <section id="netui-config">
                 <title>&lt;netui-config&gt;</title>
 				<p>
-        The top-level element in the <code>beehive-netui-config.xml</code> file.
-           </p>				
+        The top-level element in the <code>beehive-netui-config.xml</code> file.</p>				
 				<p><strong>Syntax</strong></p>
 				<source>&lt;netui-config>
-  &lt;legacy-tag-support> xsd:boolean &lt;/legacy-tag-support> [occurrences: 0-1]
   &lt;expression-languages> ... &lt;/expression-languages> [occurrences: 1]
   &lt;pageflow-action-interceptors> ... &lt;/pageflow-action-interceptors> [occurrences: 0-1]
   &lt;pageflow-handlers> ... &lt;/pageflow-handlers> [occurrences: 0-1]
   &lt;pageflow-config> ... &lt;/pageflow-config> [occurrences: 0-1]
+  &lt;default-shared-flow-refs> ... &lt;/default-shared-flow-refs> [occurrences: 0-1]
   &lt;type-converters> ... &lt;/type-converters> [occurrences: 0-1]
   &lt;jsp-tag-config> ... &lt;/jsp-tag-config> [occurrences: 0-1]
+  &lt;url-config> ... &lt;/url-config> [occurrences: 0-1]
   &lt;iterator-factories> ... &lt;/iterator-factories> [occurrences: 0-1]
   &lt;request-interceptors> ... &lt;/request-interceptors> [occurrences: 0-1]
+  &lt;prefix-handlers> ... &lt;/prefix-handlers> [occurrences: 0-1]
 &lt;/netui-config></source>
 				<p><strong>Parents:</strong></p>
 					<p></p>
 				<p><strong>Children:</strong></p>
-				<p>  <a href="#legacy-tag-support">&lt;legacy-tag-support&gt;</a>,
-  <a href="#expression-languages">&lt;expression-languages&gt;</a>,
+				<p>  <a href="#expression-languages">&lt;expression-languages&gt;</a>,
   <a href="#pageflow-action-interceptors">&lt;pageflow-action-interceptors&gt;</a>,
   <a href="#pageflow-handlers">&lt;pageflow-handlers&gt;</a>,
   <a href="#pageflow-config">&lt;pageflow-config&gt;</a>,
+  <a href="#default-shared-flow-refs">&lt;default-shared-flow-refs&gt;</a>,
   <a href="#type-converters">&lt;type-converters&gt;</a>,
   <a href="#jsp-tag-config">&lt;jsp-tag-config&gt;</a>,
+  <a href="#url-config">&lt;url-config&gt;</a>,
   <a href="#iterator-factories">&lt;iterator-factories&gt;</a>,
-  <a href="#request-interceptors">&lt;request-interceptors&gt;</a></p>
+  <a href="#request-interceptors">&lt;request-interceptors&gt;</a>,
+  <a href="#prefix-handlers">&lt;prefix-handlers&gt;</a></p>
             </section>
  
             <section id="pageflow-action-interceptors">
 			<title>&lt;pageflow-action-interceptors&gt;</title>
-            <p>If you want to be notified before (or after) every action that's run in the webapp, 
+            <p>To run code before or after Page Flow actions,
 you configure a &lt;pageflow-action-interceptor&gt; group. 
 A simple example of this would be a monitoring infrastructure 
 that keeps track of the number of actions raised.  To keep track of the number of actions raised, 
 register an interceptor 
 that runs the counting code before going to any action. A more complex example 
-is an interceptor that *redirects* you to another page flow before allowing you 
-to go to the current one; for instance, it might take you to a nested page flow 
+is an interceptor that "injects" a page flow before allowing you 
+to go to the current one; for instance, it might decide (on the fly) to take you to a nested page flow 
 that asks you to fill out a "satisfaction survey" before sending you to the 
 destination page flow. </p>
-<p>The action-intercepting class is run twice: <em>both</em> before <em>and</em> after the execution of the 
-	action.</p>
+<p>
+    The action-intercepting class is run twice: both before <em>and</em> after the execution of the
+    action.  When run before an action, it can do three things:
+</p>
+      <ul>
+          <li>change the destination URI and thus prevent the action from running, or,</li>
+          <li>set the destination URI to <code>null</code> (no forwarding) and thus prevent the action from running, or,</li>
+          <li>
+              "inject" an entire nested page flow to run before the action is invoked.  If the override forward URI
+              is a nested page flow, then it will run until it raises one of its return actions.  At that point,
+              <code>afterNestedIntercept</code> is called on <em>this interceptor</em>, which can again choose to override
+              the forward or allow the original action to run.
+          </li>
+      </ul>
+ <p>When run after an action, it can do two things:</p>
+      <ul>
+          <li>change the destination URI that was returned by the action, or,</li>
+          <li>set the destination URI to <code>null</code> (no forwarding).</li>
+      </ul>
  <p><strong>Also see:</strong></p>
  <p><a href="../../apidocs/classref_pageflows/org/apache/beehive/netui/pageflow/interceptor/ActionInterceptor.html">Interface org.apache.beehive.netui.pageflow.interceptor.ActionInterceptor</a></p>
 				<p><strong>Syntax</strong></p>
@@ -548,59 +720,72 @@
                 <title>&lt;pageflow-config&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;pageflow-config>
-	&lt;enable-renesting> xsd:boolean &lt;/enable-renesting> [occurrences: 0-1]
+	&lt;enable-self-nesting> xsd:boolean &lt;/enable-self-nesting> [occurrences: 0-1]
 	&lt;max-forwards-per-request> xsd:int &lt;/max-forwards-per-request> [occurrences: 0-1]
 	&lt;max-nesting-stack-depth> xsd:int &lt;/max-nesting-stack-depth> [occurrences: 0-1]
 	&lt;ensure-secure-forwards> xsd:boolean &lt;/ensure-secure-forwards> [occurrences: 0-1]
 	&lt;throw-session-expired-exception> xsd:boolean &lt;/throw-session-expired-exception> [occurrences: 0-1]
 	&lt;multipart-handler> [ disabled | memory | disk ] &lt;/multipart-handler> [occurrences: 0-1]
+	&lt;prevent-cache> [ default | always | inDevMode ] &lt;/prevent-cache> [occurrences: 0-1]
 	&lt;module-config-locators> ... &lt;/module-config-locators> [occurrences: 0-1]
 &lt;/pageflow-config></source>
 				<p><strong>Parents:</strong></p>
 					<p><a href="#netui-config">&lt;netui-config&gt;</a></p>
 				<p><strong>Children:</strong></p>
-				<p><a href="#enable-renesting">&lt;enable-renesting&gt;</a>, 
+				<p><a href="#enable-self-nesting">&lt;enable-self-nesting&gt;</a>, 
 					<a href="#max-forwards-per-request">&lt;max-forwards-per-request&gt;</a>, 
 					<a href="#max-nesting-stack-depth">&lt;max-nesting-stack-depth&gt;</a>,
 					<a href="#ensure-secure-forwards">&lt;ensure-secure-forwards&gt;</a>,
 					<a href="#throw-session-expired-exception">&lt;throw-session-expired-exception&gt;</a>,
 					<a href="#multipart-handler">&lt;multipart-handler&gt;</a>,
-					<a href="#module-config-locators">&lt;module-config-locators&gt;</a>,
+					<a href="#prevent-cache">&lt;prevent-cache&gt;</a>,
+					<a href="#module-config-locators">&lt;module-config-locators&gt;</a>
 					</p>
 				<p>
 Configures the page flow 
 runtime across the webapp. If you want to disable file-upload, for instance, 
-you set the multipart-handler to "none". There will be more settings here soon. 
-                       </p>
-            </section>
+you set the multipart-handler to "disabled".</p></section>
             
 			<section id="pageflow-handlers">
                 <title>&lt;pageflow-handlers&gt;</title>
 				<p>
 These settings let you override base framework behavior. 
-A good example is the LoginHandler. By default, we use standard Servlet 
-APIs to see if you're logged in, and we use some server-specific APIs to 
-actually log you in when login() is called inside a page flow. 
+A good example is the LoginHandler. By default, standard Servlet 
+APIs are used to determine whether a user is logged in, and
+server-specific APIs are used to actually log in a user when
+<code>login()</code> is called inside a page flow. 
 If you want to replace this behavior with your own login scheme 
 (which may look at a User database table for login information), 
-you can provide your own LoginHandler that defines methods like login() and isUserInRole().
+you can provide your own LoginHandler that defines methods like
+<code>login()</code> and <code>isUserInRole()</code>.
 </p>
 
 				<p><strong>Syntax</strong></p>
 				<source>&lt;pageflow-handlers&gt;
-	&lt;login-handler-class> xsd:string &lt;/login-handler-class> [occurrences: 0-1]
-	&lt;forward-redirect-handler-class> xsd:string &lt;/forward-redirect-handler-class> [occurrences: 0-1]
-	&lt;reloadable-class-handler-class> xsd:string &lt;/reloadable-class-handler-class> [occurrences: 0-1]
-	&lt;exceptions-handler-class> xsd:string &lt;/exceptions-handler-class> [occurrences: 0-1]
+	&lt;action-forward-handler> [occurrences: 0-*]
+		&lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+	&lt;/action-forward-handler>
+	&lt;exceptions-handler> [occurrences: 0-*]
+		&lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+	&lt;/exceptions-handler>
+	&lt;forward-redirect-handler> [occurrences: 0-*]
+		&lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+	&lt;/forward-redirect-handler>
+	&lt;login-handler> [occurrences: 0-*]
+		&lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+	&lt;/login-handler>
+	&lt;reloadable-class-handler> [occurrences: 0-*]
+		&lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+	&lt;/reloadable-class-handler>
 &lt;/pageflow-handlers&gt;</source>
 				<p><strong>Parents:</strong></p>
 					<p><a href="#netui-config">&lt;netui-config&gt;</a></p>
 				<p><strong>Children:</strong></p>
-				<p><a href="#login-handler-class">&lt;login-handler-class&gt;</a>, 
-					<a href="#forward-redirect-handler-class">&lt;forward-redirect-handler-class&gt;</a>,
-					<a href="#reloadable-class-handler-class">&lt;reloadable-class-handler-class&gt;</a>,
-					<a href="#exceptions-handler-class">&lt;exceptions-handler-class&gt;</a></p>
-            </section>
+				<p><a href="#action-forward-handler">&lt;action-forward-handler&gt;</a>,
+					<a href="#exceptions-handler">&lt;exceptions-handler&gt;</a>,
+					<a href="#forward-redirect-handler">&lt;forward-redirect-handler&gt;</a>,
+					<a href="#login-handler">&lt;login-handler&gt;</a>, 
+					<a href="#reloadable-class-handler">&lt;reloadable-class-handler&gt;</a></p></section>
             
 	<section id="pageflow-uri"><title>&lt;pageflow-uri&gt;</title>
 				<p><strong>Syntax</strong></p>
@@ -644,28 +829,113 @@
 					<a href="#action-interceptor">&lt;action-interceptor&gt;</a>,
 					<a href="#per-action">&lt;per-action&gt;</a></p></section>
 
-	<section id="reloadable-class-handler-class"><title>&lt;reloadable-class-handler-class&gt;</title>
+
+	<section id="prefix-handler"><title>&lt;prefix-handler&gt;</title>
+				<p><strong>Syntax</strong></p>
+				<source>&lt;prefix-handler>
+  &lt;name> xsd:string &lt;/name> [occurrences: 1]
+  &lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+&lt;/prefix-handler></source>
+				<p><strong>Parents:</strong></p>
+					<p><a href="#prefix-handlers">&lt;prefix-handlers&gt;</a></p>
+				<p><strong>Children:</strong></p>
+				<p><a href="#name">&lt;name&gt;</a>,
+					<a href="#handler-class">&lt;handler-class&gt;</a></p></section>
+
+	<section id="prefix-handlers"><title>&lt;prefix-handlers&gt;</title>
+				<p><strong>Syntax</strong></p>
+				<source>&lt;prefix-handlers>
+  &lt;prefix-handler> [occurrences: 0-*]
+    &lt;name> xsd:string &lt;/name> [occurrences: 1]
+    &lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+  &lt;/prefix-handler>
+&lt;/prefix-handlers></source>
+				<p><strong>Parents:</strong></p>
+					<p><a href="#netui-config">&lt;netui-config&gt;</a></p>
+				<p><strong>Children:</strong></p>
+				<p><a href="#prefix-handler">&lt;prefix-handler&gt;</a></p></section>
+
+
+
+
+
+        <section id="prevent-cache"><title>&lt;prevent-cache&gt;</title>
+                <p>
+                    This setting configures browser caching behavior for pages returned from Page Flow actions.
+                    Setting it to <code>always</code> causes no-cache headers to be added to the HTTP response,
+                    specifying that pages are <strong>never</strong> cached.  Setting it to <code>inDevMode</code>
+                    means that pages may be cached only when the server is in production mode.
+                </p>
 				<p><strong>Syntax</strong></p>
-				<source>&lt;reloadable-class-handler-class> xsd:string &lt;/reloadable-class-handler-class> [occurrences: 0-1]</source>
+				<source>&lt;prevent-cache> [ default | always | inDevMode ] &lt;/prevent-cache> [occurrences: 0-1]</source>
 				<p><strong>Parents:</strong></p>
-					<p><a href="#pageflow-handlers">&lt;pageflow-handlers&gt;</a></p>
+					<p><a href="#pageflow-config">&lt;pageflow-config></a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
 
+	<section id="reloadable-class-handler"><title>&lt;reloadable-class-handler&gt;</title>
+				<p><strong>Syntax</strong></p>
+				<source>&lt;reloadable-class-handler>
+  &lt;handler-class> xsd:string &lt;/handler-class> [occurrences: 1]
+  &lt;custom-property> 
+    &lt;name> xsd:string &lt;/name> [occurrences: 1]
+    &lt;value> xsd:string &lt;/value> [occurrences: 1]  
+  &lt;/custom-property> [occurrences: 0-*]
+&lt;/reloadable-class-handler></source>
+				<p><strong>Parents:</strong></p>
+					<p><a href="#pageflow-handlers">&lt;pageflow-handlers></a></p>
+				<p><strong>Children:</strong></p>
+				<p><a href="#handler-class">&lt;handler-class></a>,
+					<a href="#custom-property">&lt;custom-property></a></p></section>
+
+	<section id="request-interceptor">
+				<title>&lt;request-interceptor&gt;</title>
+				<p><strong>Syntax</strong></p>
+				<source>&lt;request-interceptor>
+  &lt;interceptor-class> xsd:string &lt;/interceptor-class> [occurrences: 1]
+  &lt;custom-property> 
+    &lt;name> xsd:string &lt;/name> [occurrences: 1]
+    &lt;value> xsd:string &lt;/value> [occurrences: 1]  
+  &lt;/custom-property> [occurrences: 0-*]
+&lt;/request-interceptor></source>
+				<p><strong>Parents:</strong></p>
+					<p><a href="#global">&lt;global&gt;</a></p>
+				<p><strong>Children:</strong></p>
+				<p><a href="#interceptor-class">&lt;interceptor-class&gt;</a>,
+				<a href="#custom-property">&lt;custom-property&gt;</a></p></section>
+
 	<section id="request-interceptors">
 				<title>&lt;request-interceptors&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;request-interceptors>
-  &lt;interceptor-class> xsd:string &lt;/interceptor-class> [occurrences: 1-*]
+  &lt;global> [occurrences: 0-1]
+    &lt;request-interceptor> [occurrences: 0-*] 
+      &lt;interceptor-class> xsd:string &lt;/interceptor-class> [occurrences: 1]
+      &lt;custom-property> ... &lt;/custom-property> [occurrences: 0-*]
+    &lt;/request-interceptor>
+  &lt;/global>
 &lt;/request-interceptors></source>
 				<p><strong>Parents:</strong></p>
 					<p><a href="#netui-config">&lt;netui-config&gt;</a></p>
 				<p><strong>Children:</strong></p>
-				<p><a href="#interceptor-class">&lt;interceptor-class&gt;</a></p></section>
+				<p><a href="#global">&lt;global&gt;</a></p></section>
+
+	<section id="shared-flow-ref">
+				<title>&lt;shared-flow-ref&gt;</title>
+				<p><strong>Syntax</strong></p>
+				<source>&lt;shared-flow-ref>
+  &lt;name> xsd:string &lt;/name> [occurrences: 1]
+  &lt;type> xsd:string &lt;/type> [occurrences: 1]
+&lt;/shared-flow-ref></source>
+				<p><strong>Parents:</strong></p>
+					<p><a href="#default-shared-flow-refs">&lt;default-shared-flow-refs&gt;</a></p>
+				<p><strong>Children:</strong></p>
+				<p><a href="#name">&lt;name&gt;</a>,
+				<a href="#type">&lt;type&gt;</a></p></section>
 
 	<section id="simple-action-interceptor"><title>&lt;simple-action-interceptor&gt;</title>
 				<p><strong>Syntax</strong></p>
-				<source>&lt;simple-action-interceptor>
+				<source>&lt;simple-action-intercept r>
   &lt;intercept-path> xsd:string &lt;/intercept-path> [occurrences: 1]
   &lt;after-action> xsd:boolean &lt;/after-action> [occurrences: 0-1]
 &lt;/simple-action-interceptor></source>
@@ -674,18 +944,18 @@
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
 
-	<section id="shared-flow-ref"><title>&lt;shared-flow-ref&gt;</title>
-				<p><strong>Syntax</strong></p>
-				<source>&lt;shared-flow-ref>
-  &lt;name> xsd:string &lt;/name> [occurrences: 1]
-  &lt;type> xsd:string &lt;/type> [occurrences: 1]
-&lt;/shared-flow-ref></source>
-				<p><strong>Parents:</strong></p>
-					<p><a href="#netui-config">&lt;netui-config&gt;</a></p>
-				<p><strong>Children:</strong></p>
-				<p><a href="#name">&lt;name></a>, <a href="#type">&lt;type></a></p></section>
-
 	<section id="throw-session-expired-exception"><title>&lt;throw-session-expired-exception&gt;</title>
+                <p>
+                    When set to <code>true</code> (the default), this causes a <code>SessionExpiredException</code> to
+                    be thrown in place of some other Page Flow exceptions when the root cause is most likely the
+                    expiration of the user session.
+                </p>
+                <p><strong>Also see:</strong></p>
+                    <p>
+                        <a href="../../apidocs/classref_pageflows/org/apache/beehive/netui/pageflow/SessionExpiredException.html">
+                            Class org.apache.beehive.netui.pageflow.SessionExpiredException
+                        </a>
+                    </p>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;throw-session-expired-exception> xsd:boolean &lt;/throw-session-expired-exception> [occurrences: 0-1]</source>
 				<p><strong>Parents:</strong></p>
@@ -705,7 +975,8 @@
 				<p><strong>Syntax</strong></p>
 				<source>&lt;type> xsd:string &lt;/type> [occurrences: 1]</source>
 				<p><strong>Parents:</strong></p>
-					<p><a href="#type-converter">&lt;type-converter&gt;</a></p>
+					<p><a href="#type-converter">&lt;type-converter&gt;</a>,
+					<a href="#shared-flow-ref">&lt;shared-flow-ref></a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
 
@@ -718,7 +989,8 @@
 				<p><strong>Parents:</strong></p>
 					<p><a href="#type-converters">&lt;type-converters&gt;</a></p>
 				<p><strong>Children:</strong></p>
-				<p>none</p></section>
+				<p><a href="#type">&lt;type></a>,
+					<a href="#converter-class">&lt;converter-class></a></p></section>
 
 	<section id="type-converters"><title>&lt;type-converters&gt;</title>
 				<p><strong>Syntax</strong></p>
@@ -733,24 +1005,46 @@
 				<p><strong>Children:</strong></p>
 				<p><a href="#type-converter">&lt;type-converter&gt;</a></p></section>
 
+	<section id="url-config"><title>&lt;url-config&gt;</title>
+				<p><strong>Syntax</strong></p>
+				<source>&lt;url-config>
+  &lt;url-encode-urls> xsd:boolean &lt;/url-encode-urls> [occurrences: 0-1]
+  &lt;html-amp-entity> xsd:boolean &lt;/html-amp-entity> [occurrences: 0-1]
+&lt;/url-config></source>
+				<p><strong>Parents:</strong></p>
+					<p><a href="#netui-config">&lt;netui-config&gt;</a></p>
+				<p><strong>Children:</strong></p>
+				<p><a href="#url-encode-urls">&lt;url-encode-urls&gt;</a>,
+				<a href="#html-amp-entity">&lt;html-amp-entity&gt;</a></p></section>
+
+        <section id="url-encode-urls"><title>&lt;url-encode-urls&gt;</title>
+<p>
+This setting allows you to override the default of encoding the urls for 
+tags with href attributes so that already encoded urls will not be re-encoded.
+</p>
+				<p><strong>Syntax</strong></p>
+				<source>&lt;url-encode-urls> xsd:boolean &lt;/url-encode-urls> [occurrences: 1]</source>
+				<p><strong>Parents:</strong></p>
+					<p><a href="#url-config">&lt;url-config&gt;</a></p>
+				<p><strong>Children:</strong></p>
+				<p>none</p></section>
+
         <section id="value"><title>&lt;value&gt;</title>
 				<p><strong>Syntax</strong></p>
 				<source>&lt;value> xsd:string &lt;/value> [occurrences: 1]</source>
 				<p><strong>Parents:</strong></p>
-					<p><a href="#custom-property">&lt;custom-property&gt;</a></p>
+					<p><a href="#custom-propert ">&lt;custom-property&gt;</a></p>
 				<p><strong>Children:</strong></p>
 				<p>none</p></section>
         </section>
         <section>
             <title>Example</title>
             <p>
-        Use the following example <code>netui-config.xsd</code> file as a template.</p>
+        Use the following example <code>netui-config.xsd</code> file as a guide.</p>
             <source><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
 
 <netui-config xmlns="http://beehive.apache.org/netui/2004/server/config">
 
-    <legacy-tag-support>false</legacy-tag-support>
-
     <expression-languages>
         <default-language>netuiel</default-language>
         <expression-language>
@@ -761,37 +1055,33 @@
 
     <pageflow-action-interceptors>
         <global>
-            <before-action>
-                <action-interceptor>
-                    <interceptor-class>miniTests.interceptors.InterceptorsController$BeforeInterceptor</interceptor-class>
-                </action-interceptor>
-                <action-interceptor>
-                    <interceptor-class>miniTests.interceptors.InterceptorsController$BeforeInterceptor2</interceptor-class>
-                </action-interceptor>
-            </before-action>
-            <after-action>
-                <action-interceptor>
-                    <interceptor-class>miniTests.interceptors.InterceptorsController$AfterInterceptor</interceptor-class>
-                </action-interceptor>
-                <action-interceptor>
-                    <interceptor-class>miniTests.interceptors.InterceptorsController$AfterInterceptor2</interceptor-class>
-                </action-interceptor>
-            </after-action>
+            <action-interceptor>
+                <!-- This interceptor is run before/after ALL page flow actions. -->
+                <interceptor-class>example.GlobalInterceptor</interceptor-class>
+                <custom-property>
+                    <name>someCustomProperty</name>
+                    <value>someValue</value>
+                </custom-property>
+            </action-interceptor>
         </global>
+        <per-pageflow>
+            <pageflow-uri>/example/intercepted1/Controller.jpf</pageflow-uri>
+            <!-- This simple interceptor is run before any action in /example/nested/SomeNestedController.jpf.
+                 It "injects" a nested page flow before allowing the original action to run. -->
+            <simple-action-interceptor>
+                <intercept-path>/example/nested/SomeNestedController.jpf</intercept-path>
+            </simple-action-interceptor>
+        </per-pageflow>
     </pageflow-action-interceptors>
 
     <pageflow-handlers>
-        <forward-redirect-handler-class>pageFlowCore.forwards.Controller$Redirector</forward-redirect-handler-class>
+        <login-handler>
+            <handler-class>example.CustomLoginHandler</handler-class>
+        </login-handler>
     </pageflow-handlers>
 
     <pageflow-config>
         <multipart-handler>memory</multipart-handler>
-        <module-config-locators>
-            <module-config-locator>
-                <description>For /miniTests/moduleConfigLocator.</description>
-                <locator-class>moduleConfigLocator.Locator1</locator-class>
-            </module-config-locator>
-        </module-config-locators>
     </pageflow-config>
 
     <jsp-tag-config>