husted      2002/10/11 22:05:58

  Modified:    doc      newbie.xml kickstart.xml
  Log:
  New FAQs from recent DEV list exchanges.
  
  Revision  Changes    Path
  1.9       +37 -0     jakarta-struts/doc/newbie.xml
  
  Index: newbie.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/doc/newbie.xml,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- newbie.xml        7 Jul 2002 18:57:50 -0000       1.8
  +++ newbie.xml        12 Oct 2002 05:05:58 -0000      1.9
  @@ -13,6 +13,8 @@
   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>
   
  +    <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>
   
       <li><a href="#naming">Why are some of the class and element names 
counter-intuitive?</a></li>
  @@ -35,6 +37,8 @@
   
       <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>
  @@ -66,6 +70,19 @@
     </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?">
   
  @@ -188,6 +205,26 @@
   </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>
  
  
  
  1.17      +146 -40   jakarta-struts/doc/kickstart.xml
  
  Index: kickstart.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/doc/kickstart.xml,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- kickstart.xml     9 Aug 2002 01:53:35 -0000       1.16
  +++ kickstart.xml     12 Oct 2002 05:05:58 -0000      1.17
  @@ -18,28 +18,33 @@
       <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>
  -
  +  </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">Whats 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="#tests">Does Struts provide its own unit tests?</a></li>
       <li><a href="#bugs">Where can I report bugs or make feature requests?</a></li>
       <li><a href="#contribute">How can I contribute to the development of 
Struts?</a></li>
       <li><a href="#documentation">How can I contribute to the documentation?</a></li>
       <li><a href="#release">When is the next release coming out?</a></li>
  -    <li><a href="#unsubscribe">How do I unsubscribe from the mailing list?</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>
  @@ -58,7 +63,6 @@
   
   <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 &quot;provide commercial-quality server solutions based on the Java Platform that 
are developed in an open and cooperative fashion&quot;. All told, 17 individual 
developers and committers contributed to the Struts 1.0 codebase.</p>
   </section>
   
  @@ -72,7 +76,15 @@
   
   <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, contributions of patches, improved code, new features, or even just 
requests for features are also welcome.</p>
  +<p>In addition, <a href="#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?">
  @@ -152,8 +164,9 @@
   
   <section href="turbine" name="What's the difference between Jakarta Struts and 
Jakarta Turbine?">
   <p>See</p>
  -<ul><li>&lt; <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>&lt; <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>
  +<ul>
  +<li>&lt; <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>
 &gt;</li>
  +<li>&lt; <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>
 &gt;</li>
   <li>&lt; <a 
href="http://jakarta.apache.org/velocity/ymtd/ymtd.html";>http://jakarta.apache.org/velocity/ymtd/ymtd.html</a>
 &gt;</li>
   </ul>
   </section>
  @@ -195,6 +208,38 @@
   </p>
   </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>
  +<p>
  +This 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="bugs" name="Where 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 
  @@ -206,6 +251,19 @@
   <p>Feature requests are also maintained in the Bugzilla database. Some older 
   requests are still listed on 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>
   
   <section href="contribute" name="How can I contribute to the development of 
Struts?">
  @@ -218,6 +276,13 @@
   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 on the main Jakarta site.</p>
  +<p>
  +A very good place to start is by reviewing the list of open issues and pending 
  +feature requests (<a href="#bugs">Bugzilla</a>).</p>
   </section>
   
   <section href="documentation" name="How can I contribute to the documentation?">
  @@ -243,39 +308,50 @@
   
   <section href="release" name="When is the next release coming out?">
   <p>Here is the truth regarding releases:</p>
  -<p>Jakarta products are released on the basis of merit, and ~not~ according
  +<p>
  +Jakarta products are released on the basis of merit, and ~not~ according
   to a strict timetable. The volunteers devote whatever time they can to working
   on the product. But all volunteers have real jobs and real lives, that 
   do take precedence. Since Struts does not have paid personnel working 
  -on the project, we simply cannot make date-oriented commitments.</p>
  -<p>All Jakarta products must circulate a public beta before release. If a
  +on 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 be
  -released any time soon.</p>
  -<p>The bottom line is that Jakarta takes releases very seriously. We do 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
  +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
  +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 
  +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 
   on 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 on a release build of 
   Struts, then you should base your development on the release build of Struts, 
   and keep an eye on what is coming down the pipeline. This way you are at least 
  -forewarned and forearmed. </p>
  -
  +forewarned and forearmed.
  +</p>
   </section>
   
   <section href="release_help" name="What can I do to help the next release along?">
  @@ -291,46 +367,76 @@
   please do. If there any patches posted, feel free to test the patch on your 
   system and report the results.</li>
   
  -<li>Feel free to use Bugzilla to vote for any issues you feel should be handled 
  -first.</li>
  -
  -<li>If any of these issues involve enhancments, feel free to try coding the 
  -enhancement yourself and submitting a patch. Over <a href="volunteers.html">
  -thirty developers</a> have contributed code or documentation to the product. 
  -You can too =:0)</li>
  +<li>Contribute <a href="tests">unit tests</a>. The closer we get to a release, the 
  +more we worry about breaking something. The more tests we have, the more 
  +confident we can be when applying patches. A test that proves there is bug are 
  +the most welcome. But we are eager for any and all tests for any and all 
  +features, even those that already work =:0).</li>
  +
  +<li><strong>Feel free to use Bugzilla to vote for any issues you feel should be 
handled 
  +first.</strong> We don't guarantee that we will alwasy follow the vote, but we do 
value 
  +the input!</li>
  +
  +<li>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 really count.) 
  +Well over <a href="volunteers.html">thirty developers</a> have contributed code or 
  +documentation to the product. You can too =:0)</li>
   
   <li>Help out on the mailing lists. 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="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:[EMAIL PROTECTED]";>send a blank message</a> to 
&lt; <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>&gt;.</p>
   </section>
   
   <section href="digest" name="Is there a digest for the User list?">
  -<p>Yes. <a href="mailto:[EMAIL PROTECTED]";>send a 
blank message</a> to &lt; <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>&gt;.</p>
  +<p>
  +Yes. <a href="mailto:[EMAIL PROTECTED]";>send a blank 
message</a> to &lt; <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>&gt;.
  +</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:[EMAIL PROTECTED]";>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 
  +<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:[EMAIL PROTECTED]";>user list</a> 
  +or <a href="mailto:[EMAIL PROTECTED]";>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:[EMAIL PROTECTED]";>send a blank message</a> to 
&lt; <a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>&gt;.
  +</p>
  +<p>
  +If you are receiving the digest, you must send a blank email to 
  +&lt;<a 
href="mailto:[EMAIL PROTECTED]";>[EMAIL PROTECTED]</a>&gt;
 
  +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>
  +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>
   </section>
   
   <section>
  -  <p>Next: <a href="userGuide/introduction.html">Introduction to the Users 
Guide</a></p>
  -
  +  <p>
  +  Next: <a href="userGuide/introduction.html">Introduction to the Users Guide</a>
  +  </p>
   </section>
   
   </chapter></body></document>
  
  
  

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

Reply via email to