james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nor...@apache.org
Subject svn commit: r418815 [1/2] - in /james/server/trunk/src/xdocs: ./ stylesheets/
Date Mon, 03 Jul 2006 17:43:16 GMT
Author: norman
Date: Mon Jul  3 10:43:15 2006
New Revision: 418815

URL: http://svn.apache.org/viewvc?rev=418815&view=rev
Log:
Start to complete the xdocs for james 2.3. See JAMES-432

Added:
    james/server/trunk/src/xdocs/adding_users_2_3.xml
    james/server/trunk/src/xdocs/announcement_2_3.xml
      - copied, changed from r413584, james/server/trunk/src/xdocs/announcement_2_1.xml
    james/server/trunk/src/xdocs/architecture_v2_3.xml
    james/server/trunk/src/xdocs/build_instructions_2_3.xml
    james/server/trunk/src/xdocs/custom_mailet_2_3.xml
    james/server/trunk/src/xdocs/custom_matcher_2_3.xml
    james/server/trunk/src/xdocs/design_objectives_2_3.xml
    james/server/trunk/src/xdocs/dns_configuration_2_3.xml   (with props)
    james/server/trunk/src/xdocs/documentation_2_3.xml
    james/server/trunk/src/xdocs/installation_instructions_2_3.xml
    james/server/trunk/src/xdocs/mailet_api_2_3.xml
    james/server/trunk/src/xdocs/mailing_lists_2_3.xml
    james/server/trunk/src/xdocs/migratingDatasource_v2.3.xml
    james/server/trunk/src/xdocs/nntp_configuration_2_3.xml
    james/server/trunk/src/xdocs/pop3_configuration_2_3.xml
    james/server/trunk/src/xdocs/provided_mailets_2_3.xml
Modified:
    james/server/trunk/src/xdocs/document_archive.xml
    james/server/trunk/src/xdocs/download.xml
    james/server/trunk/src/xdocs/index.xml
    james/server/trunk/src/xdocs/license.xml
    james/server/trunk/src/xdocs/mail.xml
    james/server/trunk/src/xdocs/stylesheets/project.xml
    james/server/trunk/src/xdocs/weare.xml

Added: james/server/trunk/src/xdocs/adding_users_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/adding_users_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/adding_users_2_3.xml (added)
+++ james/server/trunk/src/xdocs/adding_users_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>James 2.3 - Adding Users</title>
+ </properties>
+
+<body>
+<section name="Creating User Accounts">
+<p>User accounts are shared across services.  A common user repository is shared across James 
+services.  That is, once you've created a POP3 mail account and set a password, that same 
+account is available for authenticated SMTP and NNTP.</p>
+<subsection name="Before You Add Accounts">
+<p>In James, user accounts are created throught the RemoteManager.  So, after installation is complete, the first step to adding users 
+is to configure the RemoteManager.  More information on RemoteManager configuration can be found 
+<a href="remotemanager_configuration_2_3.html">here</a>.  You will need to have configured at least one administrator account and 
+ensured that the RemoteManager is enabled.</p>
+<p>Also, you need to make sure that your user repository configuration is correct before adding any users.  If 
+you change your user repository type (i.e. file to database) or the configuration of your user repository 
+(i.e. the file or database URL) after you have added users, you may lose your user data.  Please change these 
+values with care.</p>
+<p>After you've done this, restart James to ensure that any changes you've made in the configuration are incorporated into 
+the running system.  You are now ready to create user accounts.</p>
+</subsection>
+<p>Once James is up and listening, adding a user is simple:</p>
+1.  Telnet to the host and port on which the RemoteManager is listening.  For command-line telnet clients 
+this is generally done by typing "telnet &lt;host&gt; &lt;pass&gt;" where &lt;host&gt; is the James 
+hostname and &lt;port&gt; is the RemoteManager port specified in the James config.xml.<br/><br/>
+2.  You will be prompted for your administrator userid and password.  Enter the values you specified 
+in the James config.xml.<br/><br/>
+3.  After logging in, type "adduser &lt;user&gt; &lt;password&gt;" where &lt;user&gt; is the user name 
+and &lt;password&gt; is the password of the account you wish to create.  Please note that the user name 
+should NOT be a complete email address.  Rather, all email addresses of the form &lt;user&gt;@&lt;domain&gt; 
+(where &lt;domain&gt; is any of the values specified in the &lt;servernames&gt; block) will be delivered to 
+this account by default.  Mailet configuration can change this default behavior.<br/><br/>
+4.  Repeat step 3 for all user accounts you wish to create.
+<p>That's it.  Your user accounts are now created and can be used by all James services.</p>
+</section>
+</body>
+</document>

Copied: james/server/trunk/src/xdocs/announcement_2_3.xml (from r413584, james/server/trunk/src/xdocs/announcement_2_1.xml)
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/announcement_2_3.xml?p2=james/server/trunk/src/xdocs/announcement_2_3.xml&p1=james/server/trunk/src/xdocs/announcement_2_1.xml&r1=413584&r2=418815&rev=418815&view=diff
==============================================================================
--- james/server/trunk/src/xdocs/announcement_2_1.xml (original)
+++ james/server/trunk/src/xdocs/announcement_2_3.xml Mon Jul  3 10:43:15 2006
@@ -1,16 +1,16 @@
 <?xml version="1.0"?>
 <document>
  <properties>
-  <title>James 2.1 - Release Announcement</title>
+  <title>James 2.3 - Release Announcement</title>
  </properties>
 <body>
 <section name="Release Announcement">
 <p>The Java Apache Mail Enterprise Server (a.k.a. Apache James) Project is happy to announce the release 
-of version 2.1 of the Apache James server.</p>
+of version 2.3 of the Apache James server.</p>
 
 <p>James is a 100% pure Java Mail and News server designed to be a complete and portable enterprise 
-mail engine solution.  James supports currently available IETF protocols, including SMTP and POP3 
-(NNTP is experimental in v2.1, and it and IMAP are targeted for full functionality in v3).  James 
+mail engine solution.  James supports currently available IETF protocols, including SMTP,POP3 and NNTP 
+, and it and IMAP are targeted for full functionality in v3).  James 
 is able to store user and message data either in a file-system or a JDBC-compatible database, 
 allowing fast, reliable, even real-time replicated storage.</p>
 
@@ -24,8 +24,8 @@
 
 <p>The James Community is also happy to announce the beginning of the design phase for James version 
 3.0.  Features tentatively slated for that version include enhancements to nearly every area of 
-functionality, including full IMAP support, improved mailing list capabilities, and the next revision 
-of the Mailet API.  This is expected to be an exciting time in James development.  We are actively 
+functionality, including full IMAP support, improved mailing list capabilities, fastfail support, 
+smtp-api for developing own fastfail filters and the next revision of the Mailet API.  This is expected to be an exciting time in James development.  We are actively 
 looking for eager, capable developers to contribute to James.  If you're interesting in contributing 
 to the James project, please subscribe to the James developer mailing list.</p>
 

Added: james/server/trunk/src/xdocs/architecture_v2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/architecture_v2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/architecture_v2_3.xml (added)
+++ james/server/trunk/src/xdocs/architecture_v2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>Notes for developers</title>
+  <author email="sergek@lokitech.com">Serge Knystautas</author>
+ </properties>
+
+<body>
+
+<section name="Architecture">
+
+  <p>
+    James is a multi-protocol message processing and storage engine. James
+    currently consists of:
+    <ul>
+      <li> two mail prototcol servers (SMTP and POP3),</li>
+      <li> a remote administration server,</li>
+      <li> an NNTP server,</li>
+      <li> a mail processing engine that supports the Mailet API</li>
+      <li> file-system message storage and a message storage interface to RDBMS's</li>
+      <li> file-system user record storage and an experimental interface to LDAP directories</li>
+      <li> support for TLS (SSL) for POP3 and remote administration</li>
+      <li> support for SMTP auth</li>
+    </ul>
+  </p>
+
+  <p>
+    James is built on top of Avalon, the Java Apache Server Framework.
+    Versions 2.3 of James use a modified trunk version of Avalon code.
+    Please the JAMES_PHOENIX.txt file shipped with the src for information.
+    
+    The <code>lib</code> directory includes date-stamped jars of the various Avalon libraries.
+    We intend to stay current with new versions of Avalon as they are released.
+  </p>
+    
+
+</section>
+
+</body>
+</document>

Added: james/server/trunk/src/xdocs/build_instructions_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/build_instructions_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/build_instructions_2_3.xml (added)
+++ james/server/trunk/src/xdocs/build_instructions_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>James 2.3 - Building James</title>
+</properties>
+<body>
+<p>This step is not necessary to use the standard out of the box version of James.  A 
+pre-built binary version of James is available from the James download directory.  But 
+if you wish to customize the James source code, it will be necessary for you to build the 
+distribution yourself.
+</p>
+<section name="Getting the Source Code">
+<p>There are two ways to get the James source code.</p>
+<p>1. Download the source distribution - the source is available from the 
+<a href="http://james.apache.org/download.cgi">James release mirrors</a>.
+Simply choose the version of James you'd like to download, and pick the source distribution appropriate for your platform.
+</p>
+<p>2. Get the source code using CVS - this method gives you access to the cutting edge code 
+base.  Instructions on how to use CVS to get the James source code (the jakarta-james distribution) 
+can be found <a href="http://jakarta.apache.org/site/cvsindex.html">here</a>.
+</p>
+</section>
+<section name="Required Tools">
+<p>To run the build you need two third-party tools.</p>
+<p>1. Java Development Kit - You must have a JDK of Java version 1.3 or higher installed to build the 
+James distribution.  The exact JDKs available depend on the platform.  A JDK must be downloaded and
+installed before the build can run.</p>
+<p>2. Ant - This is a Java-tailored, XML-configured, extensible build or make system.  The James 
+source tree includes Ant v1.5.  You can get the latest version of Ant 
+<a href="http://ant.apache.org/">here</a>. </p>
+</section>
+<section name="Building the Distribution">
+<p>In the top level directory of the source distribution you can use  ant, simple set the environment variable
+JAVA_HOME to the base directory of the  JDK.  Then run the build with any of the following command line arguments:
+<ul>
+<li>clean - deletes the build directory, making the system ready for a clean build.</li>
+<li>compile - compiles the source code.</li>
+<li>dist - generates all the James distributions, packed.</li>
+<li>dist-lite - generates all the James distributions, unpacked.  This is the default argument.</li>
+<li>javadocs - builds the James javadocs.</li>
+<li>usage - prints out the usage instructions for the script.</li>
+<li>website - builds the entirety of the James website.</li>
+<li>xdocs - creates the documentaion for James.</li>
+</ul>
+</p>
+<p>All build products are output in the dist subdirectory of the James source distribution directory.  There 
+is also a build subdirectory of the James source distribution directory that is created during the build process.  Both 
+of these directories will be deleted if you run build with the clean argument.</p>
+<p> <strong>Warning!</strong> Any changes you've made in the 'dist' directory 
+will be lost after a recompilation. If you are making changes to the config.xml 
+or other files, we recommend you backup and then change the copies in src to 
+avoid losing work. </p>
+</section>
+
+</body>
+</document>

Added: james/server/trunk/src/xdocs/custom_mailet_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/custom_mailet_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/custom_mailet_2_3.xml (added)
+++ james/server/trunk/src/xdocs/custom_mailet_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,122 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>James 2.3 - Writing a Custom Mailet</title>
+ </properties>
+
+<body>
+<section name="Writing a Custom Mailet">
+<p>Implementing a custom mailet is generally a simple task, most of whose complexity 
+lies in coding the actual work to be done by the mailet.  This is largely due to the 
+simplicity of the Mailet interface and the fact that a GenericMailet class is provided 
+as part of the Mailet package.</p>
+<p>In this discussion we will assume that any mailet being implemented is a subclass of 
+GenericMailet.  The GenericMailet class serves to abstract away of the configuration and 
+logging details.  While it provides a noop implementation of the init() and destroy() methods, 
+these can be easily overridden to provide useful functionality.</p>
+<p>In general, the only four methods that you should need to implement are init(), destroy(), 
+getMailetInfo(), and service(Mail).  And only the last is required in all cases.</p>
+<subsection name="Configuration">
+<p>As described in the <a href="spoolmanager_configuration_2_3.html">SpoolManager configuration 
+section</a>, mailets are configured with a set of String (name, value) pairs.  These values are
+passed into the Mailet upon initialization (although the details of this process are hidden by 
+the GenericMailet implementation).  GenericMailet provides access to this configuration 
+information through use of the getInitParameter(String) method.  Passing in the name of the 
+requested configuration value will yield the value if set, and null otherwise.  Configuration 
+values are available inside the init(), destroy(), and service(Mail) methods.</p>
+</subsection>
+<subsection name="Logging">
+<p>There is a simple logging mechanism provided by the Mailet API.  It does not support 
+logging levels, so any log filtering will have to be implemented in the Mailet code.  
+Logging is done by calling one of the two logging methods on GenericMailet - log(String) 
+or log(String,Throwable).  Logging is available inside the init(), destroy(), and service(Mail)
+methods.</p>
+<p>The value of getMailetInfo() for the Mailet is prepended to the log entries for that 
+Mailet.  So it may be desirable for you to override this method so you can distinguish mailet
+log entries by Mailet.</p>
+</subsection>
+<subsection name="Initialization">
+<p>As part of the Mailet lifecycle, a Mailet is guaranteed to be initialized immediately after 
+being instantiated.  This happens once and only once for each Mailet instance.  The 
+Initialization phase is where configuration parsing and per-Mailet resource creation generally 
+take place.  Depending on your Mailet, it may or may not be necessary to do any initialization 
+of the mailet.  Initialization logic is implemented by overriding the init() method of 
+GenericMailet.</p>
+</subsection>
+<subsection name="Servicing">
+<p>The bulk of the Mailet logic is expected to be invoked from the service(Mail) method.  This 
+method is invoked each time a mail message is to be processed by the mailet.  The message is 
+passed in as an instance of the Mail interface, which is part of the Mailet API.</p>
+<p>The Mail interface is essentially a light wrapper around JavaMail's MimeMessage class with a 
+few important differences.  See the Javadoc for the interface for a description of the additional
+methods available on this wrapper.</p>
+</subsection>
+<subsection name="Destruction">
+<p>As part of the Mailet lifecycle, a Mailet is guaranteed to be destroyed when the container 
+cleans up the Mailet.  This happens once and only once for each Mailet instance.  The 
+Destruction phase is where per-Mailet resource release generally takes place.  Depending 
+on your Mailet, it may or may not be necessary to do any destruction 
+of the mailet.  Destruction logic is implemented by overriding the destroy() method of 
+GenericMailet.</p>
+</subsection>
+</section>
+<section name="Deploying a Custom Mailet">
+<p>Once a Mailet has been successfully implemented there are only a couple of 
+additional steps necessary to actually deploy the Mailet.</p>
+<subsection name="Adding Your Mailet to the Classpath">
+<p>
+The Mailet must be added to James' classpath so that the Mailet can be loaded by James.  There 
+are three ways to add a custom Mailet to the classpath so that James will be able to load the 
+Mailet.  These are:
+</p>
+<p>
+1a. Download the source distribution, add a jar file containing the custom files to the lib 
+directory of the unpacked source distribution, and build a new .sar file by following the 
+directions <a href="build_instructions_2_3.html">here</a>.  This new .sar file will now 
+include your custom classes.
+</p>
+<p>
+or
+</p>
+<p>
+1b. Place a jar file containing the custom class files in the lib subdirectory of the James
+installation.  It will also be necessary to unpack the JavaMail and James jar files from 
+the provided .sar file and add them to this directory.
+</p>
+<p>
+or
+</p>
+<p>
+1c. Place a jar file containing the custom class files in the path/to/james/apps/james/SAR-INF/lib subdirectory.
+Please note that you must start james once to get the apps/james/SAR-INF directory created. After that is done create 
+the lib directory and copy the jar to the directory.
+</p>
+<p>
+2. After this is done get sure you add the mailet package to the config.xml. For example: 
+<p>
+<source>
+&lt;!-- Set the Java packages from which to load mailets and matchers --&gt;
+&lt;mailetpackages&gt;
+    &lt;mailetpackage&gt;org.apache.james.transport.mailets&lt;/mailetpackage&gt;
+    &lt;mailetpackage&gt;org.apache.james.transport.mailets.smime&lt;/mailetpackage&gt;
+    &lt;mailetpackage&gt;your.costum.package.transport-mailets&lt;/mailetpackage&gt;
+&lt;/mailetpackages&gt;
+</source>
+</p>
+After that restart james.
+</p>
+</subsection>
+<subsection name="James Configuration">
+<p>Configuration of the processor chain is discussed 
+<a href="spoolmanager_configuration_2_3.html">elsewhere</a> in this documentation.  The 
+details of configuring mailet deployment is discussed at length.  Here we will only comment 
+that it is important to add the appropriate mailet package for your custom mailet to the 
+&lt;mailetpackages&gt; list and that the name of your mailet should not conflict with any of 
+the mailets described <a href="provided_mailets_2_3.html">here</a>.
+</p>
+</subsection>
+</section>
+</body>
+</document>

Added: james/server/trunk/src/xdocs/custom_matcher_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/custom_matcher_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/custom_matcher_2_3.xml (added)
+++ james/server/trunk/src/xdocs/custom_matcher_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,133 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>James 2.3 - Writing a Custom Matcher</title>
+ </properties>
+
+<body>
+<section name="Writing a Custom Matcher">
+<p>Implementing a custom matcher is generally a simple task, most of whose complexity 
+lies in coding the actual work to be done by the matcher.  This is largely due to the 
+simplicity of the Matcher interface and the fact that a couple of abstract Matcher template
+classes are provided in the Mailet package.  These two classes, GenericMatcher and 
+GenericRecipientMatcher, greatly simplfy the task of Matcher authoring.</p>
+<p>As discussed elsewhere in this manual, the Matcher interface does not simply match 
+or not match a particular message.  Rather, it returns some subset of the original message
+recipients as a result of the match(Mail) method.  This leads to the two different abstract
+Matcher implementations.</p>
+<p>The first, GenericMatcher, is intended for matchers where recipient evaluation is not 
+necessary.  Basically, you should subclass this implementation if your matcher is going to 
+return all or none of the recipients.</p>
+<p>When subclassing this class, there are four methods that potentially need to be 
+overridden.  These are getMatcherInfo(), init(), match(Mail), and destroy().  More on these 
+anon.</p>
+<p>The second implementation, GenericRecipientMatcher, is intended for those matchers where 
+each recipient is evaluated individually.  It is a subclass of GenericMatcher, and inherits 
+most of its behavior from that class.  The only major difference is that subclasses are 
+expected to override matchRecipient(MailAddress) rather than match(Mail).</p>
+<subsection name="Configuration">
+<p>Matchers are passed a single String as part of their configuration.  Interpretation of this 
+list is left entirely to the body of the Matcher.  This String value is available in 
+the body of the Matcher through use of the getCondition() method of the 
+GenericMatcher class.  This method returns the String value passed to the Matcher, and returns 
+null if no value is set.  The method getCondition() is available inside the init(), destroy(), match(Mail), 
+and matchRecipient(MailAddress) methods.</p>
+</subsection>
+<subsection name="Logging">
+<p>There is a simple logging mechanism provided by the Mailet API.  It does not support 
+logging levels, so any log filtering will have to be implemented in the Matcher code.  
+Logging is done by calling one of the two logging methods on GenericMatcher/GenericRecipientMatcher - log(String) 
+or log(String,Throwable).  Logging is available inside the init(), destroy(), match(Mail), 
+and matchRecipient(MailAddress) methods.</p>
+<p>The value of getMatcherInfo() for the Matcher is prepended to the log entries for that 
+Matcher.  So it may be desirable for you to override this method so you can distinguish Matcher
+log entries by Matcher.</p>
+</subsection>
+<subsection name="Initialization">
+<p>As part of the Matcher lifecycle, a Matcher is guaranteed to be initialized immediately after 
+being instantiated.  This happens once and only once for each Matcher instance.  The 
+Initialization phase is where configuration parsing and per-Matcher resource creation generally 
+take place.  Depending on your Matcher, it may or may not be necessary to do any initialization 
+of the Matcher.  Initialization logic is implemented by overriding the init() method of 
+GenericMatcher/GenericRecipientMatcher.</p>
+</subsection>
+<subsection name="Matching">
+<p>It is the matching phase where the Matcher's work is done.  The exact form of this phase largely 
+depends on which Matcher superclass is subclassed.</p>
+<p>If GenericMatcher is being subclassed, it is the match(Mail) that is implemented.  As described 
+above, this method returns a Collection of MailAddresses that is a subset of the original 
+recipients for the Mail object.</p>
+<p>If it is a purely recipient-filtering Matcher, then the GenericRecipientMatcher should be
+subclassed.  In this case, developers must provide an implementation of the 
+matchRecipient(MailAddress) method.  This method returns true if the recipient matches,
+and false otherwise.</p>
+</subsection>
+<subsection name="Destruction">
+<p>As part of the Matcher lifecycle, a Matcher is guaranteed to be destroyed when the container 
+cleans up the Matcher.  This happens once and only once for each Matcher instance.  The 
+Destruction phase is where per-Matcher resource release generally takes place.  Depending 
+on your Matcher, it may or may not be necessary to do any destruction 
+of the Matcher.  Destruction logic is implemented by overriding the destroy() method of 
+GenericMatcher/GenericRecipientMatcher.</p>
+</subsection>
+</section>
+<section name="Deploying a Custom Matcher">
+<p>Once a Matcher has been successfully implemented there are only a couple of 
+additional steps necessary to actually deploy the Matcher.</p>
+<subsection name="Adding Your Matcher to the Classpath">
+<p>
+The Matcher must be added to James' classpath so that the Matcher can be loaded by James.  There 
+are two ways to add a custom Matcher to the classpath so that James will be able to load the 
+Matcher.  These are:
+</p>
+<p>
+1a. Download the source distribution, add a jar file containing the custom files to the lib 
+directory of the unpacked source distribution, and build a new .sar file by following the 
+directions <a href="build_instructions_2_3.html">here</a>.  This new .sar file will now 
+include your custom classes.
+</p>
+<p>
+or
+</p>
+<p>
+1b. Place a jar file containing the custom class files in the lib subdirectory of the James
+installation.  It will also be necessary to unpack the JavaMail and James jar files from 
+the provided .sar file and add them to this directory.
+</p>
+<p>
+or
+</p>
+<p>
+1c. Place a jar file containing the custom class files in the path/to/james/apps/james/SAR-INF/lib subdirectory.
+Please note that you must start james once to get the apps/james/SAR-INF directory created. After that is done create 
+the lib directory and copy the jar to the directory.
+</p>
+<p>
+2. After this is done get sure you add the matcher package to the config.xml. For example: 
+<p>
+<source>
+&lt;!-- Set the Java packages from which to load mailets and matchers --&gt;
+&lt;matcherpackages&gt;
+    &lt;matcherpackage&gt;org.apache.james.transport.matchers&lt;/matcherpackage&gt;
+    &lt;matcherpackage&gt;org.apache.james.transport.matchers.smime&lt;/matcherpackage&gt;
+    &lt;matcherpackage&gt;your.costum.package.transport-matchers&lt;/matcherpackage&gt;
+&lt;/matcherpackages&gt;
+</source>
+</p>
+After that restart james.
+</p>
+</subsection>
+<subsection name="James Configuration">
+<p>Configuration of the processor chain is discussed 
+<a href="spoolmanager_configuration_2_3.html">elsewhere</a> in this documentation.  The 
+details of configuring matcher deployment is discussed at length.  Here we will only comment 
+that it is important to add the appropriate matcher package for your custom matcher to the 
+&lt;matcherpackages&gt; list and that the name of your matcher should not conflict with any of 
+the matchers described <a href="provided_matchers_2_3.html">here</a>.
+</p>
+</subsection>
+</section>
+</body>
+</document>

Added: james/server/trunk/src/xdocs/design_objectives_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/design_objectives_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/design_objectives_2_3.xml (added)
+++ james/server/trunk/src/xdocs/design_objectives_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<document>
+  <properties>
+    <title>Design Objectives</title>
+    <author email="site-dev@james.apache.org">James Project Web Team</author>
+  </properties>
+  <body>
+    <section name="Design Objectives">
+      
+      <subsection name="features">
+        <p>These are some of the currently implemented features:</p>
+        <p>
+          <i>
+            <b>Complete portability</b>
+          </i>  Apache James is be a 100% pure Java application
+       based on the Java 2 platform and the JavaMail 1.4 API.
+  </p>
+        <p>
+          <i>
+            <b>Protocol abstraction</b>
+          </i>  Unlike other mail engines, protocols are seen only
+       like "communication languages" ruling comunications between clients and
+       the server. Apache James is not be tied to any particular protocol but
+       follow an abstracted server design (like JavaMail did on the
+       client side)</p>
+        <p>
+          <i>
+            <b>Complete solution</b>
+          </i>  the mail system is able to handle both mail
+       transport and storage in a single server application. Apache James
+       works alone without the need for any other server or solution.</p>
+        <p>
+          <i>
+            <b>Mailet support</b>
+          </i>  Apache James supports the Apache Mailet API. A Mailet
+       is a discrete piece of mail-processing logic which is incorporated into
+       a Mailet-compliant mail-server's processing. This easy-to-write,
+       easy-to-use pattern allows developers to build powerful customized mail
+       systems. Examples of the services a Mailet might provide include: a
+       mail-to-fax or mail-to-phone transformer, a filter, a language translator, a mailing
+       list manager, etc. Several Mailets are included in the JAMES
+       distribution (see <a href="documentation_2_3.html">documentation</a>).</p>
+        <p>
+          <i>
+            <b>Resource abstraction</b>
+          </i>  Like protocols, resources are abstracted and,
+       accessed through defined interfaces (JavaMail for transport, JDBC for
+       spool storage or user accounts in RDBMS's, Apache Mailet API). The server is
+       highly modular and reuse solutions from other projects.</p>
+        <p>
+          <i>
+            <b>Secure and multi-threaded design</b>
+          </i>  Based on the technology developed
+       for the Apache JServ servlet engine, Apache James has a careful,
+       security-oriented, full multi-threaded design, to allow performance,
+       scalability and mission-critical use.</p>
+        <p>Anything else you may want if you help us write it :-)</p>
+      </subsection>
+      <subsection name="standards compliance">
+        <p>It is the existence of published "open" standards which 
+allows independant teams to develop interoperable software.
+<br/>James attempts to support a number of these standards most of which are 
+IETF RFC's and in the areas covered by these standards the published standard 
+is our requirements document.
+<br/>This sometimes leads to confusion where behaviour is not 
+the subject of a relevant standard, or conflict where common 
+(de-facto) behaviour is actually at odds with a supported standard.
+<br/>We believe that it is our responsibility to adhere to the published standard. 
+If we allow our implementation to deviate it means that we are tacitly encouraging 
+the situation whereby interoperability is no longer guarenteed by standards 
+compliance alone, but also requires access to undocumented and possibly 
+even commercially licenced technology. There is no easy route for a 
+newcomer to aquire these secrets, and interoperabilty 
+becomes something only available to the elite.
+        </p>
+        <p>The James policy for issues of non-compliance tries to tread the fine line
+between a pragmatic acceptance of other people's misinterpretation of the
+RFC's and an evangelical defence of open standards as the key to freedom of interoperation.
+        </p>
+        <p>
+In practice this policy is that certain well argued of cases of
+non-compliance which can be *safely* worked around, will be tolerated by
+James.
+</p>
+        <p>
+In cases (like jira issue JAMES-344 ) where variance from a published standard is
+required it is desirable that this functionality is disabled in James by default,
+it must be prominently and clearly documented that this causes James 
+to violate the relevant standard, and should be enabled by explicit 
+configuration, making its use a conscious decision of the user rather 
+than an decision taken by the James team.
+</p>
+        <p>
+In cases where the required behaviour is not within the scope of any standard which
+James claims to support (such as behaviour which is a de-facto standard or
+an <i>internet draft</i> RFC but not yet subject of a <i>standards track</i> RFC) it is
+acceptable to implement the behaviour so long as it is adequately
+documented (for instance by refrence to an <i>internet draft</i> or 
+other public document) and users can be clear about what to expect from James.
+</p>
+      </subsection>
+    </section>
+  </body>
+</document>

Added: james/server/trunk/src/xdocs/dns_configuration_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/dns_configuration_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/dns_configuration_2_3.xml (added)
+++ james/server/trunk/src/xdocs/dns_configuration_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>James 2.3 - Configuring DNS Services</title>
+ </properties>
+
+<body>
+<section name="DNS Configuration">
+
+  
+<p>DNS Transport services are controlled by a configuration block in
+the config.xml. This block affects SMTP remote delivery.</p>
+
+<p>The dnsserver tag defines the boundaries of the configuration
+block. It encloses all the relevant configuration for the DNS server.
+The behavior of the DNS service is controlled by the attributes and
+children of this tag.</p> 
+
+<p>The standard children of the dnsserver tag are:</p>
+<ul>
+<li><strong>servers</strong> - This is a list of DNS Servers to be used by James and are 
+specified by one, or more <strong><i>server</i></strong> elements, which are child elements. 
+Each server element is the IP address of a single DNS server.
+<source>
+&lt;servers&gt;
+  &lt;server&gt;127.0.0.1&lt;/server&gt;
+  &lt;server&gt;166.181.194.205&lt;/server&gt;
+&lt;/servers&gt;
+</source>
+</li>
+
+<li><strong>authoritative</strong> - (<strong>true/false</strong>)This tag specifies whether or not 
+to require authoritative (non-cached) DNS records; to only accept DNS responses that are 
+authoritative for the domain. It is primarily useful in an intranet/extranet environment.
+<p>This should always be <strong>false</strong> unless you understand the implications.</p>
+</li>
+</ul>
+</section>
+</body>
+</document>

Propchange: james/server/trunk/src/xdocs/dns_configuration_2_3.xml
------------------------------------------------------------------------------
    svn:executable = *

Modified: james/server/trunk/src/xdocs/document_archive.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/document_archive.xml?rev=418815&r1=418814&r2=418815&view=diff
==============================================================================
--- james/server/trunk/src/xdocs/document_archive.xml (original)
+++ james/server/trunk/src/xdocs/document_archive.xml Mon Jul  3 10:43:15 2006
@@ -21,6 +21,15 @@
 <subsection name="Table of Contents">
 <p>
     <ul name="Older Documentation">
+        <li> <a href="adding_users_2_1.html">Adding Users (version 2.1)</a></li>
+        <li> <a href="anouncement_2_1.html">Announcement (version 2.1)</a></li>
+        
+        <li> <a href="install.html">Install (version 2.0)</a></li>
+        <li> <a href="configuration_v2_0.html">Configuration (version 2.0)</a></li>
+        <li> <a href="usingJDBC_v2.0.html">Using JDBC (version 2.0)</a></li>
+        <li> <a href="usingLDAP_v1_2.html">Using LDAP (version 1.2)</a></li>
+        <li> <a href="usingTLS_v1_2.html">Using TLS (version 1.2)</a></li>
+    
         <li> <a href="architecture_v2_0.html">Architecture (version 2.0)</a></li>
         <li> <a href="install.html">Install (version 2.0)</a></li>
         <li> <a href="configuration_v2_0.html">Configuration (version 2.0)</a></li>

Added: james/server/trunk/src/xdocs/documentation_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/documentation_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/documentation_2_3.xml (added)
+++ james/server/trunk/src/xdocs/documentation_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,87 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>James 2.13 - Table of Contents</title>
+ </properties>
+
+<body>
+<section name="James 2.3">
+<p>
+The Java Apache Mail Enterprise Server (a.k.a. Apache James) is a 100% pure Java SMTP and POP3 Mail 
+server and NNTP News server designed to be a complete and portable enterprise mail engine 
+solution.  James is based on currently available open protocols.
+</p>
+<p>
+The James server also serves as a mail application platform.  The James project hosts the Apache Mailet API, 
+and the James server is a Mailet container.  This feature makes it easy to design, write, and deploy 
+custom applications for mail processing.  This modularity and ease of customization is one of James' 
+strengths, and can allow administrators to produce powerful applications surprisingly easily.
+</p>
+<p>
+James is built on top of trunk version of the <a href="http://avalon.apache.org/">Avalon Application Framework</a>.  This 
+framework encourages a set of good development practices such as Component Oriented Programming and 
+Inversion of Control.  The standard distribution of James includes version 4.0.1 of the 
+<a href="http://avalon.apache.org/phoenix">Phoenix Avalon Framework container</a>.  This stable 
+and robust container provides a strong foundation for the James server.
+</p>
+<p>
+This documentation is intended to be an introduction to the concepts behind the James implementation, as well 
+as a guide to installing, configuring, (and for developers) building the James server.
+</p>
+<subsection name="Table of Contents">
+<p>
+I. James Concepts
+<ul>
+<li><a href="summary_2_3.html">Summary</a></li>
+<li><a href="spoolmanager_2_3.html">SpoolManager</a></li>
+<li><a href="repositories_2_3.html">Repositories</a></li>
+<li><a href="mailet_api_2_3.html">The Mailet API</a></li>
+</ul>
+II. How To Build James
+<ul>
+<li><a href="build_instructions_2_3.html">Building James</a></li>
+</ul>
+III. How To Install James
+<ul>
+<li><a href="installation_instructions_2_3.html">Installing James</a></li>
+</ul>
+IV. Configuring James
+<ul>
+<li><a href="dns_configuration_2_3.html">DNS Server Configuration</a></li>
+<li><a href="pop3_configuration_2_3.html">POP3 Server Configuration</a></li>
+<li><a href="smtp_configuration_2_3.html">SMTP Server Configuration</a></li>
+<li><a href="nntp_configuration_2_3.html">NNTP Server Configuration</a></li>
+<li><a href="fetchpop_configuration_2_3.html">FetchPOP Configuration <i>(deprecated)</i></a></li>
+<li><a href="fetchmail_configuration_2_3.html">fetchMail Configuration</a></li>
+<li><a href="remotemanager_configuration_2_1.html">RemoteManager Configuration</a></li>
+<li><a href="repositories_2_3.html">Repository Configuration</a></li>
+<li><a href="spoolmanager_configuration_2_3.html">SpoolManager Configuration</a></li>
+<li><a href="serverwide_configuration_2_3.html">Server-wide Configuration</a></li>
+<li><a href="adding_users_2_3.html">Adding Users</a></li>
+<li><a href="provided_matchers_2_3.html">Provided Matchers</a></li>
+<li><a href="provided_mailets_2_3.html">Provided Mailets</a></li>
+</ul>
+V. Common Configurations
+<ul>
+<li><a href="smtp_auth_2_3.html">Using SMTP AUTH</a></li>
+<li><a href="using_database_2_3.html">Using a Database with James</a></li>
+<li><a href="usingTLS_2_3.html">Using TLS/SSL</a></li>
+<li><a href="james_and_sendmail.html">James and Sendmail</a></li>
+<li><a href="mailing_lists_2_3.html">Creating Mailing Lists</a></li>
+</ul>
+VI. Customizing James
+<ul>
+<li><a href="custom_matcher_2_3.html">How to write a custom Matcher</a></li>
+<li><a href="custom_mailet_2_3.html">How to write a custom Mailet</a></li>
+</ul>
+V. Other Information
+<ul>
+<li><a href="FAQ.html">The James FAQ</a></li>
+</ul>
+</p>
+</subsection>
+</section>
+</body>
+</document>

Modified: james/server/trunk/src/xdocs/download.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/download.xml?rev=418815&r1=418814&r2=418815&view=diff
==============================================================================
--- james/server/trunk/src/xdocs/download.xml (original)
+++ james/server/trunk/src/xdocs/download.xml Mon Jul  3 10:43:15 2006
@@ -46,7 +46,7 @@
 
 </section>
 
-<section name="Apache James 2.2.0 is the best available version">
+<section name="Apache James 2.3.0 is the best available version">
 
 <p>This release has many enhancements and bug fixes over the previous
 release.  See the <a
@@ -58,28 +58,28 @@
 <ul>
 
 <li>Binary (Unix TAR): <a
-href="[preferred]/james/james-2.2.0.tar.gz">james-2.2.0.tar.gz</a> [<a
-href="http://www.apache.org/dist/james/binaries/james-2.2.0.tar.gz.asc">PGP</a>]</li>
+href="[preferred]/james/james-2.3.0.tar.gz">james-2.3.0.tar.gz</a> [<a
+href="http://www.apache.org/dist/james/binaries/james-2.3.0.tar.gz.asc">PGP</a>]</li>
 
 <li>Binary (ZIP Format): <a
-href="[preferred]/james/james-2.2.0.zip">james-2.2.0.zip</a> [<a
-href="http://www.apache.org/dist/james/binaries/james-2.2.0.zip.asc">PGP</a>]</li>
+href="[preferred]/james/james-2.3.0.zip">james-2.3.0.zip</a> [<a
+href="http://www.apache.org/dist/james/binaries/james-2.3.0.zip.asc">PGP</a>]</li>
 
 <li>Source (Unix TAR): <a
-href="[preferred]/james/james-2.2.0-src.tar.gz">james-2.2.0-src.tar.gz</a> [<a
-href="http://www.apache.org/dist/james/sources/james-2.2.0-src.tar.gz.asc">PGP</a>]</li>
+href="[preferred]/james/james-2.3.0-src.tar.gz">james-2.3.0-src.tar.gz</a> [<a
+href="http://www.apache.org/dist/james/sources/james-2.3.0-src.tar.gz.asc">PGP</a>]</li>
 
 <li>Source (ZIP Format): <a
-href="[preferred]/james/james-2.2.0-src.zip">james-2.2.0-src.zip</a> [<a
-href="http://www.apache.org/dist/james/sources/james-2.2.0-src.zip.asc">PGP</a>]</li>
+href="[preferred]/james/james-2.3.0-src.zip">james-2.3.0-src.zip</a> [<a
+href="http://www.apache.org/dist/james/sources/james-2.3.0-src.zip.asc">PGP</a>]</li>
 
 <li>Source with Avalon Phoenix binaries (Unix TAR): <a
-href="[preferred]/james/james-with-phoenix-2.2.0-src.tar.gz">james-with-phoenix-2.2.0-src.tar.gz</a> [<a
-href="http://www.apache.org/dist/james/sources/james-with-phoenix-2.2.0-src.tar.gz.asc">PGP</a>]</li>
+href="[preferred]/james/james-with-phoenix-2.3.0-src.tar.gz">james-with-phoenix-2.3.0-src.tar.gz</a> [<a
+href="http://www.apache.org/dist/james/sources/james-with-phoenix-2.3.0-src.tar.gz.asc">PGP</a>]</li>
 
 <li>Source with Avalon Phoenix binaries (ZIP Format): <a
-href="[preferred]/james/james-with-phoenix-2.2.0-src.zip">james-with-phoenix-2.2.0-src.zip</a> [<a
-href="http://www.apache.org/dist/james/sources/james-with-phoenix-2.2.0-src.zip.asc">PGP</a>]</li>
+href="[preferred]/james/james-with-phoenix-2.3.0-src.zip">james-with-phoenix-2.3.0-src.zip</a> [<a
+href="http://www.apache.org/dist/james/sources/james-with-phoenix-2.3.0-src.zip.asc">PGP</a>]</li>
 
 <li><a
 href="[preferred]/james/binaries/">Other

Modified: james/server/trunk/src/xdocs/index.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/index.xml?rev=418815&r1=418814&r2=418815&view=diff
==============================================================================
--- james/server/trunk/src/xdocs/index.xml (original)
+++ james/server/trunk/src/xdocs/index.xml Mon Jul  3 10:43:15 2006
@@ -12,6 +12,12 @@
       <p>James requires Java 1.4 (For further information you may want to search the web, our <a href="http://www.mail-archive.com/server-dev@james.apache.org/">dev</a> and <a href="http://www.mail-archive.com/server-user@james.apache.org/">user</a> mail archives or our <a href="http://wiki.apache.org/james">wiki</a>).</p>
     </section>
     <section name="news">
+    <subsection name="2006">
+
+     <h3>James 2.3.0 on the way</h3>
+      <p>After a long time of development we released the first beta ( 2.3.0b1 ) now. If nothing goes wrong the final will be out soon</p>
+ 
+    </subsection>
 
     <subsection name="2005">
 
@@ -42,13 +48,13 @@
     
     <section name="releases">
       <p>
-        <b>Latest and Stable: James v2.2.0</b>
+        <b>Latest and Stable: James v2.3.0</b>
         <br/>
-James v2.2.0 is the current release, and the latest in the James v2 series.
+James v2.3.0 is the current release, and the latest in the James v2 series.
 Both <a href="http://james.apache.org/download.cgi">binary and source</a> distributions are available.</p>
-      <p>James v2.2.0 is a major update to the James platform, with many new features, functional improvements, and bug fixes.
+      <p>James v2.3.0 is a major update to the James platform, with many new features, functional improvements, and bug fixes.
 See the <a href="changelog.html">Change Log</a> for a detailed list of changes.  <b>All
-users are urged to upgrade to v2.2.0 as soon as possible</b>.</p>
+users are urged to upgrade to v2.3.0 as soon as possible</b>.</p>
       <p>Any bugs found in James are dealt with promptly.  Please provide feedback on the james-user and james-dev mailing lists.</p>
       <p>
         <b>Get your hands on the latest versions..</b>

Added: james/server/trunk/src/xdocs/installation_instructions_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/installation_instructions_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/installation_instructions_2_3.xml (added)
+++ james/server/trunk/src/xdocs/installation_instructions_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,88 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>James 2.3 - Installation</title>
+ </properties>
+<body>
+<section name="Requirements">
+<p>James requires a Java Runtime Environment of Java version 1.4 or higher installed to run the 
+James application.  The exact JREs available depend on the platform.  A JRE must be downloaded and
+installed before James can run.  In addition, the environment variable JAVA_HOME must be set to
+the JRE home directory before running James.</p>
+<p>
+On Unix platforms, root access will be required to run James.  On these platforms, access to ports 
+below 1024 is generally restricted to the root user.  As SMTP, POP3, and NNTP all need to open 
+server sockets on such ports in standard configurations, James requires root access.
+</p>
+<p>
+Obviously James also requires sufficient disk space, processor power, and network bandwidth.  But, 
+other than what's been discussed here, it has no additional special requirements.</p>
+</section>
+<section name="Installation Comments">
+<p>James installation involves a number of steps, each of which is described in some detail in the 
+following sections.  But as this sequence of steps has confused some users in the past, additional 
+comments seem warranted.</p>
+<p>It is important to realize that the James configuration files are not unpacked from the James 
+distribution until the first time James is started.  This is a consequence of the design of the 
+Avalon Phoenix container used to run James.  Once James has been started, the distribution will 
+be unpacked.  The server should be stopped, the configuration files edited, and the server restarted.</p>
+<p>So the installation sequence is: <b>1) Start, 2) Stop, 3) Edit, 4) Restart</b>.</p>
+</section>
+<section name="Installing the Binary">
+<subsection name="Installing a Stand-alone James Server">
+<p>Obtain the full James binary distribution from the <a href="http://james.apache.org/download.cgi">James 
+release mirrors</a>.  Unpack the archive into your James installation directory.  Go to the bin subdirectory of the 
+installation directory and run the "run" script (either run.sh or run.bat, depending on your platform).  The configuration
+file is now unpacked and available for editing.</p>
+</subsection>
+<subsection name="Deploying a James Server in a Pre-Existing Phoenix Container">
+<p><strong>Warning!</strong> - James requires Phoenix version 4.0.x to run.  There is a known issue with logging in Phoenix 4.0, so version 
+4.0.1 or higher is strongly recommended.  Before attempting to deploy James in a Phoenix container, please make sure
+it meets these version criteria.</p>
+<p>Deploying James in Phoenix is fairly easy.  Obtain the james.sar file from the <a href="http://james.apache.org/download.cgi">James 
+release mirrors</a>.  It can be found in the "Other Binaries" 
+area of the distribution directory.  After downloading the james.sar,
+simply place it in the apps subdirectory of your Phoenix installation.  Restart Phoenix, and the james.sar should unpack and you
+will be ready to configure your James installation.</p>
+</subsection>
+</section>
+
+<section name="Initial Configuration">
+<p>
+After installing the binary, the next step is to adjust the initial configuration.  The server should be stopped, and then 
+configuration can proceed.  The most essential configuration is set in the config.xml file.  This file can be 
+found in the apps/james/SAR-INF subdirectory of the installation directory.</p>
+<p>The out of the box configuration makes certain assumptions and has some default values that are unlikely to 
+be appropriate for real-world servers.  There are a few issues that should be addressed immediately upon installation:
+</p>
+<ul>
+<li>RemoteManager Administrator Account - Before the RemoteManager service can be used to add users to this server 
+installation an administrator account must be created.  More information can be found <a href="remotemanager_configuration_2_1.html">here</a>.</li>
+<li>DNS Servers - James needs to have access to a DNS server for domain resolution.  The out of the box 
+configuration assumes that there is a DNS server on localhost.  In general administrators will have to change 
+the configuration to point to a valid DNS server.  This can be done by adjusting the dnsserver configuration 
+block in the config.xml.  More information can be found <a href="serverwide_configuration_2_3.html">here</a>.</li>
+<li>Managed Domain Names/IP Addresses - Out of the box, James only handles mail that is sent to recipients at 
+localhost.  It will attempt to deliver all other email to remote SMTP servers.  To allow James to handle email 
+for your domain or IP address, you simply need to add the appropriate domain name or IP address to the servernames 
+section of the config.xml.  More information can be found <a href="serverwide_configuration_2_3.html">here</a>.</li>
+<li>Postmaster Address - More information can be found <a href="serverwide_configuration_2_3.html">here</a>.</li>
+</ul>
+<p>In addition to adjusting these parameters, you may wish to consult the documentation for a discussion of
+common configurations.  A list of such configurations, as well as the steps necessary to configure them, can
+be found <a href="documentation_2_3.html">here</a>.</p>
+</section>
+<section name="Starting James with Your Configuration">
+<p>Once you have edited the configuration file you will need to restart James so that the changes take 
+effect.  When James starts, a list of the James services and the ports on which they are listening should 
+be displayed on the console.  Additional information about the system configuration is printed in the James log files 
+upon startup.</p>
+<p>Finally, after configuration is complete, it will be necessary to create user accounts before the James server 
+will be fully operational.  Instructions on creating user accounts can be found 
+<a href="adding_users_2_3.html">here</a>.</p>
+</section>
+
+</body>
+</document>

Modified: james/server/trunk/src/xdocs/license.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/license.xml?rev=418815&r1=418814&r2=418815&view=diff
==============================================================================
--- james/server/trunk/src/xdocs/license.xml (original)
+++ james/server/trunk/src/xdocs/license.xml Mon Jul  3 10:43:15 2006
@@ -16,64 +16,190 @@
 
 <source><![CDATA[
 
- The Apache Software License, Version 1.1
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
 
- Copyright (c) 2001 The Apache Software Foundation.  All rights
- reserved.
+   END OF TERMS AND CONDITIONS
 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in
-    the documentation and/or other materials provided with the
-    distribution.
-
- 3. The end-user documentation included with the redistribution, if
-    any, must include the following acknowlegement:
-       "This product includes software developed by the
-        Apache Software Foundation (http://www.apache.org/)."
-    Alternately, this acknowlegement may appear in the software itself,
-    if and wherever such third-party acknowlegements normally appear.
-
- 4. The names "The Jakarta Project", "James", and "Apache Software
-    Foundation" must not be used to endorse or promote products derived
-    from this software without prior written permission. For written
-    permission, please contact apache@apache.org.
-
- 5. Products derived from this software may not be called "Apache"
-    nor may "Apache" appear in their names without prior written
-    permission of the Apache Group.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
- ====================================================================
-
- This software consists of voluntary contributions made by many
- individuals on behalf of the Apache Software Foundation.  For more
- information on the Apache Software Foundation, please see
- <http://www.apache.org/>.
 ]]></source>
 
 </section>
 
-<section name="mm.mysql drivers">
+<section name="dnsjava">
 <p>
-    mm.mysql JDBC drivers are distributed with James, a copy of the licence is contained in the distribution
+    dnajava is distributed with James, a copy of the licence is contained in the distribution
 </p>
 </section>
 

Modified: james/server/trunk/src/xdocs/mail.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/mail.xml?rev=418815&r1=418814&r2=418815&view=diff
==============================================================================
--- james/server/trunk/src/xdocs/mail.xml (original)
+++ james/server/trunk/src/xdocs/mail.xml Mon Jul  3 10:43:15 2006
@@ -8,7 +8,7 @@
     <section name="This Document">
       <P>This is a living document that provides details of mailing lists and guidelines for their use for the Apache James project. <br/>
 Please read the whole document and find a list of available mailinglists at the bottom of the page.<br/>
-Last Updated January 2005.</P>
+Last Updated Juni 2006.</P>
     </section>
     <section name="Mailing Lists - Guidelines">
       <p>A mailing list is an electronic discussion forum that anyone can

Added: james/server/trunk/src/xdocs/mailet_api_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/mailet_api_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/mailet_api_2_3.xml (added)
+++ james/server/trunk/src/xdocs/mailet_api_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>James 2.3 - Mailet API</title>
+ </properties>
+
+<body>
+<section name="Mailet API">
+<p>The Mailet API is a simple API used to build mail processing applications.  James is a Mailet 
+container, allowing administrators to deploy Mailets (both custom and pre-made) to carry out a 
+variety of complex mail processing tasks.  In the default configuration James uses Mailets to carry 
+out a number of tasks that are carried out deep in the source code of other mail servers (i.e. list 
+processing, remote and local delivery).</p>
+<p>
+As it stands today, the Mailet API defines interfaces for both Matchers and Mailets.</p>
+<p>Matchers, as their name would suggest, match mail messages against certain conditions.  They 
+return some subset (possibly the entire set) of the original recipients of the message if there 
+is a match.  An inherent part of the Matcher contract is that a Matcher should not induce any changes
+in a message under evaluation.</p>
+<p>Mailets are responsible for actually processing the message.  They may alter the message in any fashion,
+or pass the message to an external API or component.  This can include delivering a message to its destination 
+repository or SMTP server.</p>
+<p>The Mailet API is currently in its second revision.  Although, the Mailet API is expected to undergo substantial changes in the near future, it is our aim that existing Mailets that abided purely by the prior Mailet API interfaces will continue to run with the revised specification.</p>
+<p>The Javadoc for the Mailet API can be found <a href="mailet/index.html">here</a>.</p>
+<p>James bundles a number of Matchers and Mailets in its distribution.  Descriptions of provided matchers 
+can be found <a href="provided_matchers_2_3.html">here</a>, while descriptions of provided mailets can be found 
+<a href="provided_mailets_2_1.html">here</a>.</p>
+</section>
+</body>
+</document>

Added: james/server/trunk/src/xdocs/mailing_lists_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/mailing_lists_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/mailing_lists_2_3.xml (added)
+++ james/server/trunk/src/xdocs/mailing_lists_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,97 @@
+<?xml version="1.0"?>
+<document>
+ <properties>
+  <title>James 2.3 - Creating Mailing Lists</title>
+ </properties>
+<body>
+
+<section name="How To Create Mailing Lists">
+<p>One of the frequent questions on the James-User Mailing List is how
+to create a mailing list. This document explains one way of using the
+currently supplied Matchers and Mailets in James v2.3.</p>
+
+<p>Basically, the process requires creating two &lt;mailet&gt; entries
+and a repository.  The first mailet handles list commands (currently
+only <i>list-name</i>-on and <i>list-name</i>-off).  The second mailet
+handles list messages.  The repository will hold the e-mail addresses
+of list subscribers.</p>
+
+<p>The mailets go into the processor chain (e.g., at the top of the
+<i>transport</i> processor), the repository goes into the
+&lt;users-store&gt; block.</p>
+
+<subsection name="Setting up the Mailets">
+
+<p>You need to setup two mailets.</p>
+
+<p>The first mailet that you need to setup is an instance of the <a
+href="provided_mailets_2_3.html#AvalonListservManager">Avalon Listserv
+Manager</a> mailet.  This will handle subscribing and unsubscribing.
+[Note: the current code does not support confirmed opt-in, just basic
+commands.]  The <a
+href="provided_matchers_2_3.html#CommandForListserv">CommandForListserv</a>
+matcher is used to invoke match messages containing commands for the
+mailing list.</p>
+
+<p>The second mailet is an instance of the <a
+href="provided_mailets_2_3.html#AvalonListserv">Avalon Listserv</a>
+mailet.  That mailet actually receives messages for the list and
+causes them to be distributed.  The <a
+href="provided_matchers_2_3.html#RecipientIs">RecipientIs</a> matcher
+is used to match messages intended for the mailing list.</p>
+
+<p>The following illustrates the two &lt;mailet&gt; elements that need to be added:</p>
+
+<source>
+  &lt;mailet match="CommandForListserv=<i>list-name</i>@<i>domain</i>"
+          class="AvalonListservManager"&gt;
+    &lt;repositoryName&gt;<i>list-name</i>&lt;/repositoryName&gt;
+  &lt;/mailet&gt;
+
+  &lt;mailet match="RecipientIs=<i>list-name</i>@<i>domain</i>" class="AvalonListserv"&gt;
+    &lt;repositoryName&gt;<i>list-name</i>&lt;/repositoryName&gt;
+    ... list options ...
+  &lt;/mailet&gt;
+</source>
+
+</subsection>
+
+<subsection name="Setting up the Repository">
+
+<p>The mailing list mailets need a repository within which to store
+the subscriber list.  There is a separate repository for each mailing
+list, and is completely independent of the user repository used by
+James to manage e-mail accounts.  This is configured in the
+&lt;users-store&gt; block of config.xml.</p>
+
+<p>The following illustrates a database-backed repository using JDBC
+with the ListUsersJdbcRepository class.  Notice that there will be a
+single table, <i>lists</i>, created in the db://maildb resource
+defined elsewhere.  There are currently two columns: the list name and
+the list subscriber.</p>
+
+<source>
+  &lt;repository name="<i>list-name</i>"
+                 class="org.apache.james.userrepository.ListUsersJdbcRepository"
+                 destinationURL="db://maildb/lists/<i>list-name</i>"&gt;
+    &lt;sqlFile&gt;file://conf/sqlResources.xml&lt;/sqlFile&gt;
+  &lt;/repository&gt;
+</source>
+
+<p>The following illustrates a file-system repository using the
+UsersFileRepository class. [Note: the destination URL is a child
+element when configuring a file-system repository, and an attribute
+when configuring a database-backed repository.  This inconsistency
+will be addressed in a future version of James.]</p>
+
+<source>
+  &lt;repository name="<i>list-name</i>"
+                 class="org.apache.james.userrepository.UsersFileRepository"&gt;
+    &lt;destination URL="file://var/lists/<i>list-name</i>/" /&gt; 
+  &lt;/repository&gt;
+</source>
+
+</subsection>
+</section>
+</body>
+</document>

Added: james/server/trunk/src/xdocs/migratingDatasource_v2.3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/migratingDatasource_v2.3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/migratingDatasource_v2.3.xml (added)
+++ james/server/trunk/src/xdocs/migratingDatasource_v2.3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>Migrating from Avalon database connections to DataSource</title>
+  <author email="serge@apache.org">Serge Knystautas</author>
+ </properties>
+
+<body>
+
+<section name="Migrating from Avalon database connections to DataSource">
+
+<p>
+  In James version 2.3, we expose database connections via the javax.sql.DataSource.  This document describes how to update code using James previous database connectivity (Avalon's DataSourceComponent).
+</p>
+<ol>
+<li>Remove references to DataSourceSelector.</li>
+<li>Change references of DataSourceComponent to DataSource</li>
+<li>Add imports:
+<source>
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.sql.DataSource;
+</source>
+</li>
+<li>Change how the datasource is looked up
+<br />
+Replace:
+<source>
+    ComponentManager componentManager = (ComponentManager)getMailetContext().getAttribute(Constants.AVALON_COMPONENT_MANAGER);
+    // Get the DataSourceSelector service
+    DataSourceSelector datasources = (DataSourceSelector)componentManager.lookup(DataSourceSelector.ROLE);
+    // Get the data-source required.
+    datasource = (DataSourceComponent)datasources.select(datasourceName);
+</source>
+with
+<source>
+    InitialContext ctx = new InitialContext();
+    datasource = (DataSource) ctx.lookup("java:comp/env/jdbc/" + datasourceName);
+</source>
+Then update exception handling appropriately.
+</li>
+</ol>
+ <p>
+   That's all there is to it.  Enjoy!
+ </p>
+
+</section>
+</body>
+</document>

Added: james/server/trunk/src/xdocs/nntp_configuration_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/nntp_configuration_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/nntp_configuration_2_3.xml (added)
+++ james/server/trunk/src/xdocs/nntp_configuration_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>James 2.3 - Configuring the NNTP Service</title>
+ </properties>
+
+<body>
+<section name="NNTP Configuration">
+<p>The NNTP service is controlled by a two configuration blocks in the config.xml.  These are the nntpserver block and the nntp-repository block.</p>
+<subsection name="The nntpserver block">
+<p>The nntpserver tag defines the boundaries of the configuration block.  It encloses 
+much of the relevant configuration for the NNTP server.</p>
+
+<p>This tag has an optional boolean attribute - <strong>enabled</strong> - that defines whether the service is active or not.  The value defaults to "true" if
+not present.</p>
+<p>The standard children of the nntpserver tag are:</p>
+<ul>
+<li><strong>port</strong> - This is an optional integer value.  This value is the port on which this NNTP server is configured 
+to listen.If the tag or value is omitted, the value will default to the standard NNTP port, 119.</li>
+<li><strong>bind</strong> - This is an optional value.  If present, this value is a string describing 
+the IP address to which this service should be bound.  If the tag or value is absent then the service 
+will bind to all network interfaces for the machine.</li>
+<li><strong>useTLS</strong> - This is an optional boolean value.  If this value is true, then the "ssl"
+server socket factory is used to generate the server socket for this service.  If it is false, the 
+"plain" server socket factory is used.  In either case this behavior is overridden by the serverSocketType 
+tag which is described under the expert configuration options.</li>
+<li><strong>handler</strong> - This is an artifact preserved for backwards compatibility.  This tag 
+was used to group related parameters.  It should disappear in future versions.</li>
+<ul>
+<li><strong>helloName</strong> - This is a required tag with an optional body that defines the server name 
+used in the initial service greeting.  The tag may have an optional attribute - <strong>autodetect</strong>.  If 
+the autodetect attribute is present and true, the service will use the local hostname
+returned by the Java libraries.  If autodetect is absent or false, the body of the tag will be used.  In
+this case, if no body is present, the value "localhost" will be used.</li>
+<li><strong>connectionTimeout</strong> - This is an optional tag with a non-negative integer body.  </li>
+<li><strong>authRequired</strong> - This is an optional tag with a boolean body.  If true, then the server will 
+require authentication before allowing the client to view news articles.  If this tag is absent, or the value 
+is false then the client will not be prompted for authentication.  Only simple user/password authentication is
+supported at this time.</li>
+</ul>
+</ul>
+<p>There are a few additional children of the nntpserver tag that are appropriate for advanced 
+configurations.  These should only be used by expert administrators.  All tags in this group are optional.</p>
+<ul>
+<li><strong>serverSocketFactory</strong> - This is an optional tag with a string body.  If the tag is present, 
+the body must be the name of one of the server socket factories specified in the socket manager block.  Any other 
+value will result in an error.  If present, this tag overrides the useTLS tag.</li>
+<li><strong>threadGroup</strong> - This is an optional tag with a string body.  If the tag is present, 
+the body must be the name of one of the thread groups specified in the thread manager block.  Any other 
+value will result in an error.  This tag is best used to fine tune thread allocation between the services.</li>
+<li><strong>connectionLimit</strong> - The connectionLimit parameter specifies the maximum number of client 
+connections that this service will allow.  If no value is specified, the value defaults to that specified in 
+the connectionmanager block.  A value of 0 means that there is no limit imposed 
+by the service, although resource limitations imposed by other components 
+(i.e. max # of threads) may serve to limit the number of open connections.</li>
+</ul>
+</subsection>
+<subsection name="The nntp-repository block">
+The remainder of the NNTP service configuration is controlled by the nntp-repository configuration block.  This
+section of configuration data relates to the server-side NNTP article repository.
+<ul>
+<li><strong>readOnly</strong> - This is a required boolean tag.  If the value is true, posting will not be 
+permitted by the NNTP server.</li>
+<li><strong>rootPath</strong> - This is a required string tag.  It must be in the form of a URL with a "file:" prefix.  This 
+specifies the root directory for the NNTP repository.  Groups hosted on the NNTP server will be represented as 
+folders under this root, and articles will be stored in the appropriate folders.</li>
+<li><strong>tempPath</strong> - This is a required string tag.  It must be in the form of a URL with a "file:" prefix.  This 
+specifies the directory where the NNTP server will store posted articles before they are added to the spool.</li>
+<li><strong>articleIDPath</strong> - This is a required string tag.  It must be in the form of a URL with a "file:" prefix.  This 
+specifies the directory where the NNTP server will store the mappings between article ID and the groups containing that article.</li>
+<li><strong>articleIDDomainSuffix</strong> - This is a required string tag.  It is the suffix appended to all article IDs generated
+by this NNTP server.</li>
+<li><strong>newsgroups</strong> - This is a required container tag.  It has a single <strong>newsgroup</strong> child for each newsgroup 
+hosted on the server.  The body of each of those <strong>newsgroup</strong> tags is the name of the newsgroup.</li>
+</ul>
+</subsection>
+</section>
+</body>
+</document>

Added: james/server/trunk/src/xdocs/pop3_configuration_2_3.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/xdocs/pop3_configuration_2_3.xml?rev=418815&view=auto
==============================================================================
--- james/server/trunk/src/xdocs/pop3_configuration_2_3.xml (added)
+++ james/server/trunk/src/xdocs/pop3_configuration_2_3.xml Mon Jul  3 10:43:15 2006
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+
+<document>
+
+ <properties>
+  <title>James 2.3 - Configuring the POP3 Service</title>
+ </properties>
+
+<body>
+<section name="POP3 Configuration">
+<p>The POP3 service is controlled by a configuration block in the config.xml.
+The pop3server tag defines the boundaries of the configuration block.  It encloses 
+all the relevant configuration for the POP3 server.  The behavior of the POP service is
+controlled by the attributes and children of this tag.</p>
+
+<p>This tag has an optional boolean attribute - <strong>enabled</strong> - that defines whether the service is active or not.  The value defaults to "true" if
+not present.</p>
+<p>The standard children of the pop3server tag are:</p>
+<ul>
+<li><strong>port</strong> - This is an optional integer value.  This value is the port on which this POP3 server is configured 
+to listen.If the tag or value is omitted, the value will default to the standard POP3 port, 110.</li>
+<li><strong>bind</strong> - This is an optional value.  If present, this value is a string describing 
+the IP address to which this service should be bound.  If the tag or value is absent then the service 
+will bind to all network interfaces for the machine.</li>
+<li><strong>useTLS</strong> - This is an optional boolean value.  If this value is true, then the "ssl"
+server socket factory is used to generate the server socket for this service.  If it is false, the 
+"plain" server socket factory is used.  In either case this behavior is overridden by the serverSocketType 
+tag which is described under the expert configuration options.</li>
+<li><strong>handler</strong> - This is an artifact preserved for backwards compatibility.  This tag 
+was used to group related parameters.  It should disappear in future versions.</li>
+<ul>
+<li><strong>helloName</strong> - This is a required tag with an optional body that defines the server name 
+used in the initial service greeting.  The tag may have an optional attribute - <strong>autodetect</strong>.  If 
+the autodetect attribute is present and true, the service will use the local hostname
+returned by the Java libraries.  If autodetect is absent or false, the body of the tag will be used.  In
+this case, if no body is present, the value "localhost" will be used.</li>
+<li><strong>connectionTimeout</strong> - This is an optional tag with an integer body.  </li>
+</ul>
+</ul>
+<p>There are a few additional children of the pop3server tag that are appropriate for advanced 
+configurations.  These should only be used by expert administrators.  All tags in this group are optional.</p>
+<ul>
+<li><strong>serverSocketFactory</strong> - This is an optional tag with a string body.  If the tag is present, 
+the body must be the name of one of the server socket factories specified in the socket manager block.  Any other 
+value will result in an error.  If present, this tag overrides the useTLS tag.</li>
+<li><strong>threadGroup</strong> - This is an optional tag with a string body.  If the tag is present, 
+the body must be the name of one of the thread groups specified in the thread manager block.  Any other 
+value will result in an error.  This tag is best used to fine tune thread allocation between the services.</li>
+<li><strong>connectionLimit</strong> - The connectionLimit parameter specifies the maximum number of client 
+connections that this service will allow.  If no value is specified, the value defaults to that specified in 
+the connectionmanager block.  A value of 0 means that there is no limit imposed 
+by the service, although resource limitations imposed by other components 
+(i.e. max # of threads) may serve to limit the number of open connections.</li>
+</ul>
+</section>
+</body>
+</document>



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message