Author: mrdon
Date: Sun Nov 27 19:35:01 2005
New Revision: 349353

URL: http://svn.apache.org/viewcvs?rev=349353&view=rev
Log:
Adding a user guide, more overview information, more documentation links

Added:
    struts/scripting/trunk/xdocs/user-guide.xml
Modified:
    struts/scripting/trunk/xdocs/index.xml
    struts/scripting/trunk/xdocs/navigation.xml

Modified: struts/scripting/trunk/xdocs/index.xml
URL: 
http://svn.apache.org/viewcvs/struts/scripting/trunk/xdocs/index.xml?rev=349353&r1=349352&r2=349353&view=diff
==============================================================================
--- struts/scripting/trunk/xdocs/index.xml (original)
+++ struts/scripting/trunk/xdocs/index.xml Sun Nov 27 19:35:01 2005
@@ -30,9 +30,20 @@
       to allow scripts to be written in any language BSF supports like Perl, 
       Python, Ruby, JavaScript, BeanShell, and even VBScript.  
         </p>
-    </section>  
+      <p>
+        Struts Scripting allows an application to be developed rapidly with
+        the quick development cycle (edit file -> refresh browser) that one 
+        would expect in a scripting environment.  Furthermore, it enables other
+        non-Java trained members of a development team, such as web designers 
who
+        may have a scripting background, to be more involved, leaving the Java
+        developers to create the reusable services the Struts actions will 
interact
+        with.  Finally, when used with Java-like languages such as <a
+        href="http://www.beanshell.org";>BeanShell</a>, applications can 
quickly be
+        stood up, then later the Struts action scripts can be migrated to Java 
for
+        better performance.
+      </p>  
       
-      <section name="Features">
+      <subsection name="Features">
       <a name="features"/>
             <ul>
               <li>Implement Actions with JavaScript, BeanShell, etc.</li>
@@ -40,106 +51,20 @@
               <li>Scripts cached in memory on first use</li>
               <li>Ability to pass parameters to script through Struts 
config</li> 
             </ul>
-      </section>
-      <section name="What's New">
-      <a name="new"/>
-        <subsection name="0.4 - April 26, 2004">
-            <ul>
-                <li>Updated Beanshell to 1.3</li>
-                <li>Updated Jakarta BSF to 2.3.0</li>
-                <li>Changed default engine mappings so if no properties file 
is specified, uses default BSF mappings</li>
-                <li>Fixed example bugs</li>
-                <li>Fixed StrutsInfo to correctly return action forward object 
if specified</li>
-                <li>Fixed bug in RequestToVariableFilter to correct check for 
pre-existing scripting variable using the same name as a request parameter.</li>
-            </ul>
-        </subsection>
-        <subsection name="0.3 - June 6, 2003">
-            <ul>
-                <li>Reorganized how Struts objects are presented</li>
-                <li>Added a configurable filter system to easily manipulate 
the context</li>
-                <li>Added a filter that adds request parameters as 
variables</li>
-                <li>Added ability to pass parameters to scripts in the action 
definition</li>
-                <li>Added and updated Javadocs, code cleanups, 
documentation</li>
-            </ul>
-        </subsection>
-        <subsection name="0.2 - Unreleased">
-             <ul>
-                <li>Added the ability to configure other BSF engines</li>
-            </ul>
-        </subsection>
-        <subsection name="0.1 - Unreleased">
-             <ul>
-                <li>Working Action implementation with hardcoded BeanShell 
support</li>
-                <li>Rewrote struts-example to demonstrate usage</li>
-            </ul>
-        </subsection>
-      </section>
-      <section name="Usage Notes">
-      <a name="usage"/>
-         <p>To determine what script will be executed, the "parameter" 
attribute of
-           the action mapping should contain the name of the script relative to
-           the web application root directory (i.e. http://server/app). In the 
place of 
-         the traditional Action implementation, use the value 
<code>org.apache.struts.scripting.ScriptAction</code>.
-         For example:
-         </p>
-<pre>
-    &lt;action    path="/logoff"
-               type="org.apache.struts.scripting.ScriptAction"
-               parameter="/WEB-INF/scripts/Logoff.bsh"&gt;
-      &lt;forward name="success"              path="/index.jsp"/&gt;
-    &lt;/action&gt;
-</pre>
-        <p>In addition to specifying the script file, the "parameter" 
attribute can
-        also contain parameters that will be passed to the script in the form 
of 
-        pre-defined variables.  The format follows the URL format:</p>
-<pre>
-    
parameter="/path/file.bsh?PARAMETER_NAME=PARAMETER_VALUE[&amp;amp;PARAMETER_NAME=PARAMETER_VALUE..]"
-</pre>
-        <p>One example of how passed parameters can be used is have one script 
file 
-        handle multiple actions.</p>
-        <p>
-        Before the script completes, the next ActionForward needs to be
-        specified.  This can be done one of two ways:
-        </p>
-          <ol>
-           <li>Set <code>struts.forwardName</code> to the name of the 
forward</li>
-           <li>Set <code>struts.forward</code> to the actual ActionForward 
object
-              </li>
-          </ol>
-          <p>A number of pre-defined variables are available to the script:</p>
-          <ul>
-           <li><code>request</code> - The HTTP request</li>
-           <li><code>response</code> - The HTTP response</li>
-           <li><code>session</code> - The session</li>
-           <li><code>application</code> - The servlet context</li>
-           <li><code>struts</code> - A grouping of all Struts-related 
objects</li>
-           <li><code>log</code> - A logging instance</li>
-          </ul>
-          <p>
-          You can add your own variables by creating a BSFManagerFilter and
-          configuring it in struts-scripting.properties:
-          </p>
-          <ul>
-           
<li><code>struts-scripting.filters.FILTER_NAME.class=FILTER_CLASS</code> - The
-               class implementing BSFManagerFilter where FILTER_NAME is the 
name you
-               are calling the filter.</li>
-           
<li><code>struts-scripting.filters.FILTER_NAME.PROPERTY_NAME=PROPERTY_VALUE</code>
-                - A property to be used by the filter.</li>
-          </ul>
-          <p>
-          To use other scripting engines other than BeanShell, create a file 
called
-          <code>struts-scripting.properties</code> and add two properties for 
each engine:
-          </p>
-          <ul>
-           <li><code>struts-scripting.engine.ENGINE_NAME.class</code> - The 
class of the BSF
-               engine where ENGINE_NAME is the name you are calling the 
engine.</li>
-           <li><code>struts-scripting.engine.ENGINE_NAME.extensions</code> - A 
comma-delimited
-               list of file extensions that will be used to identify the 
engine to use
-               to execute the script.</li>
-          </ul>
-      </section>
- 
-          
-          </body>
+      </subsection>
+      <subsection name="Documentation">
+        <a name="documentation"/>
+        <ul>
+            <li><a href="user-guide.html">User Guide</a> - Covers installation 
and usage</li>
+            <li><a href="apidocs/index.html">Javadocs</a> - Includes 
+                <a 
href="apidocs/org/apache/struts/scripting/StrutsInfo.html"><code>struts</code></a>
 variable and 
+                <a 
href="apidocs/org/apache/struts/scripting/BSFManagerFilter.html">Filter</a> 
API's.</li>
+            <li><a 
href="http://svn.apache.org/viewcvs.cgi/struts/scripting/trunk/src/struts-example/";>Struts
 
+                Mailreader</a> - A rewrite of the Struts 1.2.8 Mailreader 
example application using Struts Scripting 
+                and <a href="http://www.beanshell.org";>BeanShell</a></li>
+        </ul>        
+      </subsection>   
+     </section> 
+   </body>
 
 </document>

Modified: struts/scripting/trunk/xdocs/navigation.xml
URL: 
http://svn.apache.org/viewcvs/struts/scripting/trunk/xdocs/navigation.xml?rev=349353&r1=349352&r2=349353&view=diff
==============================================================================
--- struts/scripting/trunk/xdocs/navigation.xml (original)
+++ struts/scripting/trunk/xdocs/navigation.xml Sun Nov 27 19:35:01 2005
@@ -4,8 +4,9 @@
   <body>
     <menu name="Struts BSF Scripting">
         <item name="Welcome" href="index.html"/>
-        <item name="What's New" href="index.html#What_s_New"/>
-        <item name="Usage" href="index.html#Usage_Notes"/>
+        <item name="Features" href="index.html#features"/>
+        <item name="Documentation" href="index.html#documentation"/>
+        <item name="User Guide" href="user-guide.html"/>
         <item name="Download (Sourceforge)" 
href="http://sourceforge.net/project/showfiles.php?group_id=49385&amp;package_id=84734"/>
     </menu>
 

Added: struts/scripting/trunk/xdocs/user-guide.xml
URL: 
http://svn.apache.org/viewcvs/struts/scripting/trunk/xdocs/user-guide.xml?rev=349353&view=auto
==============================================================================
--- struts/scripting/trunk/xdocs/user-guide.xml (added)
+++ struts/scripting/trunk/xdocs/user-guide.xml Sun Nov 27 19:35:01 2005
@@ -0,0 +1,165 @@
+<?xml version="1.0"?>
+<!--
+Copyright 1999-2005 The Apache Software Foundation
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<!--
+// ======================================================================== 78
+-->
+<document>
+  <properties>
+    <title>Struts Scripting User Guide</title>
+  </properties>
+
+  <body>
+    <section name="Struts Scripting User Guide">
+      <a name="overview"/>
+      <p>The entire Struts Scripting project is only a few classes, since most 
of
+      the heavy lifting is done by the 
+      <a href="http://jakarta.apache.org/bsf";>Beans Scripting Framework</a> 
+      and the scripting engines themselves.  Therefore, there are only a few 
steps
+      you'll need to take in order to sucessfully install and use Struts 
Scripting.
+        </p>
+      <ul>
+        <li><a href="#installation">Installation</a></li>
+        <li><a href="#usage">Usage</a></li>
+      </ul>  
+    <subsection name="Installation">
+      <a name="installation"/>
+         <p>After downloading the Struts Scripting distribution, copy the 
Struts
+         Scripting jar, <code>struts-scripting-1.0.jar</code>, to your 
application's
+         libraries directory.  When deployed, this directory will be 
<code>WEB-INF/lib</code>.
+         </p>
+         <p>Next, choose which scripting engine you want to use.  BSF ships 
with knowledge about
+         the following languages and script extensions:</p>
+         <table>
+            <caption>
+              <strong>BSF-supported languages and extentions</strong>
+            </caption>
+            <thead>
+            <tr>
+             <td>javascript (js)</td>
+             <td>jacl (jacl)</td>
+             <td>netrexx (nrx)</td>
+            </tr>
+            <tr>
+             <td>java (java)</td>
+             <td>javaclass (class)</td>
+             <td>bml (bml)</td>
+            </tr>
+            <tr>
+             <td>vbscript (vbs)</td>
+             <td>jscript (jss)</td>
+             <td>perlscript (pls)</td>
+            </tr>
+            <tr>
+             <td>perl (pl)</td>
+             <td>jpython (py)</td>
+             <td>jython (py)</td>
+            </tr>
+            <tr>
+             <td>lotusscript (lss)</td>
+             <td>xslt (xslt)</td>
+             <td>pnuts (pnut)</td>
+            </tr>
+            <tr>
+             <td>beanbasic (bb)</td>
+             <td>beanshell (bsh)</td>
+             <td>ruby (rb)</td>
+            </tr>
+            <tr>
+             <td>judoscript (judo, jud)</td>
+            </tr>
+            </thead>
+        </table>   
+        <p>Once you have picked a language, you need to download its libraries 
and install it 
+        into your application, which usually means copying its jar files into 
the same location
+        you copied the Struts Scripting jar.  If you are not sure, we 
recommend BeanShell
+        which ships with Struts Scripting, as it features a very similar 
Java-like syntax.
+        </p>
+        <p><i>Optional</i>: If you don't see your desired language that claims 
to support BSF, 
+        or their BSF engine has changed from what BSF expects, you can 
manually define BSF 
+        engines and have them loaded by Struts Scripting.
+          Create a file called
+          <code>struts-scripting.properties</code> and add two properties for 
each engine:
+          </p>
+          <ul>
+           <li><code>struts-scripting.engine.ENGINE_NAME.class</code> - The 
class of the BSF
+               engine where ENGINE_NAME is the name you are calling the 
engine.</li>
+           <li><code>struts-scripting.engine.ENGINE_NAME.extensions</code> - A 
comma-delimited
+               list of file extensions that will be used to identify the 
engine to use
+               to execute the script.</li>
+          </ul>
+        <p>The <code>struts-scripting.properties</code> should then stored in 
a directory
+        accessible to the classloader, usually <code>WEB-INF/classes</code>.
+        </p>
+    </subsection>     
+    <subsection name="Usage">
+      <a name="usage"/>
+         <p>To determine what script will be executed, the "parameter" 
attribute of
+           the action mapping should contain the name of the script relative to
+           the web application root directory (i.e. http://server/app). In the 
place of 
+         the traditional Action implementation, use the value 
<code>org.apache.struts.scripting.ScriptAction</code>.
+         For example:
+         </p>
+<pre>
+    &lt;action    path="/logoff"
+               type="org.apache.struts.scripting.ScriptAction"
+               parameter="/WEB-INF/scripts/Logoff.bsh"&gt;
+      &lt;forward name="success"              path="/index.jsp"/&gt;
+    &lt;/action&gt;
+</pre>
+        <p>In addition to specifying the script file, the "parameter" 
attribute can
+        also contain parameters that will be passed to the script in the form 
of 
+        pre-defined variables.  The format follows the URL format:</p>
+<pre>
+    
parameter="/path/file.bsh?PARAMETER_NAME=PARAMETER_VALUE[&amp;amp;PARAMETER_NAME=PARAMETER_VALUE..]"
+</pre>
+        <p>One example of how passed parameters can be used is have one script 
file 
+        handle multiple actions.</p>
+        <p>
+        Before the script completes, the next ActionForward needs to be
+        specified.  This can be done one of two ways:
+        </p>
+          <ol>
+           <li>Set <code>struts.forwardName</code> to the name of the 
forward</li>
+           <li>Set <code>struts.forward</code> to the actual ActionForward 
object
+              </li>
+          </ol>
+          <p>A number of pre-defined variables are available to the script:</p>
+          <ul>
+           <li><code>request</code> - The HTTP request</li>
+           <li><code>response</code> - The HTTP response</li>
+           <li><code>session</code> - The session</li>
+           <li><code>application</code> - The servlet context</li>
+           <li><code><a 
href="apidocs/org/apache/struts/scripting/StrutsInfo.html">struts</a></code> 
+                - A grouping of all Struts-related objects</li>
+           <li><code>log</code> - A logging instance</li>
+          </ul>
+          <p>
+          You can add your own variables by creating a BSFManagerFilter and
+          configuring it in struts-scripting.properties:
+          </p>
+          <ul>
+           
<li><code>struts-scripting.filters.FILTER_NAME.class=FILTER_CLASS</code> - The
+               class implementing BSFManagerFilter where FILTER_NAME is the 
name you
+               are calling the filter.</li>
+           
<li><code>struts-scripting.filters.FILTER_NAME.PROPERTY_NAME=PROPERTY_VALUE</code>
+                - A property to be used by the filter.</li>
+          </ul>
+      </subsection>
+   </section> 
+          
+          </body>
+
+</document>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to