| <?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 |
| --> |
| <faqs title="Kickstart FAQ"> |
| |
| <part> |
| <p> |
| Here are answers to the some of the usual Apache Struts |
| getting-started questions. |
| </p> |
| </part> |
| |
| <part> |
| <title>Product Line</title> |
| <faq id="shale"> |
| <question>Why are you offering both Struts Shale and Struts Action |
| Framework? Don't they compete for new development?</question> |
| <answer> |
| <p>We do offer Apache Struts developers a choice, but, hey, |
| choice is good. :)</p> |
| <p>People who want to create and maintain the |
| <a href="announce.html#a20051214.4">Struts Action |
| Framework</a> |
| are welcome to do so. |
| </p> |
| <p>People who want to create and maintain the |
| <a href="announce.html#a20051214.2">Struts Shale |
| Framework</a> |
| are equally welcome. |
| </p> |
| <p>As a volunteer organization, we are not constrained by the |
| economics of competition. All we need are volunteers who |
| are ready, willing, and able to do the work. So long as we |
| have volunteers, we have work for them to do.</p> |
| <p>Right now, we have volunteers who want to leverage the new |
| JavaServer Faces framework by using Struts Shale for new |
| development. We also have volunteers who prefer to |
| leverage their existing investment in Struts Action |
| Framework. All are welcome.</p> |
| <p>For more about volunteering, visit our |
| <a href="http://struts.apache.org/faqs/helping.html">how |
| to help page</a> |
| . |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="fork"> |
| <question>Is Struts Shale a fork?</question> |
| <answer> |
| <p>No. It's an entirely new product with its own architecture. |
| Shale is to JavaServer Faces what Action is to JavaServer |
| Pages. |
| </p> |
| <p>Both frameworks will have a home here so long as there are |
| volunteers ready to contribute.</p> |
| <p>We encourage you to choose the framework that works best |
| for you.</p> |
| </answer> |
| </faq> |
| |
| <faq id="struts"> |
| <question>If Shale is a new product, why is it called |
| Struts?</question> |
| <answer> |
| <p> |
| Apache Struts embraces standards, and JavaServer Faces |
| (JSF) is a new standard. |
| JSF is not the first standard that Struts has assimilated |
| (and, undoubtedly, it will not be the last). |
| </p> |
| <p> |
| For example, many of the original Struts taglibs overlap |
| with the JavaServer Pages Standard Tag Library (JSTL). |
| Some of us want to continue using the original tags. |
| Others want to be able to use JSTL as much as possible. |
| As a result, David Karr created the Struts EL taglibs. |
| The Struts EL subproject provides JSTL versions of only |
| the Struts tags that do not overlap with JSTL. |
| Meanwhile, the original taglibs are available and |
| maintained for those that choose to use them. |
| </p> |
| <p> |
| Likewise, some of us want to use JSF as much as possible. |
| Others want to continue using the original Action |
| framework. |
| As a result, Craig McClanahan created the Struts Shale |
| framework. |
| Shale provides the same utility as the Action framework by |
| building on the JSF feature set. |
| Since Shale does for JSF what Action does for JSP, we |
| consider Shale to be another Struts framework. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="ti"> |
| <question>What about Ti? What about WebWork?</question> |
| <answer> |
| <p> |
| <a href="http://wiki.apache.org/struts/StrutsTi">Struts |
| Ti</a> |
| (short for Titanium) is a codename for Struts Action |
| Framework 2.x. |
| In late November 2005, the Ti proposal was amended to |
| include a merger with |
| <a href="http://www.opensymphony.com/webwork/">Open |
| Symphony WebWork</a> |
| . |
| Under this plan, the next stable release of WebWork is |
| being donated to Apache Struts, |
| and the lead WebWork committers are joining the Struts |
| community. |
| The WebWork codebase is being brought into the ASF through |
| the Apache Incubator. |
| Once licensing and related issues are resolved, |
| the codebase will be made part of the Apache Struts |
| framework. |
| </p> |
| <p> |
| WebWork started as a |
| <a href="http://incubator.apache.org/learn/rules-for-revolutionaries.html"> |
| Struts Revolution</a> |
| . |
| Over the years, it has evolved into a superb action-based |
| framework that retains many Struts 1.x paradigms. |
| </p> |
| <p> |
| People who have worked with both Struts 1.x and WebWork |
| 2.x tend to agree that it is a logical candidate for |
| Struts Action Framework 2.x. |
| If you look the Struts Action 1.x roadmap and the WebWork |
| 2.x feature set, |
| you'll see that WebWork has already does most of what we |
| wanted Struts Action to do. |
| If we finished the roadmap ourselves, Struts Action would |
| end up as a WebWork workalike. |
| Rather than reinvent the wheel, |
| Ti has become a proposal to put the WebWork wheel back on |
| the Struts axle. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="xwork"> |
| <question>What about other Open Symphony products, like |
| XWork?</question> |
| <answer> |
| |
| <p> |
| For the time being, there is no plan to migrate XWork to |
| the ASF. Struts Action has always had many dependencies on external |
| packages.So long as packages like XWork and Sitemesh are doing well |
| at OpenSymphony, there is no reason to make further changes. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="migrate"> |
| <question>Will it be difficult to migration from Action 1 to |
| Action 2?</question> |
| <answer> |
| <p> |
| Many of us have significant Struts Action 1.x |
| applications in production. |
| Being able to migrate both applications and developer |
| skill sets is important to all of us. |
| </p> |
| <p> |
| Several |
| <a href="http://wiki.apache.org/struts/MigrationStrategy"> |
| migration strategies</a> |
| are being developed. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="ti2"> |
| <question>Does Ti mean there will be three frameworks?</question> |
| <answer name="Does Ti mean there will be three frameworks?"> |
| <p> |
| There will be the |
| <strong>Action 1</strong> |
| framework that is currently |
| in production and usually refered to as "Struts". |
| When released, Ti will become the |
| <strong>></strong> |
| Action 2 framework. |
| Shale will remain a separate but equal framework |
| that focuses on JavaServer Faces rather than |
| conventional server pages. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="overdrive"> |
| <question>What about OverDrive or Struts Nexus?</question> |
| <answer> |
| <p> |
| <a href="http://wiki.apache.org/struts/StrutsOverDrive"> |
| OverDrive</a> |
| is a working proposal to use a set of case-study |
| applications |
| to drive the design and creation of a business layer |
| framework. |
| The codename for the business layer framework under |
| development is "Nexus". |
| Like Action and Shale, the Nexus internals are based on |
| the Chain of Responsibility pattern. |
| </p> |
| <p> |
| OverDrive and Nexus do not complete with frameworks like |
| Action and Shale. |
| Nexus begins where these frameworks end. |
| Nexus is the "rest of the stack". |
| </p> |
| <p> |
| The codebase underlying the proposal is being coded in C#, |
| but a version for Java is expected in due course. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="action"> |
| <question>What's the difference between Struts Action Framework |
| and Struts Classic?</question> |
| <answer> |
| <p>For the Struts Action Framework 1.3.x series, we subdivided |
| the monolithic Struts 1.2.x distribution into several |
| discrete subprojects. Struts Classic is a codename for the |
| work we needed to do to create and release the new |
| subprojects.</p> |
| </answer> |
| </faq> |
| </part> |
| |
| <part> |
| <title>Project Details</title> |
| |
| <faq id="struts"> |
| <question>Why is the project called Struts?</question> |
| <answer> |
| <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> |
| </answer> |
| </faq> |
| |
| <faq id="license"> |
| <question>How is Apache Struts licensed?</question> |
| <answer> |
| <p>All Apache Struts products are copyrighted software |
| available under the |
| <a href="http://www.apache.org/licenses">Apache |
| License</a> |
| , a "free-to-use, business-friendly license". |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="usage"> |
| <question>Can Apache Struts be used in a commercial |
| product?</question> |
| <answer> |
| <p>Yes. The only requirements you must meet are those listed |
| in the |
| <a href="http://www.apache.org/licenses">Apache |
| License</a> |
| . |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="credits"> |
| <question>Do I have to credit Apache Struts on my own |
| website?</question> |
| <answer> |
| <p>You need to credit Apache Struts if you |
| <strong>redistribute your own framework</strong> |
| based on our products |
| 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 Apache Struts just because your web |
| application utilizes one of our products. |
| 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> |
| </answer> |
| </faq> |
| |
| <faq id="requests"> |
| <question>If a product doesn't do what I want, can I request that |
| a feature be added?</question> |
| <answer> |
| <p> |
| First, it's important to remember that Apache Struts is an |
| all-volunteer project. |
| We don't charge anyone anything to use Apache Struts |
| products. |
| Committers and other developers work on Apache Struts |
| products because they need to use it with their own |
| applications. |
| If others can use it too, that's "icing on the cake". |
| If you |
| <a href="../helping.html">submit a patch</a> |
| for a feature that a Committer finds useful, then that |
| Committer may choose to volunteer his or her time to apply |
| the patch. |
| If you just submit an idea without a patch, it is much |
| less likely to be added (since first someone else has to |
| volunteer their time to write the patch). |
| </p> |
| <p> |
| We are grateful for any patches, and we welcome new ideas, |
| but the best way to see that something gets added to the |
| framework is to do as much of the work as you can, rather |
| than rely on the "kindness of strangers". Worst case, you |
| can apply the patch to your copy of Struts and still use |
| the feature in your own application. (Which is what open |
| source is ~really~ all about.) |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="help"> |
| <question>Where can I get help with Apache Struts?</question> |
| <answer> |
| <p>Struts Action Framework comes complete with a |
| <a href="../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="../api/index.html">Javadocs</a> |
| are included |
| along with the |
| <strong>full source code</strong> |
| . |
| </p> |
| <p> |
| The |
| <a href="http://struts.apache.org/mail.html">Struts user |
| 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://struts.apache.org/mail.html#Archives"> |
| <strong>MAILING LIST ARCHIVE</strong> |
| </a> |
| and the very excellent |
| <a href="http://www.catb.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> |
| </answer> |
| </faq> |
| |
| <faq id="support"> |
| <question>Is commercial support available?</question> |
| <answer> |
| <p>The Apache Software Foundation does not provide commercial |
| support for any of our software products, including Apache |
| Struts products. |
| However, third parties may offer different degrees of |
| support.</p> |
| </answer> |
| </faq> |
| |
| <faq id="providers"> |
| <question>Are there ISPs that will host my Struts |
| application?</question> |
| <answer> |
| <p>For a listing of some Java and Struts Action Framework |
| ISPs, visit the |
| <a href="http://struts.sf.net/community/index.html">Struts |
| Community Resources</a> |
| area on SourceForge. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="ide"> |
| <question>Is there a particularly good IDE to use with Struts |
| Action Framework"</question> |
| <answer> |
| <p> |
| Struts should work well with any development environment |
| that you would like to use, as well as with any |
| programmers editor. |
| The members of the Struts development team each use their |
| own tools such as |
| <a href="http://www.gnu.org/software/emacs/emacs.html"> |
| Emacs</a> |
| , |
| <a href="http://www.intellij.com/idea/">IDEA</a> |
| , |
| <a href="http://www.eclipse.org/">Eclipse</a> |
| , |
| and |
| <a href="http://www.netbeans.org/">NetBeans</a> |
| . |
| </p> |
| <p> |
| See the |
| <a href="../faqs/index.html">Howto Guides</a> |
| for more about configuring IDEs to work with Struts. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="digest"> |
| <question>Is there a digest for the User list?</question> |
| <answer> |
| <p> |
| Yes. |
| <a href="mailto:user-digest-subscribe@struts.apache.org"> |
| send a blank message</a> |
| to < |
| <a href="mailto:user-digest-subscribe@struts.apache.org"> |
| user-digest-subscribe@struts.apache.org</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:user@struts.apache.org">user list</a> |
| rather than trying to reply to the digest. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="newsgroup"> |
| <question>Is there an Apache Struts newsgroup?</question> |
| <answer> |
| <p> |
| Not a usenet group, but the Struts User list can be |
| accessed with your |
| favorite newsgroup reader from the |
| <a href="http://news.gmane.org/">GMane News Site</a> |
| . Subscribe to groups |
| <code>gmane.comp.jakarta.struts.devel</code> |
| for the developer list, or |
| <code>gmane.comp.jakarta.struts.user</code> |
| for the user list. |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="mailbounce"> |
| <question>Why didn't my posting show up on the user |
| list?</question> |
| <answer> |
| <p> |
| You must be subscribed to the |
| <a href="mailto:user-subscribe@struts.apache.org">user |
| list</a> |
| or |
| <a href="mailto:user-digest-subscribe@struts.apache.org"> |
| user digest</a> |
| before posting |
| (or use the |
| <a href="http://news.gmane.org">GMane Newsgroups</a> |
| instead). |
| </p> |
| </answer> |
| </faq> |
| |
| <faq id="unsubscribe"> |
| <question>How do I unsubscribe from the mailing list?</question> |
| <answer> |
| <p> |
| <strong>From the email account used to subscribe to the |
| list,</strong> |
| <a href="mailto:user-unsubscribe@struts.apache.org">send a |
| blank message</a> |
| to < |
| <a href="mailto:user-unsubscribe@struts.apache.org"> |
| user-unsubscribe@struts.apache.org</a> |
| >. |
| </p> |
| <p> |
| If you are receiving the digest, you must send a blank |
| email to |
| < |
| <a href="mailto:user-digest-unsubscribe@struts.apache.org"> |
| user-unsubscribe@struts.apache.org</a> |
| > |
| instead. |
| </p> |
| </answer> |
| </faq> |
| </part> |
| |
| <part> |
| <p class="right"> |
| <strong>Next:</strong> |
| <a href="helping.html">How to Help FAQ</a> |
| </p> |
| </part> |
| |
| </faqs> |