<?xml version="1.0"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you 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.
-->

<document>

 <properties>
  <title>How To Help with Turbine Development</title>
 </properties>

<body>

<section name="How to help">

<p>
  If you are a new developer to Turbine or even an existing developer, these are
  areas where you can take ownership and help complete. Please do not ask us how
  you can help, but rather specific questions about how you think that these items
  should be implemented. It is up to you to take initiative and provide solutions
  to the missing functionality described below. ;-)
</p>

<p>
  It is always possible to take ownership of any portion of the project. The way
  to do this is to post a message to the turbine-developer mailing list.  Just explain
  what you are wanting to work on or any ideas that you might have on the subject.
</p>

<p>
    Documentation is <b>*always*</b> appreciated in any form.  The documentation for
    Turbine exists in basically four forms.
    <ul>
        <li>
            XML formatted docs (xdoc) - This is used to generate the documentation
            on the jakarta site.  The source for this documentation can be found
            in the xdocs directory in the source distribution.  To submit additional
            documentation in this form or patches to existing documentation, please
            create an issue is the
            <a href="https://issues.apache.org/jira/browse/TRB">issue tracking system</a>
            and attach the patch files (or new files).
        </li>
        <li>
            Mailing list - The archives of <a href="https://lists.apache.org/list.html?user@turbine.apache.org">user@turbine.apache.org</a> and
            <a href="https://lists.apache.org/list.html?dev@turbine.apache.org">dev@turbine.apache.org</a> are an excellent source of information
            for the project. Answering questions that are asked on the mailing list
            or simply posting information that might be of use to other Turbine users
            would be very welcome contribution to the project.
        </li>
        <li>
            The <a href="http://wiki.apache.org/turbine/">Turbine
            Wiki</a> another repository of documentation for the project.  It
            contains development information, user documentation, how-to documents,
            discussion of new features, etc.  Anyone can add new pages and edit existing
            pages very easily!  This is perhaps the easiest way to contribute documentation
            (well, second only to the mailing lists).
        </li>
        <li>
            The javadocs are another very important form of documentation for the project.
            Changes to this form of documentation should be in the form of patches.  To submit
            them, create a new issue in the
            <a href="https://issues.apache.org/jira/browse/TRB">issue tracking system</a>
            and attach your patch(es) or open in github an Pull Request (PR).
        </li>
    </ul>
    The documentation is probably the easiest area for anyone to contribute in.  If you are
    new to Turbine and learning your way around, documenting what you learn and submitting
    it in any other the various forms would be appreciated.
</p>

<p>
    Testing is another area in which help is always needed.  This could consist of simply
    reporting problems that you run into using Turbine.  It could also consist of submitting
    code to perform unit tests.  Turbine uses JUnit and Cactus for testing.  You can find
    examples in the src/test directory of the source distribution.
</p>

<p>
    If you do discover a defect in the Turbine product, please create a defect issue in
    the <a href="https://issues.apache.org/jira/browse/TRB">issue tracking system</a> clearly
    describing the problem.  If you can take the time to track down the source of the problem,
    it would certainly help speed the process of getting it corrected.  Of course, actually
    fixing the problem and attaching a patch to the issue would be greatly appreciated.
</p>

<p>
    You can also contribute to the project by enhancing existing functionality and/or
    adding new functionality.  There is a current list of requested features on the
    <a href="http://wiki.apache.org/turbine/Turbine2/WishList">Turbine Wiki</a>.  Everyone is encouraged to take part in the discussion, design, and
    implementation.
</p>

</section>

</body>
</document>
