husted 2002/10/29 03:08:44 Modified: doc volunteers.xml status.xml resources.xml project.xml newbie.xml kickstart.xml index.xml helping.xml Log: + Setup FAQ and Howto section. Revision Changes Path 1.14 +6 -4 jakarta-struts/doc/volunteers.xml Index: volunteers.xml =================================================================== RCS file: /home/cvs/jakarta-struts/doc/volunteers.xml,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- volunteers.xml 19 Oct 2002 21:58:14 -0000 1.13 +++ volunteers.xml 29 Oct 2002 11:08:43 -0000 1.14 @@ -45,7 +45,7 @@ </ul> </section> -<section name="User Guide Contributors" href="contributors.documentation"> +<section name="Documentation Contributors" href="contributors.documentation"> <ul> <li>Craig R. McClanahan</li> <li>David Geary</li> @@ -76,6 +76,7 @@ <li>Eddie Bush</li> <li>Yann Cebron </li> <li>David Graham</li> + <li>Steve Ditlinger</li> </ul> </section> @@ -94,6 +95,7 @@ <li><b>David M. Karr</b> (dmkarr at apache.org)</li> <li><b>Eddie Bush</b> (ekbush at apache.org)</li> <li><b>David Graham</b> (dgraham at apache.org)</li> +<li><b>James Mitchell</b> (jmitchell at apache.org)</li> </ul> </section> @@ -344,10 +346,10 @@ <h3><a name="dgraham">David Graham -- Committer</a></h3> <p>I, like many others, discovered Struts when contemplating writing my own -MVC Java framework for the web. Struts had everything I needed and more so I +MVC Java framework for the web. Struts had everything I needed and more so I scrapped plans for my own and joined the mailing lists. After playing with it -for several months I started submitting documentation and a few source patches. -I'm excited about helping Struts evolve and am continually amazed by the framework +for several months I started submitting documentation and a few source patches. +I'm excited about helping Struts evolve and am continually amazed by the framework and the community surrounding it. </p> 1.6 +2 -2 jakarta-struts/doc/status.xml Index: status.xml =================================================================== RCS file: /home/cvs/jakarta-struts/doc/status.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- status.xml 25 Oct 2002 12:50:32 -0000 1.5 +++ status.xml 29 Oct 2002 11:08:43 -0000 1.6 @@ -107,7 +107,7 @@ </section> <section> -<p><font size="-2">Website updated from CVS: 2002 OCT 25 by husted.</font></p> +<p><font size="-2">Website updated from CVS: 2002 OCT 29 by husted.</font></p> </section> </chapter></body></document> 1.17 +5 -6 jakarta-struts/doc/resources.xml Index: resources.xml =================================================================== RCS file: /home/cvs/jakarta-struts/doc/resources.xml,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- resources.xml 23 Jun 2002 17:42:07 -0000 1.16 +++ resources.xml 29 Oct 2002 11:08:43 -0000 1.17 @@ -1,16 +1,15 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <document url="./resources.xml"> <properties> -<author>Ted Husted</author> -<title>Resources - Jakarta Struts</title> +<title>Page Moved - Jakarta Struts</title> </properties> -<body> -<chapter name="Struts Resources"> +<body> +<chapter name="Struts Resources"> -<section name="Resource Index"> +<section name="Ooops"> -<p>This page has moved to +<p>This page has moved to <a href="resources/index.html">http://jakarta.apache.org/struts/resources/</a></p> <p>Please update your hyperlinks.</p> 1.28 +2 -3 jakarta-struts/doc/project.xml Index: project.xml =================================================================== RCS file: /home/cvs/jakarta-struts/doc/project.xml,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- project.xml 17 Oct 2002 12:00:47 -0000 1.27 +++ project.xml 29 Oct 2002 11:08:43 -0000 1.28 @@ -8,11 +8,10 @@ <menu name="Welcome"> <item name="Home" href="index.html"/> <item name="News & Status" href="news.html"/> - <item name="Kickstart FAQ" href="kickstart.html"/> + <item name="FAQs and Howtos" href="faqs/index.html"/> <item name="Resources" href="resources/index.html"/> - <item name="Who We Are" href="volunteers.html"/> - <item name="How to Help" href="helping.html"/> <item name="List Archive" href="http://nagoya.apache.org/eyebrowse/SummarizeList?listId=42"/> + <item name="Who We Are" href="volunteers.html"/> </menu> <menu name="Downloads"> 1.12 +9 -327 jakarta-struts/doc/newbie.xml Index: newbie.xml =================================================================== RCS file: /home/cvs/jakarta-struts/doc/newbie.xml,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- newbie.xml 20 Oct 2002 17:06:08 -0000 1.11 +++ newbie.xml 29 Oct 2002 11:08:43 -0000 1.12 @@ -1,334 +1,16 @@ -<?xml version="1.0"?> -<document url="./kickstart.xml"> +<?xml version="1.0" encoding="ISO-8859-1"?> +<document url="./newbie.xml"> <properties> -<author>Ted Husted</author> -<author>James Holmes</author> -<title>The Struts User's Guide - Newbie FAQ</title> +<title>Page Moved - Jakarta Struts</title> </properties> <body> -<chapter href="faq" name="Newbie FAQ"> -<section href="contents" name="Newbie FAQ"> -<p><font color="red"><b>UNDER CONSTRUCTION</b></font> (contributions welcome)</p> -<p>Here are answers to 24 common questions people ask when using Struts on -their first project. <b>For an in-depth, searchable FAQ, visit our friends at <a href="http://www.jguru.com/faq/home.jsp?topic=Struts">JGuru</a>.</b></p> - <ul> +<chapter name="Newbie FAQ"> - <li><a href="#reload">Why was reload removed from Struts 1.1?</a></li> - <li><a href="#modules">What is a modular application? What does module-relative mean?</a></li> +<section name="Ooops"> - <li><a href="#naming">Why are some of the class and element names counter-intuitive?</a></li> +<p>This page has moved to +<a href="faqs/index.html">http://jakarta.apache.org/struts/faqs/</a></p> +<p>Please update your hyperlinks.</p> - <li>Why is ActionForm a base class rather than an interface?</li> - - <li>Do I have to have a separate ActionForm bean for every HTML form?</li> - - <li>do ActionForms have to be true JavaBeans?</li> - - <li>Can I use other beans or hashmaps with ActionForms?</li> - - <li>How can I prepopulate a form?</li> - - <li><a href="#multiple">Can I use multiple HTML form elements with the same name?</a></li> - - <li><a href="#actionforms">Why are my checkboxes not being set from ON to OFF?</a></li> - - <li>How can I capture binary or formatted values, like dates or telephone numbers?</li> - - <li>Why do my option lists disappear when validation fails?</li> - - <li><a href="#scriptlets">Can't I just create some of my JavaBeans in the JSP using a scriptlet?</a></li> - - <li><a href="#tags">Why do the Struts tags provide for so little formatting?</a></li> - - <li>When is the best time to validate input?</li> - - <li>How can I avoid validating a form before data is entered?</li> - - <li>How can I create a "wizard" workflow?</li> - - <li>How can I "chain" Actions?</li> - - <li>Can I have an Action without a form?</li> - - <li>How do I access my database?</li> - - <li>How can I authenticate my users?</li> - - <li>How can I scroll through list of pages like the search results in google?</li> - - <li>Can I have multiple submit buttons on the same form?</li> - - <li>Why can't my Javascript submit a form?</li> - - <li><a href="minimization">Why does the option tag render selected="selected" instead of just "selected"?</a></li> - - <li>Can I create dynamic ActionForwards?</li> - - <li>How can I use my own (ActionForm, ActionForward, ActionMapping, ActionServlet) class?</li> - - <li>Do I have to use JSPs with my application?</li> - - </ul> -</section> - -<section href="reload" name="Why was reload removed from Struts 1.1?"> - -<p>ReloadAction is not supported in 1.1 for two reasons:</p> -<ul> -<li>It never did let you reload everything that you would really - want to -- particularly changed classes -- so many people - ended up having to reload the webapp anyway.</li> -<li>Not supporting ReloadAction lets Struts avoid doing synchronization - locks around all the lookups (like figuring out which action to use, - or the destination of an ActionForward) so apps can run a little faster.</li> -</ul> - -</section> - -<section href="modules" name="What is a modular application? What does module-relative mean?"> - -<p> -Since Struts 1.1, the framework supports multiple application modules. All applications have at -least one root, or default, module. Like the root directory in a file system, the default application -has no name. (Or is named with an empty string, depending your viewpoint.) Developing an application -with only a default module is no different from how applications were developed under Struts 1.0. -Since Struts 1.1, you can add additional modules to your application, each of which can have their -own configuration files, messages resources, and so forth. Each module is developed in the same way as -the default module. Applications that were developed as a single module can added to a multiple -module application, and modules can promoted to a standalone application without change. For more -about configuring your application to support multiple modules, see -<a href="userGuide/building_controller.html#module_config">Building Controller Components</a> in the -User Guide. -</p> - -<p> -But to answer the question =:0), a modular application is a Struts application that uses more than -one module. Module-relative means that the URI starts at the application-module level, rather than at -the application-context level, or the absolute-URL level. -</p> -<ul> -<li>Absolute URL: http://localhost/myApplication/myModule/myAction.do</li> -<li>context-relative: /myModule/myAction.do</li> -<li>module-relative: /myAction.do</li> -</ul> - -</section> - -<section href="naming" name="Why are some of the class and element names counter-intuitive?"> -<p> -The framework grew in the telling and as it evolved some of the names -drifted. -</p> -<p>The good thing about a nightly build, is that everything becomes -available to the community as soon as it is written. The bad thing about -a nightly build is that things like classnames get locked down early and -then become difficult to change. -</p> -</section> - - -<section href="actionforms" name="Wither ActionForms?"> -<p> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg19281.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg19281.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg19338.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg19338.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg20833.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg20833.html</a><br/> -</p> -</section> - - -<section href="JavaBeans" name="Do ActionForms have to be true JavaBeans?"> -<p> -The utilities that Struts uses (Commons-BeanUtils since 1.1) require that ActionForm properties follow -the JavaBean patterns for mutators and accessors (get*,set*,is*). Since Struts uses the Introspection API -with the ActionForms, some containers may require that all the JavaBean patterns be followed, including -declaring "<code>implements serializable</code>" for each subclass. The safest thing is to review the -<a href="userGuide/preface.html#javabeans">JavaBean specification</a> and follow all the prescribed patterns.</p> -</section> - - -<section href="multiple" name="Can I use multiple HTML form elements with the same name?"> -<p> -Yes. Define the element as an array and Struts will autopopulate it like any other. -</p> -<pre> -<code> -private String[] id= {}; -public String[] getId() { return this.id; } -public void setItem(String id[]) {this.id = id;} -</code> -</pre> -<p> -And so forth -</p> -</section> - - -<section href="checkbox" name="Why are my checkboxes not being set from ON to OFF?"> -<p> -A problem with a checkbox is that the browser will only include it in the request -when it is checked. If it is not checked, the HTML specification suggests that it -not be sent (i.e. omitted from the request). If the value of the checkbox is being -persisted, either in a session bean or in the model, a checked box can never -unchecked by a HTML form -- because the form can never send a signal to uncheck -the box. The application must somehow ascertain that since the element was not -sent that the corresponding value is unchecked. -</p> -<p> -The recommended approach for Struts applications is to use the reset method in the -ActionForm to set all properties represented by checkboxes to null or false. The -checked boxes submitted by the form will then set those properties to true. The -omitted properties will remain false. Another solution is to use radio buttons -instead, which always submit a value. -</p> -<p> -It is important to note that the HTML specification recommends this same -behavior whenever a control is not "successful". Any blank element in a HTML -form is not guaranteed to submitted. It is therefor very important to set the -default values for an ActionForm correctly, and to implement the reset method -when the ActionForm might kept in session scope. -</p> -</section> - - -<section href="scriptlets" name="Can't I just create some of my JavaBeans in the JSP using a scriptlet?"> -<p> -Struts is designed to encourage a -<a href="http://www.javaworld.com/javaworld/jw-12-1999/f_jw-12-ssj-jspmvc.html"> -Model 2/MVC architecture</a>. But there is nothing that prevents you from using Model 1 -techniques in your JavaServer Pages, so the answer to the question is "Yes, you can". -</p> -<p> -Though, using Model 1 techniques in a Struts application does go against the grain. -The approach recommended by most Struts developers is to create and populate whatever -objects the view may need in the Action, and then forward these through the request. -Some objects may also be created and stored in the session or application context, -depending on how they are used. -</p> -<p> -Likewise, there is nothing to prevent you from using scriptlets along with JSP -tags in your pages. Though, many Struts developers report writing very complex -scriplet-free applications and recommend the JSP tag approach to others. -</p> -<p> -For help with Model 1 techniques and scriptlets, you might consider joining the -<a href="http://archives.java.sun.com/jsp-interest.html">Javasoft JSP-interest -mailing list</a>, where there are more people still using these approaches. -</p> -</section> - - -<section href="tags" name="Why do the Struts tags provide for so little formatting?"> -<p> -<i>The Struts tags seem to provide only the most rudimentary funcationality. Why is there not better support for date formatting and advanced string handling?</i> -</p> -<p> -Three reasons: -</p> -<p> -First, work started on the JSTL and we didn't want to duplicate the effort. -</p> -<p> -Second, work started on Java Server Faces, and we didn't want to duplicate that effort either. -</p> -<p> -Third, in a Model 2 application, most of the formatting can be handled in the ActionForms (or in the business tier), -so all the tag has to do is spit out a string. This leads to better reuse since the same "how to format" code -does not need to be repeated in every instance. You can "say it once" in a JavaBean and be done with it. -</p> -</section> - -<section name="How do I access my database?"> -<p> -The best thing is use the Action as a thin adaptor between the web/presentation-tier and your business classes -(including those that access a database). -</p> -<p> -So you first design a business API that uses plain Java classes. The best thing is to use objects that take -ordinary Java types and return a JavaBean or collection of JavaBeans. The Action then calls these objects and -passes the result back to the web/presentation tier. -</p> -<p> -A common approach is to create an Action class for each of the business API methods/classes that you need to call. -Ideally, all the database access code should be encapsulated in the business API classes, so Struts doesn't know -what persistent layer you are using (or even if there is a persisentance layer). It just passes a key or search -String and gets back a bean or collection of beans. This lets you use the same business API classes in other -environments, and also to run unit tests against your business API outside of Struts or a HTTP environment. -</p> -<p> -To get started, it's simplest to setup a 1:1 correspondence between the Actions and the entry-points to -your business API. As you gain experience, you will find ways to combine your Actions, say by using the -DispatchAction. It's even possible to use a single "framework" Action to call all of your business -classes, as is done with Scaffold ProcessAction in the contrib folder. Using fewer Actions does require -a deeper understanding of how Struts and MVC frameworks operate. Don't hestitate to err on the side -of creating more Actions at first. The Struts configuration makes it easy to refactor your Actions -later, since you can change the Action type without changing anything else in the application. -</p> -<p> -For more, see -</p> -<p> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24621.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24621.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24709.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24709.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24626.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24626.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24331.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24331.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24102.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24102.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23501.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23501.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23455.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23455.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23375.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23375.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23321.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23321.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23098.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23098.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg22713.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg22713.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg21974.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg21974.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg21026.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg21026.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg19338.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg19338.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg18323.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg18323.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg14975.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg14975.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg14914.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg14914.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg14435.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg14435.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg01562.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg01562.html</a> -</p> -<p> -Transformation/Data Transfer<br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24480.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24480.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23623.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg23623.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg10195.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg10195.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg10205.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg10205.html</a> -</p> -</section> - - -<section name="How can I authenticate my users?"> -<p> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24504.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg24504.html</a><br/> -<a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg22949.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg22949.html</a> -</p> -</section> - - -<section href="pager" name="How can I scroll through list of pages like the search results in google?"> -<p>Many Struts developers use the Pager from the JSPTags site.</p> -<p><a href="http://jsptags.com/tags/navigation/pager/">http://jsptags.com/tags/navigation/pager/</a></p> -</section> - - -<section href="minimization" name="Why does the option tag render selected=selected instead of just selected?"> -<p> -Attribute minimization (that is, specifying an attribute with no value) is -a place where HTML violates standard XML syntax rules. This matters a lot -for people writing to browsers that support XHTML, where doing so makes -the page invalid.It's much better for Struts to use the expanded syntax, -which works the same on existing browsers interpreting HTML, and newer -browsers that expect XHTML-compliant syntax. Struts is following the -behavior recommended by the <a href="http://www.w3.org/TR/xhtml1/#h-4.5"> -XHTML specification</a></p> -</section> - -<section href="more" name="Other FAQs"> -<ul> -<li><a href="kickstart.html">Kickstart FAQ</a></li> -<li><a href="helping.html">How to Help FAQ</a></li> -<li><a href="http://www.jguru.com/faq/home.jsp?topic=Struts">JGuru Struts FAQ</a></li> -</ul> -</section> -</chapter></body></document> +</section></chapter></body></document> 1.20 +8 -300 jakarta-struts/doc/kickstart.xml Index: kickstart.xml =================================================================== RCS file: /home/cvs/jakarta-struts/doc/kickstart.xml,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- kickstart.xml 20 Oct 2002 17:06:08 -0000 1.19 +++ kickstart.xml 29 Oct 2002 11:08:43 -0000 1.20 @@ -1,308 +1,16 @@ -<?xml version="1.0"?> +<?xml version="1.0" encoding="ISO-8859-1"?> <document url="./kickstart.xml"> <properties> -<author>Ted Husted</author> -<author>James DeVries</author> -<author>James Holmes</author> -<title>The Struts User's Guide - Kickstart FAQ</title> +<title>Page Moved - Jakarta Struts</title> </properties> <body> -<chapter href="faq" name="Kickstart FAQ"> -<section href="contents" name="Kickstart FAQ"> -<p>Here are answers to the usual getting-started questions. <b>For an in-depth, searchable FAQ, visit our friends at <a href="http://www.jguru.com/faq/home.jsp?topic=Struts">JGuru</a>.</b></p> - <ul> - <li><a href="#why">Why do we need Struts?</a></li> - <li><a href="#how">How does Struts work?</a></li> - <li><a href="#compat">Is Struts compatible with other Java technologies?</a></li> - <li><a href="#who">Who wrote Struts?</a></li> - <li><a href="#struts">Why is it called Struts?</a></li> - <li><a href="#license">How is Struts licensed?</a></li> - <li><a href="#usage">Can Struts be used in a commercial application?</a></li> - <li><a href="#credits">Do I have to credit Struts on my own website?</a></li> - </ul><ul> - <li><a href="#where">Where can I get a copy of Struts?</a></li> - <li><a href="#install">How do I install Struts?</a></li> - <li><a href="#jar">When do I need the struts.jar on my classpath?</a></li> - <li><a href="#tests">Does Struts provide its own unit tests?</a></li> - </ul><ul> - <li><a href="#help">Where can I get help with Struts?</a></li> - <li><a href="#consultants">Is commercial support available for Struts?</a></li> - <li><a href="#hosts">Are there ISPs that will host my Struts application?</a></li> - <li><a href="#powered">What Web sites are already Powered by Struts?</a></li> - </ul><ul> - <li><a href="#turbine">What's the difference between Struts and Turbine?</a></li> - <li><a href="#taglibs">Why aren't the Struts tags maintained as part of the Jakarta Taglibs project?</a></li> - <li><a href="#xhmtl">Are the Struts tags XHTML compliant?</a></li> - <li><a href="#jsf">What about the JSTL and JavaServer Faces?</a></li> - </ul><ul> - <li><a href="#digest">Is there a digest for the mailing list?</a></li> - <li><a href="#newsgroup">Is there a Struts Newsgroup?</a></li> - <li><a href="#mailbounce">Why didn't my posting show up on the user list?"</a></li> - <li><a href="#unsubscribe">How do I unsubscribe from the mailing list?</a></li> - </ul><ul> - <li><a href="#more">Are there any other FAQs?</a></li> - </ul> -</section> +<chapter name="Kickstart FAQ"> -<section href="why" name="Why do we need Struts?"> -<p>Java technologies give developers a serious boost when creating and maintaining applications to meet the demands of today's public Web sites and enterprise intranets. Struts combines Java Servlets, Java ServerPages, custom tags, and message resources into a unified framework. The end result is a cooperative, synergistic platform, suitable for development teams, independent developers, and everyone in between.</p> -</section> -<section href="how" name="How does Struts work?"> -<p>Java Servlets are designed to handle requests made by Web browsers. Java ServerPages are designed to create dynamic Web pages that can turn billboard sites into live applications. Struts uses a special Servlet as a switchboard to route requests from Web browsers to the appropriate ServerPage. This makes Web applications much easier to design, create, and maintain.</p> -</section> +<section name="Ooops"> -<section href="javasoft" name="Is Struts compatible with other Java technologies?"> -<p>Yes. Struts is committed to supporting industry standards. Our lead developer is a member of <a href="http://java.sun.com/aboutJava/communityprocess/jsr/jsr_052_jsptaglib.html">JSR052</a>, Sun's Expert group for developing a standard library of custom JSP tags. A primary design criteria is that Struts must be compatible with Sun's J2EE platform for corporate enterprises. In fact, Struts really acts as an integrator of Java technologies, so that they can be used in the "real world".</p> -</section> +<p>This page has moved to +<a href="faqs/index.html">http://jakarta.apache.org/struts/faqs/</a></p> +<p>Please update your hyperlinks.</p> -<section href="who" name="Who wrote Struts?"> -<p>Struts was created by Craig R. McClanahan, and donated to the Apache Software Foundation in May 2000. Craig is the primary developer of both Struts and <a href="http://jakarta.apache.org/tomcat/index.html">Tomcat 4</a>, the basis for the official reference implementation for a servlet 2.3 and JSP 1.2 container. With stable releases of Struts and Tomcat 4 in circulation, Craig is now the Specification Lead for <a href="http://jcp.org/jsr/detail/127.jsp">JavaServer Faces (JSR-127)</a>, and is the Web Layer Architect for the Java2 Enterprise Edition (J2EE) platform as a whole.</p> -<p>There are now many active committers to the Struts project, working cooperatively from around the globe. Other Java developers are invited to <a href="#contribute">contribute to the project</a>. Struts is an <a href="http://jakarta.apache.org/">Apache Jakarta</a> project, with the common mission to "provide commercial-quality server solutions based on the Java Platform that are developed in an open and cooperative fashion". All told, 17 individual developers and committers contributed to the Struts 1.0 codebase.</p> -</section> - -<section href="struts" name="Why is it called Struts?"> -<p>It's a reference to struts in the architectural sense, a reminder of the nearly invisible pieces that hold up buildings, houses, and bridges.</p> -</section> - -<section href="license" name="How is Struts licensed?"> -<p>Struts is copyrighted software available under a "free-to-use-license" by the Apache Software Foundation. The license appears at the head of every source code file. A reference copy of the license is available <a href="http://www.apache.org/LICENSE-1.1">here</a>.</p> -</section> - -<section href="usage" name="Can Struts be used in a commercial product?"> -<p>Yes. The only requirements you must meet are those listed in the Apache Software Foundation license, which is included at the top of each source file and in the file LICENSE in the top-level directory of the distribution.</p> -<p>In addition, <a href="helping.html#bugs">contributions of patches, improved code, new features,</a> or even just requests for features are also welcome.</p> -</section> - -<section href="credits" name="Do I have to credit Struts on my own website?"> -<p>You need to credit Struts if you <strong>redistribute your own framework</strong> based on Struts -for other people to use. (See the <a href="http://www.apache.org/LICENSE">Apache License</a> for details.) -But you do <strong>not</strong> need to credit Struts just because your web application utilizes the framework. -It's the same situation as using the Apache HTTPD server or Tomcat. Not required if its just running your web site. -Required if you've used the source code to create your own server that you are redistributing to other people.</p> -</section> - -<section href="where" name="Where can I get a copy of Struts?"> -<p>The best place to download Struts is at <a href="http://jakarta.apache.org/struts/">jakarta.apache.org/struts</a>. The nightly builds are very stable, and recommended as the best place to start today.</p> -</section> - -<section href="install" name="How do I install Struts?"> -<p>To develop applications with Struts, you can usually just add the Struts JAR file -to your Java development environment. You can then start using the Struts classes as -part of your own application. A blank Struts application (in the -<code>webapps</code> directory, open <code>struts-blank.war</code>) -is provided, which you can just copy to get a quick-start on your own brainchild.</p> -<p>Since the full source code for Struts is available, we also provide -<a href="http://jakarta.apache.org/struts/installation.html">complete instructions</a> -for compiling your own Struts JAR from scratch. (This is actually easier than it looks!)</p> -<p>Your Struts application can usually be deployed using a standard WAR file. In most -cases, you simply deposit the WAR file on your application server, and it is installed -automatically. If not, step-by-step installation instructions for -<a href="http://jakarta.apache.org/struts/installation.html#Containers">various servlet -containers</a> are available.</p> -</section> - -<section href="jar" name="When do I need "struts.jar" on my classpath?"> -<p>When you are compiling an application that uses the Struts classes, you must have the "struts.jar" on the classpath your <b>compiler</b> sees -- it does not <i> have</i> to be on your CLASSPATH environment variable.</p> -<p>Why is that an important distinction? Because if you are using a servlet container on your development machine to test your application, the "struts.jar" <b>must not</b> be on your CLASSPATH environment variable when running the container. (This is because each Web application must also have their own copy of the Struts classes, and the container will become confused if it is on the environment path as well.)</p> -<p>There are several general approaches to this issue:</p> -<ul> -<li><b>Use ANT</b> for building your projects -- it can easily assemble classpaths for the compiler. (This is how Struts itself is built, along with Tomcat and most other Java-based projects).</li> -<li><b>Use an IDE</b> where you can configure the "class path" used for compilation independent of the CLASSPATH environment variable.</li> -<li><b>Use a shell script</b> that temporarily adds struts.jar to the classpath just for compilation, for example<br/> -<i>javac -classpath /path/to/struts.jar:$CLASSPATH $@</i></li> -</ul> -</section> - -<section href="tests" name="Does Struts include its own unit tests?"> -<p> -Struts currently has two testing environments, to reflect the fact that -some things can be tested statically, and some really need to be done in -the environment of a running servlet container.</p> -<p> -For static unit tests, we use the <a href="http://www.junit.org">JUnit framework</a>. -The sources for these tests are in the "src/test" -hierarchy in the CVS repository, and are executed via the "test.junit" -target in the top-level build.xml file. Such tests are focused on the -low-level functionality of individual methods, are are particularly -suitable for the static methods in the org.apache.struts.util utility -classes. In the test hierarchy, there are also some "mock object" classes -(in the org.apache.struts.mock package) so that you can package up things -that look like servlet API and Struts API objects to pass in as arguments -to such tests.</p> -</section> - -<section href="help" name="Where can I get help with Struts?"> -<p>The Struts package comes complete with a -<a href="http://jakarta.apache.org/struts/userGuide/index.html">Users Guide</a> to -introduce people to the framework and its underlying technologies. Various components -also have their own in-depth Developers Guide, to cover more advanced topics. Comprehensive -<a href="http://jakarta.apache.org/struts/api/index.html">Javadocs</a> are included -along with the <b>full source code</b>. For your convenience, these are bundled together as -a self-installing application. The <code>struts-documentation.war</code> is the same -bundle that is deployed as the -<a href="http://jakarta.apache.org/struts/">Struts Web site</a>. -</p> -<p> -The -<a href="http://jakarta.apache.org/site/mail.html">Strut's mailing list</a> is also -very active, and welcomes posts from new users. Before posting a new question, be -sure to consult the -<a href="http://www.mail-archive.com/struts-user%40jakarta.apache.org/"> -<b>MAILING LIST ARCHIVE</b></a> and the very excellent -<a href="http://www.tuxedo.org/~esr/faqs/smart-questions.html"> -How To Ask Questions The Smart Way</a> by Eric Raymond. Please do be sure -to <a href="http://expita.com/nomime.html">turn off HTML</a> in your -email client before posting. -</p> -<p> -There are also many third-party tutorials, articles, and books that cover Struts. -See our -<a href="resources/tutorials.html">Resources page</a> for current listings and -links. -</p> -</section> - -<section href="support" name="Is commercial support available?"> -<p>There is no official, commercial support for Struts, though third parties may offer different degrees of support. A list of Struts consultants is available on our <a href="resources/consultants.html">Resources page</a></p> -</section> - -<section href="providers" name="Are there ISPs that will host my Struts application?"> -<p>For a listing of some Java and Struts ISPs, visit our <a href="resources/hosts.html">Resources page</a>.</p> -</section> - -<section href="powered" name="What Web sites are already Powered by Struts?"> -<p>For a listing of some Struts-powered Web sites available to the public, visit our <a href="resources/powered.html">Resources page</a>.</p> -</section> - -<section href="turbine" name="What's the difference between Jakarta Struts and Jakarta Turbine?"> -<p>See</p> -<ul> -<li>< <a href="http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg03206.html">http://www.mail-archive.com/struts-user@;jakarta.apache.org/msg03206.html</a> ></li> -<li>< <a href="http://www.mail-archive.com/general@;jakarta.apache.org/msg00495.html">http://www.mail-archive.com/general@;jakarta.apache.org/msg00495.html</a> ></li> -<li>< <a href="http://jakarta.apache.org/velocity/ymtd/ymtd.html">http://jakarta.apache.org/velocity/ymtd/ymtd.html</a> ></li> -</ul> -</section> - -<section href="taglibs" name="Why aren't the Struts tags maintained as part of the Jakarta Taglibs project?"> -<p>Development of both products began about the same time. Leading up to the release of 1.0, it was thought better to continue to develop the taglibs alongside the controller. Now that 1.0 is out, the Java ServerPages Standard Taglib is in active development. Once work on the JSPTL stabilizes, the Struts taglibs will be revisited. Tags which are not linked directly to the framework may be hosted at Jakarta Taglibs instead.</p> -</section> - -<section href="xhtml" name="Are the Struts tags XHTML compliant?"> -<p>If you utilize a <html:html xhtml="true> element on your page, the tags -will render in a XHTML compatible manner (since Struts 1.1 beta 2). </p> -</section> - -<section href="wml" name="Will the Struts tags support other markup languages such as WML"> -<p> -Struts itself is markup neutral. The original Struts taglibs are only one example of how -presentation layer components can access the framework. The framework objects are exposed -through the standard application, session, and request contexts, where any Java component in -the application can make use of them. -</p> - -<p>Markup extensions that use Struts are available for -<a href="http://jakarta.apache.org/velocity">Velocity</a> and -<a href="http://www.openroad.ca/opencode/">XLST</a>, among others. -A new Struts tag for -<a href="#jsf">Java Server Faces</a> is also in development. -</p> - -<p>For more about using WAP/WML with Struts see the article -<a href="http://www.sys-con.com/pbdj/archives2/0904/hamboeck/"> -WAP up your EAserver</a>. -</p> -</section> - -<section href="jsf" name="What about the JSTL and JavaServer Faces?"> -<p> -The lead developer of Struts, Craig McClanahan, was a member of the -expert group for the JavaServer Standard Tag Library (JSR 052) and -now the specification lead for JavaServer Faces (JSR 127). Both -technologies are complementary to Struts.</p> -<p> -The mainstay of the Struts framework is the controller components, which -can be used with any Java presentation technology. As new technologies -become available, it is certain that new "glue" components will also -appear to help these technologies work as well with Struts as the -bundled JSP tags. This would apply to both the JSTL and JSF.</p> -<p> -At some point, we would not be surprised to see Faces become the -preferred UI implementation technology once it is standardized and -available. You can be assured that any future migration will be -made as painless as possible, and maximize your investment in -Struts.</p> -<p> -The JSTL is available through the Jakarta Taglibs site: <br/> -<a href="http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html">http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html</a> -</p> -<p> -The JavaServer Faces specification is still being finalized. Public release of -the specification is scheduled for Summer 2002, and an implementation may be -available in Fall of 2002. <a href="http://servlet.java.sun.com/javaone/sf2002/conf/sessions/display-1697.en.jsp"> -A presentation was given at JavaOne 2002</a> with some additional background. -</p> -<p> -In September 2002, McClanahan announced that a -<a href="../proposals/struts-faces.html">struts-faces taglib</a> is in -development and might be released sometime in the Q4 2002. The taglib depends -on unreleased JSF features, and so an early release of the taglib must follow -release of a later implementation of JSF. -</p> -</section> - -<section href="digest" name="Is there a digest for the User list?"> -<p> -Yes. <a href="mailto:struts-user-digest-subscribe@;jakarta.apache.org">send a blank message</a> to < <a href="mailto:struts-user-digest-subscribe@;jakarta.apache.org">[EMAIL PROTECTED]</a>>. -</p> -<p> -If you are subscribed to the digest, you can also post to the list. -Just be sure to send your post to the -<a href="mailto:struts-user@;jakarta.apache.org">user list</a> rather than trying to reply to the digest. -</p> -</section> - -<section href="newsgroup" name="Is there a Struts newsgroup?"> -<p> -Not a usenet group, but the Struts User list can be accessed with your -favorite newsgroup reader from the -<a href="http://news.basebeans.com/forums.jsp"> -BaseBeans Engineering</a> site. -</p> -</section> - -<section href="mailbounce" name="Why didn't my posting show up on the user list?"> -<p> -You must be subscribed to the <a href="mailto:struts-user-subscribe@;jakarta.apache.org">user list</a> -or <a href="mailto:struts-user-digest-subscribe@;jakarta.apache.org">user digest</a> before posting -(or use the <a href="http://news.basebeans.com/forums.jsp">BaseBeans newsgroup</a> instead). -</p> -</section> - -<section href="unsubscribe" name="How do I unsubscribe from the mailing list?"> -<p> -<b>From the email account used to subscribe to the list,</b> <a href="mailto:struts-user-unsubscribe@;jakarta.apache.org">send a blank message</a> to < <a href="mailto:struts-user-unsubscribe@;jakarta.apache.org">[EMAIL PROTECTED]</a>>. -</p> -<p> -If you are receiving the digest, you must send a blank email to -<<a href="mailto:struts-user-digest-unsubscribe@;jakarta.apache.org">[EMAIL PROTECTED]</a>> -instead. -</p> -</section> - -<section href="more" name="Are there any other FAQs?"> -<p> -Yes. For questions new developers commonly ask, visit the <a href="newbie.html">Struts Newbie FAQ</a>. For an in-depth, searchable FAQ, visit our friends at <a href="http://www.jguru.com/faq/home.jsp?topic=Struts">JGuru</a>. -</p> -<p> -There is also a separate FAQ page for <a href="helping.html">how to help</a> make Struts even better. -</p> -</section> - -<section> - <p> - Next: <a href="userGuide/preface.html">Preface to the User Guide</a> - </p> -</section> - -</chapter></body></document> +</section></chapter></body></document> 1.33 +8 -9 jakarta-struts/doc/index.xml Index: index.xml =================================================================== RCS file: /home/cvs/jakarta-struts/doc/index.xml,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- index.xml 25 Oct 2002 12:45:33 -0000 1.32 +++ index.xml 29 Oct 2002 11:08:43 -0000 1.33 @@ -58,10 +58,9 @@ <p> The <b>official documentation</b> for the framework is provided both online and as a self-installing WAR in the distribution. The - <code>struts-documentation.war</code> includes the - <a href="kickstart.html">Kickstart</a>, - <a href="newbie.html">Newbie</a>, and - <a href="helping.html">How to Help</a> FAQs, + <code>struts-documentation.war</code> includes our + <a href="./faqs/index.html">FAQs and Howtos</a>, + <a href="./faqsnewbie.html">Newbie</a> along with the <a href="userGuide/index.html">Users Guide</a>, <a href="api/index.html">Javadocs</a>, and everything else you find here. You are invited to preview the documentation online, and then install the @@ -79,11 +78,11 @@ </blockquote> <p><a name="faqs"></a> - The <a href="kickstart.html"><b>Kickstart FAQ</b></a> answers the most common + The <a href="./faqs/kickstart.html"><b>Kickstart FAQ</b></a> answers the most common non-technical questions people first ask about Struts. The - <a href="newbie.html">Struts Newbie FAQ</a> answers the most common + <a href="./faqs/newbie.html">Struts Newbie FAQ</a> answers the most common technical questions asked by first-timer Struts developers. The - <a href="helping.html">How to Help</a> FAQ answers the most common questions + <a href="./faqs/helping.html">How to Help</a> FAQ answers the most common questions about contributing to the Jakarta-Struts project. A more extensive Struts knowledgebase is available at the <a href="http://jguru.com/faq/Struts">JGuru FAQ</a> and @@ -330,7 +329,7 @@ <a href="#Bugs">Bugzilla</a>. </p> <p> - For more, see the <a href="helping.html">How to Help FAQ</a>. + For more, see the <a href="./faqs/helping.html">How to Help FAQ</a>. </p> </section> @@ -392,7 +391,7 @@ All work on Struts and the other Jakarta subprojects is provided on a volunteer basis. For more about what you can do, see the <a href="http://jakarta.apache.org/site/getinvolved.html">Getting Involved - Overview</a> and the Struts <a href="helping.html">How to Help FAQ</a>. + Overview</a> and the Struts <a href="./faqs/helping.html">How to Help FAQ</a>. </p> </section> 1.5 +9 -247 jakarta-struts/doc/helping.xml Index: helping.xml =================================================================== RCS file: /home/cvs/jakarta-struts/doc/helping.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- helping.xml 20 Oct 2002 17:06:08 -0000 1.4 +++ helping.xml 29 Oct 2002 11:08:43 -0000 1.5 @@ -1,254 +1,16 @@ -<?xml version="1.0"?> -<document url="./kickstart.xml"> +<?xml version="1.0" encoding="ISO-8859-1"?> +<document url="./helping.xml"> <properties> -<author>Ted Husted</author> -<author>Craig R. McClanahan</author> -<title>The Struts User's Guide - How to Help FAQ</title> +<title>Page Moved - Jakarta Struts</title> </properties> <body> -<chapter href="faq" name="How to Help FAQ"> +<chapter name="How to help FAQ"> -<section href="contents" name="How to Help FAQ"> -<ul> - <li><a href="#corp">What can my company do to help support Struts?</a></li> - <li><a href="#bugs">How can I report bugs or make feature requests?</a></li> - <li><a href="#contribute">How can I contribute to Struts source code?</a></li> - <li><a href="#documentation">How can I contribute to the documentation?</a></li> - <li><a href="#release">So when is the next release coming out?</a></li> - <li><a href="#release_help">How can I help the next release along?</a></li> -</ul> -<p> -<font face="Arial, Helvetica, sans serif">"You can't always get what you want / but if you try real hard / you might just find / -that you get what you need". </font><br/> -[Rolling Stones] -</p> -</section> -<section href="corp" name="What can my company do to help support Struts?"> -<p>Struts is an all volunteer product. Our customers are the volunteers who donate -their time and energy to supporting the product. If you want to support Struts, and -become one of our customers, then you need to -<a href="http://jakarta.apache.org/site/getinvolved.html">get involved</a> and become a volunteer.</p> -<p>Our challenge to any team using Struts is to donate the time of one team member one -afternoon a week (or more if you can spare the resources). Have your team member browse Bugzilla for any -issues without a <a href="#code">patch</a> or <a href="#tests">unit test</a>, and add the patch or test. -If the patch is written on company time, and you want to give your company an author's credit, that's -fine with us. </p> -<p>If Struts doesn't do what <i>you</i> want, it's up to <b>you</b> to step up and propose the patch. -If Struts doesn't ship as often as you would like, it's up to you to step up with the tests and fixes that -get a release out the door. </p> -<p>If Struts does do what you want, help others become involved by turning your war stories into FAQs and -how-tos that we can make part of the <a href="documentation">documentation</a>. The mailing list is very -active and trundling through the archives is no picnic. We can always use people who can reduce the best -threads to coherent articles that we can put in the User Guide.</p> -<p>We don't sell Struts for money, but anyone who wants to be our customer can pay us back by donating -the time and energy that money represents.</p> -</section> +<section name="Ooops"> -<section href="bugs" name="How can I report bugs or make feature requests?"> -<p>You can research and report outstanding fixes and feature requests using -<a href="http://jakarta.apache.org/site/bugs.html">Jakarta Bugzilla</a>. If you -are unsure if this is an actual problem, feel free to bring it up the list -first. But to sure that an issue is resolved, read -<a href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">How to Report -Bugs Effectively</a> and report it to -<a href="http://jakarta.apache.org/site/bugs.html"><b>Bugzilla</b></a>.</p> -<p>Feature requests are also maintained in the Bugzilla database. Some older -requests are still listed the <a href="../todo-1.1.html">wish list</a> -page.</p> -<p><a href="http://jakarta.apache.org/site/source.html">Patches</a> are always -welcome. If you can't write a patch to fix your bug, a <a href="#tests">unit test</a> -that demonstrates the problem is also welcome. -(And, of course, unit tests that prove your patch work are equally -welcome.)</p> -<p>If your bug or feature is already in Bugzilla, <strong>you can vote</strong> -for the issue and call more attention to it. Each user can cast up to six -votes at a time.</p> -<p>If there is a patch attached to the issue, you can also try applying -to your local copy of Struts, and report whether it worked for you. -Feedback from developers regarding a proposed patch is really quite -helpful. Don't hesitate to "me too" if you've tried the patch yourself. -</p> -</section> +<p>This page has moved to +<a href="faqs/index.html">http://jakarta.apache.org/struts/faqs/</a></p> +<p>Please update your hyperlinks.</p> -<section href="contribute" name="How can I contribute to the Struts source code?"> -<p>Struts is distributed by the <a href="http://apache.org/">Apache Software Foundation</a>. -These are the same people who distribute the Apache Web server. Like all ASF projects, Struts -is managed as a "meritocracy", where everyone's contribution is welcome. Users can -help other users the <a href="http://jakarta.apache.org/site/mail.html">mailing lists</a>, -<a href="http://jakarta.apache.org/site/bugs.html">report bugs</a>, and -<a href="http://jakarta.apache.org/site/bugs.html">request new features</a>. Developers can -contribute patches, new code, and documentation. The most active Developers may become -<a href="http://jakarta.apache.org/site/roles.html">Committers</a>, who make the actual -decisions about Strut's codebase.</p> -<p> -If you are new to open source development, see the -"<a href="http://jakarta.apache.org/site/getinvolved.html">How to get involved</a>" -page the main Jakarta site.</p> -<p> -A very good place to start is by <b>reviewing the list of open issues</b> and pending -feature requests (<a href="#bugs">Bugzilla</a>). If you see an issue that needs a -patch you can write, feel free to annex your patch. If you seen an issue that needs -a unit test to prove its fixed, feel free to annex your test case. If someone has posted a -patch to an issue you'd like to see resolved, apply the patch to your local development copy -of Struts. Then let us know if it works for you, and if it does, cast your vote for the -issue and its patch.</p> -<p> -If none of the pending issues scratch your itch, another good place to start is by -<b>contributing unit tests</b> for existing features (even those that still work).</p> -<p> -Our current approach to <a href="kickstart.html#tests">unit testing</a> -works fairly well for exercising most method-level stuff, but does -not really address situations of dynamic behavior -- most particularly the -execution of custom tags for Struts. You can try to fake what a JSP -container does, but a much more reliable testing regime would actually -execute the tag in a real container. For that purpose, we use the -<a href="http://jakarta.apache.org/cactus">Cactus</a> -testing framework , which re-executes -the JUnit-based tests as well to make sure that nothing bad happens when -you switch environments. Right now, there are very few dynamic tests; -ideally, we will have tests for every tag, that cover every reasonable -combination of tag attribute values (yes, that's a tall order -- the -totally lines of test source code will undoubtedly exceed the totally -lines of code in the framework itself if we achieve this).</p> -</section> - -<section href="documentation" name="How can I contribute to the documentation?"> -<p>The only difference is that the documentation is kept in XML rather than Java -source code. Otherwise, all the same precepts and procedures pertain. </p> -<p>The trick to getting started is to download the nightly build and try -building the documentation WAR. Then try adding your own XML page under doc/ to see -if the build succeeds. If it doesn't, it will report where the bad element is, much -like it reports where a bad programming expression is. If it does, then your page -should available under target/documentation/. </p> -<p>The website portion of the package is the root directory of doc/. The User Guide -portion is under the userGuide/ folder. If the material you'd to add doesn't -fit right in with what's there, the best thing may to start a new section after -the existing material. The navigation column can found in the project.xml document.</p> -<p>To display markup, substitute &lt; for <. The unmatched trailing > will -ignored. Since it is XML, all elements also need to closed. So elements like -<br> and <hr> need to set out as <br/> and <hr/>.</p> -<p>Also watch for the length of code samples. These do not wrap. If a line is too long, -it will force the right margin out past the edge of the screen or printed page. </p> -<p>The stylesheets we use are adequate, but could certainly improved by an XML -guru, if you happen to one of those.</p> -</section> - -<section href="release" name="So when is the next release coming out?"> -<p>Here is the truth regarding releases:</p> -<p> -Jakarta products are released the basis of merit, and ~not~ according -to a strict timetable. The volunteers devote whatever time they can to working -the product. But all volunteers have real jobs and real lives, that -do take precedence. Since Struts does not have paid personnel working -the project, we simply cannot make date-oriented commitments. -</p> -<p> -All Jakarta products must circulate a public beta before release. If a -beta is not in circulation, then it's a good bet that a release is not -forthcoming any time soon. Products sometimes go through several betas -before final release. So if this is beta 1, then it still may not -released any time soon. -</p> -<p> -The bottom line is that Jakarta takes releases very seriously. We do not -compromise the quality of our software by watching the calendar (and -then ship something ready or not). A release is ready when it is ready. -</p> -<p> -That may sound flip, but it ~is~ the truth. The delivery of -production-quality, leading-edge software is not something anyone can -prognosticate. If anyone tries, they are lying to you. That, we won't -do ;-) -</p> -<p> -What we ~will~ do is release all of our development software as soon as it -is developed. This way you can judge for yourself how quickly the -development is proceeding, and whether what is being developed will meet -your needs. If you need a feature right now, you can use the nightly -build, or roll your own patch. There are no private CVS's or private -development lists. What you see is what we got. If you are following the -DEV list, then you know everything the developers know. Really, you do. -</p> -<p> -<i>So, what do you tell your team?</i> If you can ship your application based -the nightly build of your choice, then consider that an option. You can -still ship yours, even if we don't ship ours, and you will have access to -all the latest patches or enhancements. (Just like we were working down -the hall.) If you can only ship your application based a release build of -Struts, then you should base your development the release build of Struts, -and keep an eye what is coming down the pipeline. This way you are at least -forewarned and forearmed. -</p> -</section> - -<section href="release_help" name="What can I do to help the next release along?"> -<ul> -<li>Most importantly, <b>download the latest beta</b> or release-candidate and test -it against your own applications. Report any and all issues or suspected issues -to <a href="http://jakarta.apache.org/site/bugs.html">Bugzilla</a>. The sooner -we resolve any problems, the fewer betas or release candidates we will have to -distribute before we are done. (How do we know when we done? -- When we run out -of issues =:o) The sooner we find them, the sooner we are done.)</li> - -<li><b>Contribute <a href="kickstart.html#tests">unit tests</a></b>. The closer we get -to a release, the more we worry about breaking something. The more tests we have, the -more confident we can when applying patches. Tests that proves that a pending -issue is actually a bug are the most welcome. But we are eager for any and all tests -for any and all features, even those that still work =:0).</li> - -<li><b>Review the list of issues</b> at <a href="#bugs">Bugzilla</a>. If there are any -to which you can respond, please do. If there any patches posted, feel free to test the -patch your system, report the results, and cast your vote if it works.</li> - -<li><b>Confirm an issue's category and status</b>. Newbies often post feature requests -or help-desk questions as "bugs". This bloats the list of fixes we (apparently) need to -apply before the next beta, making it hard to see the forest for the trees. If an issue -doesn't seem to categorized correctly, exercise your best judgment and change it. -If one ticket seems like a duplicate of another, go ahead and enter the change. Every -modification to the ticket is echoed to the DEV list and automatically subjected to -peer review. Err on the side of doing.</li> - -<li>Use Bugzilla to <b>vote for issues</b> you feel should be handled -first. If an issue on your ballot doesn't include a patch, feel free to try coding -one yourself. (At Jakarta, patches are the only votes that truly count.) Well over -<a href="volunteers.html">thirty developers</a> have contributed code or -documentation to the product. You can too =:0)</li> - -<li><b>Answer questions on the user list.</b> The Committers only have so much time to -volunteer. If Developers are supporting each other on the lists, the -Committers have more time to spend on the next release. </li> -</ul> -</section> - - -<section href="decisions" name="Who makes the final decisions regarding Struts"> - -<p>The management of the Jakarta site, and the Struts product, is based on principles and -practices used by creators of the Apache HTTPD server. Struts follows the -<a href="http://jakarta.apache.org/site/guidelines.html">Project Guidelines</a> on the -main Jakarta site. -</p> -<p>If you are new to this style of development, the Apache HTTPD Dev list is available in a -<a href="[EMAIL PROTECTED]">digest form</a>. Even if you are not -working on the HTTPD server yourself, it is interesting to watch how the HTTPD team -works on the server. -</p> -<p>The Struts project has its own <a href="index.html#lists">Dev list</a>, where all of -the decisions regarding Struts are made. Most development takes place via -"<a href="http://jakarta.apache.org/site/proposal.html#decisions/voting/items">Lazy Consensus</a>". -Committers post most changes to the product unilaterally, using their own best judgment, -and only discuss or vote upon controversial matters. Another Committer can veto any change in an -unreleased product with cause.</p> -</section> - - -<section href="more" name="Other FAQs"> -<ul> -<li><a href="kickstart.html">Kickstart FAQ</a></li> -<li><a href="newbie.html">Newbie FAQ</a></li> -<li><a href="http://www.jguru.com/faq/home.jsp?topic=Struts">JGuru Struts FAQ</a></li> -</ul> -</section> - -</chapter></body></document> +</section></chapter></body></document>
-- To unsubscribe, e-mail: <mailto:struts-dev-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:struts-dev-help@;jakarta.apache.org>