Author: steveh
Date: Mon Dec 20 14:26:54 2004
New Revision: 122891

URL: http://svn.apache.org/viewcvs?view=rev&rev=122891
Log:
Latest edits to the page flow runtime config docs.
Modified:
   
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/netui-config.xml

Modified: 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/netui-config.xml
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/netui-config.xml?view=diff&rev=122891&p1=incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/netui-config.xml&r1=122890&p2=incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/netui-config.xml&r2=122891
==============================================================================
--- 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/netui-config.xml
       (original)
+++ 
incubator/beehive/trunk/docs/forrest/src/documentation/content/xdocs/pageflow/config/netui-config.xml
       Mon Dec 20 14:26:54 2004
@@ -1,30 +1,264 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" 
"http://forrest.apache.org/dtd/document-v13.dtd";>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" 
"http://forrest.apache.org/dtd/document-v20.dtd";>
 <document>
     <header>
-        <title>netui-config.xml</title>
+        <title>Reference Documentation: netui-config.xml File</title>
     </header>
     <body>
-<p>The netui-config.xml file, which resides in the web application's WEB-INF 
directory, contains webapp-wide configuration settings for all Page Flows in 
the web app.  Descriptions for each element in the configuration file appear 
below.</p>
-<section>
-    <title>Action interceptors</title>
-<p><strong>&lt;pageflow-action-interceptors></strong></p>
-<p>If you want to be notified before every action that's run in the webapp, 
you configure one of these.  A simple example of this is monitoring 
infrastructure that keeps track of a count of actions raised -- you can 
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 that asks you to fill out a "satisfaction survey" 
before sending you to the destination page flow.</p>
-</section>
-<section>
-    <title>Handlers</title>
-<p><strong>&lt;pageflow-handlers></strong></p>
-<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.  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().</p>
-</section>
-<section>
-    <title>PageFlow Config</title>
-    <p><strong>&lt;pageflow-config></strong></p>
-<p>This is just the place for settings that configure 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>
+            <title>Description</title>
+            <p>
+            The <code>netui-config.xml</code> file configures the runtime 
behavior of your Page Flow web 
+            app.  
+        </p>
+        <p>Use <code>netui-config.xml</code> to declare interceptor classes, 
override the default handler classes,
+        etc.</p>
+        </section>
+        <section>
+            <title>Elements</title>
+            <!--<section><title>&lt;action-interceptor&gt;</title><p> Â 
</p></section>
+        <section><title>&lt;after-action&gt;</title><p> Â </p></section>
+        <section><title>&lt;before-action&gt;</title><p> Â </p></section>
+        <section><title>&lt;binding-context&gt;</title><p> Â </p></section>
+        <section><title>&lt;binding-contexts&gt;</title><p> Â </p></section>
+        <section><title>&lt;converter-class&gt;</title><p> Â </p></section>
+        <section><title>&lt;default-language&gt;</title><p> Â </p></section>
+        <section><title>&lt;description&gt;</title><p> Â </p></section>
+        <section><title>&lt;doctype&gt;</title><p> Â </p></section>
+        <section><title>&lt;enable-renesting&gt;</title><p> Â </p></section>
+        <section><title>&lt;ensure-secure-forwards&gt;</title><p> Â 
</p></section>
+        <section><title>&lt;exceptions-handler-class&gt;</title><p> Â 
</p></section>
+        <section><title>&lt;expression-language&gt;</title><p> Â 
</p></section>
+        <section><title>&lt;expression-languages&gt;</title><p> Â 
</p></section>
+        <section><title>&lt;factory-class&gt;</title><p> Â </p></section>
+        <section><title>&lt;forward-redirect-handler-class&gt;</title><p> Â 
</p></section>
+        <section><title>&lt;global&gt;</title><p> Â </p></section>
+        <section><title>&lt;id-javascript&gt;</title><p> Â </p></section>
+        <section><title>&lt;interceptor-class&gt;</title><p> Â </p></section>
+        <section><title>&lt;iterator-factories&gt;</title><p> Â </p></section>
+        <section><title>&lt;iterator-factory&gt;</title><p> Â </p></section>
+        <section><title>&lt;jsp-tag-config&gt;</title><p> Â </p></section>
+        <section><title>&lt;legacy-tag-support&gt;</title><p> Â </p></section>
+        <section><title>&lt;locator-class&gt;</title><p> Â </p></section>
+        <section><title>&lt;login-handler-class&gt;</title><p> Â 
</p></section>
+                -->
+        <section><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 
+        forwarding is excuted. This is mainly to prevent infinite loops of 
server forwards. 
+        To reproduce the error, invoke this action in a Page Flow:</p>
+<source>
+<![CDATA[    @Jpf.Action(
+        forwards={
+            @Jpf.Forward(name="self", path="overflow.do")
+        }
+    )
+    public Forward overflow()
+    {
+        return new Forward( "self" );
+    }]]></source>
+
+<p>If the jpf-forward-overflow-count parameter is ommitted from the web.xml 
file, 
+the error will be written to the response after 50 server forwards within a 
single request. Â 
+</p>
+<p><strong>Example:</strong></p>
+<source>
+<![CDATA[
+<netui-config>
+    ...
+    <pageflow-config>
+        ...
+        <max-forwards-per-request>100</max-forwards-per-request>
+        ...
+    </pageflow-config>
+    ...
+</netui-config>
+]]></source>
 </section>
+
+        <section><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, 
+        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><strong>Example:</strong></p>
+<source>
+<![CDATA[
+<netui-config>
+    ...
+    <pageflow-config>
+        ...
+        <max-nesting-stack-depth>10</netui:max-nesting-stack-depth>
+        ...
+    </pageflow-config>
+    ...
+</netui-config>
+]]></source>         
+         </section>
+        <!--
+        <section><title>&lt;module-config-locator&gt;</title><p> Â 
</p></section>
+        <section><title>&lt;module-config-locators&gt;</title><p> Â 
</p></section>-->
+        <section><title>&lt;multipart-handler&gt;</title><p>
+        To disable file upload, set the value to "none".
+        [todo: other values include memory, ?, ...]
+<p><strong>Example:</strong></p>
+<source>
+<![CDATA[
+<netui-config>
+    ...
+    <pageflow-config>
+        ...
+        <multipart-handler>none</multipart-handler>
+        ...
+    </pageflow-config>
+    ...
+</netui-config>
+]]></source>        
+         Â </p></section>
+  <!--      <section><title>&lt;name&gt;</title><p> Â </p></section>-->
+            <section>
+                <title>&lt;netui-config&gt;</title>
+                <p>
+        This is just the place for settings that configure 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>
+            <section>
+                <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, 
+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 
+that asks you to fill out a "satisfaction survey" before sending you to the 
+destination page flow. </p>
+                <p>
+Example:
+</p>
+                <source><![CDATA[    <pageflow-action-interceptors>
+        <global>
+            <before-action>
+                <action-interceptor>
+                    
<interceptor-class>myApp.interceptors.InterceptorsController$BeforeInterceptor</interceptor-class>
+                </action-interceptor>
+            </before-action>
+            <after-action>
+                <action-interceptor>
+                    
<interceptor-class>myApp.interceptors.InterceptorsController$AfterInterceptor</interceptor-class>
+                </action-interceptor>
+            </after-action>
+        </global>
+    </pageflow-action-interceptors>]]></source>
+ <p><strong>Also see:</strong></p>
+ <p>Interface 
org.apache.beehive.netui.pageflow.interceptor.ActionInterceptor</p>
+            </section>
+            <section>
+                <title>&lt;pageflow-config&gt;</title>
+                <p>
+This is just the place for settings that configure 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>
+            <section>
+                <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. 
+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().
+</p>
+            </section>
+            <!--
+<section><title>&lt;reloadable-class-handler-class&gt;</title><p> Â 
</p></section>
+<section><title>&lt;throw-session-expired-exception&gt;</title><p> Â 
</p></section>
+<section><title>&lt;tree-image-location&gt;</title><p> Â </p></section>
+<section><title>&lt;type&gt;</title><p> Â </p></section>
+<section><title>&lt;type-converter&gt;</title><p> Â </p></section>
+<section><title>&lt;type-converters&gt;</title><p> Â </p></section>
+-->
+        </section>
+        <section>
+            <title>Example</title>
+            <p>
+        Use the following example <code>netui-config.xsd</code> file as a 
template.</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>
+            <name>netuiel</name>
+            
<factory-class>org.apache.beehive.netui.script.el.ExpressionEvaluatorImpl$NetUIELEngineFactory</factory-class>
+        </expression-language>
+    </expression-languages>
+
+    <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>
+        </global>
+    </pageflow-action-interceptors>
+
+    <pageflow-handlers>
+        
<forward-redirect-handler-class>pageFlowCore.forwards.Controller$Redirector</forward-redirect-handler-class>
+    </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>
+       <doctype>html4-loose</doctype>
+       <id-javascript>Legacy-JavaScript-Only</id-javascript>
+    </jsp-tag-config>
+
+    <iterator-factories>
+    </iterator-factories>
+
+</netui-config>
+            
+        ]]></source>
+        </section>
+        <section>
+               <title>Related Topics</title>
+<p>Class org.apache.beehive.netui.util.config.ConfigUtil</p>
+<p>Interface 
org.apache.beehive.netui.pageflow.interceptor.ActionInterceptor</p>
+        </section>
+        
     </body>
-    <footer>
-        <legal>Java, J2EE, and JCP are trademarks or registered trademarks of 
Sun Microsystems, Inc. in the United States and other countries.<br/>
-       &copy; 2004, Apache Software Foundation
-       </legal>
-    </footer>
 </document>

Reply via email to