<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!--
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.
-->


<!-- start the processing -->
    <!-- ====================================================================== -->
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <!-- Main Page Section -->
    <!-- ====================================================================== -->
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

                                                    <meta name="author" value="JSPWiki Developer Team">
            <meta name="email" value="jspwiki-dev@incubator.apache.org">
            
           
            
            
            
            
            
            <title>Apache JSPWiki - Apache JSPWiki</title>

                        
                
        <link rel="stylesheet" type="text/css" href="site.css"/>
        </head>

        <body>        
            <table  width="100%" cellspacing="0">
                <!-- TOP IMAGE -->
                <tr>
                    <td align='LEFT'>
                    <table><tr><td>
                    </td>
                    </td></tr></table>
                    </td>
                    <td align='RIGHT'>
                    <a href="http://incubator.apache.org/jspwiki">
                    <img src="http://harmony.apache.org/images/apache-incubator-logo.png"
                    	alt="$project.getChild("logo").getText()" /></a>                    
                    </td>
                </tr>
            </table>
            <table width="100%" cellspacing="4">
                <tr><td colspan="2">
                    <hr noshade="" size="1"/>
                </td></tr>

                <tr>
                    <!-- LEFT SIDE NAVIGATION -->
                    <td class="menuItem" width="20%" nowrap="true">

                    <!-- special ACon Logo - leave here for next time
                    <a href="http://www.us.apachecon.com/">
                        <img src="http://www.apache.org/ads/ApacheCon/240x120-2006-us.gif"
                             alt="ApacheCon US 2006" />
                    </a> -->

                   <!-- regular menu -->

                    
    <!-- ============================================================ -->

                <p class="menuItem"><strong>General</strong></p>
        <ul>
                    <li class="menuItem">    <a href="./index.html">Home</a>
</li>
           
                        
                    <li class="menuItem">    <a href="./license.html">License</a>
</li>
           
                        
                    <li class="menuItem">    <a href="http://www.apache.org/">ASF</a>
</li>
           
                        
        
        </ul>
            <p class="menuItem"><strong>Community</strong></p>
        <ul>
                    <li class="menuItem">    <a href="./contributors.html">Committers</a>
</li>
           
                        
                    <li class="menuItem">    <a href="./mailing.html">Mailing Lists</a>
</li>
           
                        
                    <li class="menuItem">    <a href="./get-involved.html">Get Involved</a>
</li>
           
                        
                    <li class="menuItem">    <a href="http://www.jspwiki.org/">Wiki</a>
</li>
           
                        
        
        </ul>
            <p class="menuItem"><strong>Development</strong></p>
        <ul>
                    <li class="menuItem">    <a href="./svn.html">Source Code</a>
</li>
           
                        
                    <li class="menuItem">    <a href="http://issues.apache.org/jira/browse/JSPWIKI">Issue Tracking</a>
</li>
           
                        
        
        </ul>
            <p class="menuItem"><strong>Documentation</strong></p>
        <ul>
                    <li class="menuItem">    <a href="http://people.apache.org/~metskem/JSPWiki/javadoc/">Javadoc from SVN trunk</a>
</li>
           
                        
                    <li class="menuItem">    <a href="http://doc.jspwiki.org/2.8/">Documentation Wiki</a>
</li>
           
                        
        
        </ul>
                        </td>
                    <td width="80%" valign="top"><a name="top"></a>
                                                                    <h1>
      <a name="Mailing lists">Mailing lists</a>
    </h1>
                        <h4 id="section-JSPWikiMailingList-JSPWikiUser">JSPWiki-user<a class="hashlink" href="#section-JSPWikiMailingList-JSPWikiUser">#</a></h4>
                                <p>The jspwiki-user mailing list is hosted at Apache.  You can join it by sending an email to <a class="external" href="mailto:jspwiki-user-subscribe@incubator.apache.org" rel="nofollow">jspwiki-user-subscribe@incubator.apache.org</a><img class="outlink" src="images/out.png" alt="" />. The list archives are at <a class="external" href="http://mail-archives.apache.org/mod_mbox/incubator-jspwiki-user/" rel="nofollow">http://mail-archives.apache.org/mod_mbox/incubator-jspwiki-user/</a><img class="outlink" src="images/out.png" alt="" />
</p>
                                <p>The <a class="external" href="http://www.ecyrd.com/pipermail/jspwiki-users/" rel="nofollow">old list archives</a><img class="outlink" src="images/out.png" alt="" /> are also available. There's also a <a class="external" href="http://www.nabble.com/JspWiki---User-f2680.html" rel="nofollow">secondary archive</a><img class="outlink" src="images/out.png" alt="" /> on Nabble.
</p>
                                <h4 id="section-JSPWikiMailingList-JSPWikiDev">JSPWiki-dev<a class="hashlink" href="#section-JSPWikiMailingList-JSPWikiDev">#</a></h4>
                                <p>This is the list for JSPWiki developers and contributors, and anyone who is interested in
the current state and development.  For example, all bug reports and enhancement requests
from JIRA are automatically sent here.
The jspwiki-dev list is hosted at Apache, so you join by sending an email to 
<a class="external" href="mailto:jspwiki-dev-subscribe@incubator.apache.org" rel="nofollow">jspwiki-dev-subscribe@incubator.apache.org</a><img class="outlink" src="images/out.png" alt="" />.  The list archives are at <a class="external" href="http://mail-archives.apache.org/mod_mbox/incubator-jspwiki-dev/" rel="nofollow">http://mail-archives.apache.org/mod_mbox/incubator-jspwiki-dev/</a><img class="outlink" src="images/out.png" alt="" />
</p>
                                <p>The old JSPWiki-dev archives are 
<a class="external" href="http://www.ecyrd.com/pipermail/jspwiki-dev/" rel="nofollow">also available</a><img class="outlink" src="images/out.png" alt="" />, if you want to peruse some interesting issues.


<h4 id="section-JSPWikiMailingList-JSPWikiCommits">JSPWiki-commits<a class="hashlink" href="#section-JSPWikiMailingList-JSPWikiCommits">#</a></h4>
<p>If you subscribe to this list you will get emailed when (a committer) commits new or 
changed files to the SVN repository.
The jspwiki-commits list is hosted at Apache, join it by sending an email to 
<a class="external" href="mailto:jspwiki-commits-subscribe@incubator.apache.org" rel="nofollow">jspwiki-commits-subscribe@incubator.apache.org</a><img class="outlink" src="images/out.png" alt="" />.  
The list archives are at <a class="external" href="http://mail-archives.apache.org/mod_mbox/incubator-jspwiki-commits/" rel="nofollow">http://mail-archives.apache.org/mod_mbox/incubator-jspwiki-commits/</a><img class="outlink" src="images/out.png" alt="" />
</p>

</p>
                                <h4 id="section-JSPWikiMailingList-Unsubscribing">Unsubscribing<a class="hashlink" href="#section-JSPWikiMailingList-Unsubscribing">#</a></h4>
                                <p>Unsubscribing is equally easy: you can just send an email to 
jspwiki-&lt;user|dev|commits&gt;-unsubscribe@incubator.apache.org from the same email 
address that you originally subscribed from. 
</p>
                                <p />
                                <h4 id="section-JSPWikiMailingList-OtherResources">Other resources<a class="hashlink" href="#section-JSPWikiMailingList-OtherResources">#</a></h4>
                                <ul><li><a class="external" href="http://www.jspwiki.org/wiki/IrcChannel">IrcChannel</a><img class="outlink" src="images/out.png" alt="" />
 - chat live with the developers!  The channel is fairly quiet, and most people are in European timezones,
 so be patient.
</li></ul>
                <p><a href="#top">Back to top</a></p>
                    
                                                            </td>
                </tr>

                <!-- FOOTER -->
                <tr><td colspan="2">
                    <hr noshade="" size="1"/>
                </td></tr>
                <tr><td colspan="2">
                    <div class="special"><em>
                    Copyright &#169; 2009, The Apache Software Foundation
                    </em></div>
                </td></tr>
            </table>
        </body>
    </html>
<!-- end the processing -->























