charlesb 01/05/15 09:48:11
Modified: . build.xml
Added: src/xdocs code-standards.xml commandsIMAP.xml index.xml
install.xml license.xml todo.xml
src/xdocs/images james-logo.jpg
src/xdocs/stylesheets project.xml
Removed: xdocs code-standards.xml commandsIMAP.xml index.xml
install.xml license.xml todo.xml
xdocs/images james-logo.jpg
xdocs/stylesheets project.xml
Log:
Moved xdocs to src/xdocs
Revision Changes Path
1.61 +3 -3 jakarta-james/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-james/build.xml,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -r1.60 -r1.61
--- build.xml 2001/05/15 16:30:59 1.60
+++ build.xml 2001/05/15 16:47:11 1.61
@@ -92,7 +92,7 @@
<property name="conf.dir" value="conf"/>
<property name="lib.dir" value="lib"/>
<property name="tools.dir" value="tools"/>
- <property name="xdocs.dir" value="xdocs"/>
+ <property name="xdocs.dir" value="${src.dir}/xdocs"/>
<property name="dist.name" value="${name}-${version}"/>
@@ -103,7 +103,7 @@
<property name="site.dir" value="../xml-site/sources/james"/>
<property name="site.docs" value="../xml-site/targets/james"/>
- <property name="docs.src" value="./xdocs"/>
+ <property name="docs.src" value="${xdocs.dir}"/>
<property name="docs.dest" value="./docs"/>
<!--
@@ -450,7 +450,7 @@
<!-- =================================================================== -->
<!-- Generates the documentation for James -->
<!-- =================================================================== -->
- <target name="docs" depends="prepare-error" if="AnakiaTask.present">
+ <target name="xdocs" depends="prepare-error" if="AnakiaTask.present">
<taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask"/>
<anakia basedir="${docs.src}" destdir="${docs.dest}/"
extension=".html" style="./site.vsl"
1.1 jakarta-james/src/xdocs/code-standards.xml
Index: code-standards.xml
===================================================================
<?xml version="1.0"?>
<document>
<properties>
<title>Coding Standards</title>
<author email="[EMAIL PROTECTED]">Serge Knystautas</author>
</properties>
<body>
<section name="Coding Standards">
<p>
Submissions to the James project must follow the coding conventions
outlined in this document. James developers
are asked to follow coding conventions already present in the code.
(For example, if the existing code has the bracket on
the same line as the if statement, then all subsequent code
should also follow that convention.) Anything not
explicitly mentioned in this document should adhere to the
official
<a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">Sun
Java Coding Conventions</a>.
</p>
<p>
<strong>Developers who commit code that does not follow
the coding conventions outlined in this document will be
responsible for fixing their own code.</strong>
</p>
<p>
1. Spaces between parentheses are optional. The preference is to exclude
extra spaces. Both of these conventions are acceptable:
</p>
<p>
<source><![CDATA[
if (foo)
or
if ( foo )
]]></source>
</p>
<p>
2. Four spaces. <strong>NO</strong> tabs. Period. The James
mailing list receives cvs commit messages that are almost impossible
to read if tabs are used.
</p>
<p>
In Emacs-speak, this translates to the following command:
(setq-default tab-width 4 indent-tabs-mode nil)
</p>
<p>
3. Use Unix linefeeds for all .java source code files. Only platform-specific
files (e.g. .bat files for Windows) should contain non-Unix linefeeds.
</p>
<p>
4. Javadoc <strong>MUST</strong> exist on all methods. Contributing
a missing javadoc for any method, class, variable, etc., will be greatly
appreciated as this will help to improve the James project.
</p>
<p>
5. The Jakarta Apache/James License <strong>MUST</strong> be placed
at the top of every file.
</p>
</section>
</body>
</document>
1.1 jakarta-james/src/xdocs/commandsIMAP.xml
Index: commandsIMAP.xml
===================================================================
<?xml version="1.0"?>
<document>
<properties>
<title>Java Apache Mail Enterprise Server</title>
<author email="[EMAIL PROTECTED]">Charles Benett</author>
</properties>
<body>
<section name="Summary">
<h3>An overview of IMAP command implementation proposed for JAMES</h3>
<blockquote>
Objective: A set of interfaces and basic implementations that provide:
<ul>
<li>The core functionality of RFC 2060, IMAP4Rev1.</li>
<li>Mailbox referrals - RFC 2193</li>
<li>Login referrals - RFC 2221</li>
<li>Access Control Lists - RFC 2086</li>
<li>Quotas - RFC 2087</li>
</ul>
</blockquote>
</section>
<section name="Background - IMAP commands">
<p>The IMAP protocol is based on single socket connections. Each connection may be
in one of four official states: Non-Authenticated, Authenticated, Selected and Logout.
In addition, there is an on-connection 'state'. Connections may be pre-authenticated,
in which case they transition directly to the Authenticated state. Connections may
also be rejected arbitrarily, in which case a response is sent and the connection
tranistions directly to Logout. Once a connection enters the Logout state it must
terminate and will terminate without further client input.
</p>
<p>A connection can only 'select' one mailbox at a time, although the STATE command
allows a limited view of another mailbox. A client may open more than one connection
to a single server at once. The client is responsible for any coordination needed.
Multiple connections may 'select' a mailbox at the same time. The server must
coordinate access.
</p>
</section>
<section name="Commands by State, Effect and Sensitivity">
<p>Clients are, in general, permitted to issue multiple commands in a single
connection. That is they can issue a second command without waiting for a response to
the first command. Servers may process multiple commands in parallel or in series.
However, some combinations of commands cannot be processed in parallel, because they
are ambiguous. According to RFC2060,
<blockquote> "Clients MUST NOT send multiple commands without waiting if an
ambiguity would result. If the server detects a possible ambiguity, it MUST execute
commands to completion in the order given by the client."
</blockquote>
The following table aims to highlight which commands can or cannot be processed in
parallel with other commands. In particular, commands that are sensitive to mailbox
context or message sequence number cannot be processed in parallel with commands that
change those respective facts.
</p>
<p>
IMAP servers can support multiple namespaces with mailboxes that, for clients, would
otherwise have identical names. For example, a user could have a private mailbox
called James and also have access to a workgroup mailbox called James. These are
disambiguated by namespace tokens, which a client can discover by the Namespace
command.
</p>
<p>
Mailboxes can, in general, be accessed on behalf of more than one user. Access
Control Lists are used to on a per mailbox basis. Any command which explicitly or
implicitly refers to a mailbox, which is every command apart from Capability, Noop,
Logout, can be impacted by a change of ACL. I intend to tie administer rights for an
ACL to full read-write rights for the mailbox and not to allow someone with
administer rights to remove their own administer rights. Implementations not following
this practice may need to disambiguate ACL sensitive commands.
</p>
<p>The state of a mailbox (name, existence, ACL, number of messages, identity of
messages and message attributes) may be changed outside a given connection which has
the mailbox selected. Some of these changes should be notified to a client whether or
noe a command is in progress and some should be notified only if a command is in
progress.
</p>
<p>
The effects of a command noted here are ones which may affect processing multiple
commands from one connection or impact multiply accessed mailboxes.
<ul>
<li>Connection state change: will or may change the state of the
connection</li>
<li>Mailbox change: will or may change the state of an existing mailbox.
Includes: changing name, altering size of mailbox (by adding or removing message)
changing the access control list.</li>
<li>Mailbox context change: changes the selection of a mailbox, which is the
context for Selected state commands.</li>
<li>Message Sequence Number Change: will or may change the message sequence
number of a message known to this client, for example by provoking an untagged Expunge
response. Note that any command in the selected state may send an untagged Expunge,
except for Fetch, Store and Search. The entry 'likely' in this column indicates a
proposed implementation.</li>
</ul>
The sensitivities noted are ones which may affect processing multiple commands from
one connection or impact multiply accessed mailboxes.
<ul>
<li>Current Mailbox: this command implicity refers to the currently selected
mailbox so is sensitive to either a mailbox change or a mailbox context change</li>
<li>Message sequence number change: this command may take an MSN as an
argument</li>
</ul>
All commands which explicitly or implicitly refers to a mailbox, which is every
command apart from Capability, Noop, Logout, can be impacted by a Mailbox change.
</p>
<table border="1">
<tr>
<th colspan="1"></th>
<th colspan="3">State in which valid</th>
<th colspan="4">Effects</th>
<th colspan="2">Sensitivity</th>
</tr>
<tr>
<th colspan="1">Command</th>
<th>Non-Authenticated</th>
<th>Authenticated</th>
<th>Selected</th>
<th>Connection State change</th>
<th>Mailbox change</th>
<th>Mailbox context change</th>
<th>Message Sequence Number Change</th>
<th>Mailbox context</th>
<th>Message Sequence Number</th>
</tr>
<tr>
<td colspan="10" align="left" ><i>Core IMAP4 rev1 commands (RFC2060)</i></td>
</tr>
<tr>
<td colspan="1">Capability</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Noop</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td>likely</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Logout</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Authenticate</td>
<td>Yes</td>
<td></td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Login</td>
<td>Yes</td>
<td></td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Select</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Examine</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Create</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Delete</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Rename</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Subscribe</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Unsubscribe</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>List</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>LSUB</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Status</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Append</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Check</td>
<td></td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td>likely</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Close</td>
<td></td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td>Must not</td>
<td>Yes</td>
<td></td>
</tr>
<tr>
<td>Expunge</td>
<td></td>
<td></td>
<td>Yes</td>
<td></td>
<td>Yes</td>
<td></td>
<td>Must</td>
<td>Yes</td>
<td></td>
</tr>
<tr>
<td>Search</td>
<td></td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td>Must not</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Fetch</td>
<td></td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td>Must not</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Store</td>
<td></td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td>Must not</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Copy</td>
<td></td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td>likely</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>UID</td>
<td></td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td>likely</td>
<td>Yes</td>
<td></td>
</tr>
<tr>
<td colspan="10" align="left" ><i>Access Control List commands (RFC2086)</i></td>
</tr>
<tr>
<td colspan="1">SetACL</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>DeleteACL</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>GetACL</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>ListRights</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>MyRights</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="10" align="left" ><i>Namespace commands (RFC2342)</i></td>
</tr>
<tr>
<td colspan="1">Namespace</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="10" align="left" ><i>Mailbox Referral commands (RFC2193)</i></td>
</tr>
<tr>
<td colspan="1">RList</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>RLSUB</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td colspan="10" align="left" ><i>Quota commands (RFC2087)</i></td>
</tr>
<tr>
<td colspan="1">SetQuota</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>GetQuota</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>GetQuotaRoot</td>
<td></td>
<td>Yes</td>
<td>Yes</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</section>
</body>
</document>
1.1 jakarta-james/src/xdocs/index.xml
Index: index.xml
===================================================================
<?xml version="1.0"?>
<document>
<properties>
<title>Java Apache Mail Enterprise Server</title>
<author email="[EMAIL PROTECTED]">Serge Knystautas</author>
</properties>
<body>
<section name="What is it?">
<p>
The Java Apache Mail Enterprise Server (a.k.a. Apache James) is a 100% pure
Java server, designed to be a complete and portable enterprise mail engine solution
based on currently available open protocols (SMTP, POP3, IMAP, HTTP). It requires
Java 2 (minimum requirement is the JRE 1.2).
</p>
</section>
<section name="Design Objectives">
<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.2 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
mailling
list manager, etc. Several Mailets are included in the JAMES
distribution (see <a href="configuration.html">Configuration</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>
</section>
<section name="Feature Status">
<table>
<tr>
<th>Item</th>
<th>Status (v1.2.1)</th>
<th>Since</th>
<th>First released</th>
</tr>
<tr>
<td>SMTP server</td>
<td>Stable</td>
<td>1.0</td>
<td>0.95</td>
</tr>
<tr>
<td>Mailet Engine</td>
<td>Stable</td>
<td>1.2</td>
<td>0.95</td>
</tr>
<tr>
<td>FileSystem mailboxes/spool</td>
<td>Stable</td>
<td>1.2</td>
<td>1.0</td>
</tr>
<tr>
<td>RDBMS mailboxes/spool</td>
<td>Stable</td>
<td>1.2</td>
<td>1.2</td>
</tr>
<tr>
<td>POP3 server</td>
<td>Stable</td>
<td>1.1</td>
<td>1.0</td>
</tr>
<tr>
<td>RDBMS - Users</td>
<td>Stable</td>
<td>1.2.1</td>
<td>1.2.1</td>
</tr>
<tr>
<td>LDAP Support - Users</td>
<td>Experimental</td>
<td>1.2</td>
<td>1.2</td>
</tr>
<tr>
<td>TLS Support - POP3</td>
<td>Experimental</td>
<td>1.2</td>
<td>1.2</td>
</tr>
<tr>
<td>Remote Manager</td>
<td>Stable</td>
<td>1.0</td>
<td>1.0</td>
</tr>
<tr>
<td>TLS Support - Remote Manager</td>
<td>Stable</td>
<td>1.2</td>
<td>1.2</td>
</tr>
<tr>
<td>NNTP server</td>
<td>Experimental</td>
<td>1.2</td>
<td>1.2</td>
</tr>
</table>
</section>
</body>
</document>
1.1 jakarta-james/src/xdocs/install.xml
Index: install.xml
===================================================================
<?xml version="1.0"?>
<document>
<properties>
<title>Installation</title>
<author email="[EMAIL PROTECTED]">Serge Knystautas</author>
</properties>
<body>
<section name="Step 0: Building. (only necessary for daily snapshots)">
<p>
If you have downloaded a regular distribution, you do not need to
build James. Proceed directory to Step 1.
</p>
<p>
To compile James from sources you will need <a
href="http://jakarta.apache.org/ant/">Ant</a>.
This is a Java-tailored, XML-configured, extensible build or make system.
We are currently using Ant 1.1, although documentation generation requires Ant
1.2.
</p>
<p>
If you have downloaded a daily snapshot, you need to build a
distribution. James uses Ant (<a
href="http://jakarta.apache.org/ant/">http://jakarta.apache.org/ant/</a>) to
compile and package its distribution. Once you have installed Ant,
extracted the snapshot to your favorite folder, cd to that folder
and run the "dist" task by calling "ant dist". This will create the
distribution in the "./dist" folder as well as create .tgz and .zip
copies of this folder. This "./dist" folder is the distribution
folder used in Step 1 and beyond. You may either cd to ./dist, or
you may copy and rename the dist folder to your new favorite folder.
</p>
</section>
<section name="Step 1: Installation.">
<p>
Download distibution. Extract all files in your favorite folder.
</p>
</section>
<section name="Step 2: Configuration.">
<p>
Read the short and snappy documentation at docs/index.html for a proper
overview of configuring the system.
</p>
<p>
<b>Summary</b> (for impatient people)
</p>
<p>
M$ users should just run /bin/run.bat. Unix users will find run.sh
under the same folder. A JVM must be in the path.
Running [run* -help] will provide a simple command line help.
</p>
<p>
Most UNIX systems require superuser privileges to open sockets below 1024,
which includes the IANA-standard SMTP (on port 25) and POP3 (on port 110).
These default ports can be changed in the conf.xml file. (Obviously, you
would then need to reconfigure your clients. This may not be an option if
you want to receive mail from external mailservers.)
</p>
<p>
The Avalon framework will unpack the neccessay configuration files and wait
for you to configure them. For basic use, you only need to set two items
in the JAMES.conf.xml file: a root password for the remote administration
facility and the IP address of a DNS server. Once you have edited the
configuration files, press 'Enter' on the terminal where Avalon is waiting.
</p>
</section>
<section name="Step 4: Kickstart.">
<p>
Once started you'll see a message saying Avalon is running. This means that
Avalon has loaded JAMES and every other needed Block (see /logs/avalon.log)
and is now waiting for a socket request.
Since at the beginning James is empty, it will not have any local users
registered.
To register a local user open a telnet session with localhost on port 4555,
log in as root ("root[enter] <password-you-set-in-conf.xml>[enter]") and
type "help" for a list of available commands in the "JAMES remote
administrator tool". It is really a basic set but should allow you to test
installation.
</p>
<p>
Once you have some local users registered, try sending mail to one of them
@localhost with SMTP (port 25) (assuming you have not changed the default
server names in the conf.xml file). You'll see the mail appear under
../var/mail/localinbox/[user].
Try now to retrieve that mail using POP3 (port 110).
Trace out JAMES actions in /logs/*info.log.
Action that will be taken by JAMES on incoming mail are configurated in
the mailet pipe line (/conf/james.conf.xml). Look at it if you want to
understand what's happening.
</p>
<p>
Good luck :)
</p>
</section>
</body>
</document>
1.1 jakarta-james/src/xdocs/license.xml
Index: license.xml
===================================================================
<?xml version="1.0"?>
<document>
<properties>
<title>Apache Software License</title>
<author email="[EMAIL PROTECTED]">Serge Knystautas</author>
</properties>
<body>
<section name="Apache Software License">
<p>
James is released under the Apache Software License
listed below:
</p>
<source><![CDATA[
The Apache Software License, Version 1.1
Copyright (c) 2001 The Apache Software Foundation. All rights
reserved.
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 [EMAIL PROTECTED]
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>
</body>
</document>
1.1 jakarta-james/src/xdocs/todo.xml
Index: todo.xml
===================================================================
<?xml version="1.0"?>
<document>
<properties>
<title>TODO</title>
<author email="[EMAIL PROTECTED]">Serge Knystautas</author>
<author email="[EMAIL PROTECTED]">Charles Benett</author>
</properties>
<body>
<section name="TODO">
<p>This is a living document that will give new and existing volunteers some areas
where we need help. As always, any help is appreciated, be it documentation, code,
suggestions, or feedback.
Last Updated 26 April 2001.</p>
</section>
<section name="High Priority">
<p>Port existing documentation to xdocs format</p>
<p>Bundle docs in dist</p>
<p>Allow RemoteManager to change passwords of users (change attribute) </p>
<p>Revive RDBMS support for messages and users. Possibly move from town to straight
jdbc, or jakarta-turbine.</p>
<p>Enable multiple domains</p>
</section>
<section name="Medium Priority">
<p>Let RemoteDelivery send all messages to a single remote server (acting like a
gateway or a relay host) </p>
<p>Improve exception management in RemoteDelivery mailet and general notices of why
delivery failures occur.</p>
<p>Add support for regex inside most matchers and thereby consolidate a few of
them.</p>
<p>Write more documentation. </p>
<p>Make James stoppable (elegantly)</p>
<p>Get IMAP server to alpha standard, ie basic interoperation with e-mail
clients.</p>
<p>Add #news namespace to IMAP system</p>
<p>Revisit UserRepository - after doing IMAP List & Subscribe</p>
<p>Make James reconfigurable/contextualizable/composable.</p>
<p>Reinject error/spam mails incorrecty handled.</p>
<p>Add needed functions to RemoteManager, Including Stop and ReConfigure, Reinject
mail, Store RemoteManger password securely.</p>
<p>Add support for better mailet router/processing (maybe like RequestDispatcher) -
Use Stage/Pipline pattern</p>
<p>Add support for deployable message processing apps using Camelot pattern</p>
<p>Give admins option to enforce one access at a time to a POP3 mailbox.</p>
<p>Simplify email aliasing</p>
</section>
<section name="Low Priority">
<p>Tie in the NNTP Repository with POP/SMTP/IMAP repository structure.</p>
<p>Add support for DRAC login/relay allowing</p>
<p>Review threadpooling - is it dynamic?</p>
</section>
</body>
</document>
1.1 jakarta-james/src/xdocs/images/james-logo.jpg
<<Binary file>>
1.1 jakarta-james/src/xdocs/stylesheets/project.xml
Index: project.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="JAMES"
href="http://jakarta.apache.org/james/">
<title>The Jakarta Site</title>
<logo href="/images/james-logo.jpg">JAMES - Java Apache Mail Enterprise
Server</logo>
<body>
<menu name="About">
<item name="Overview" href="/index.html"/>
<item name="Install" href="/install.html"/>
<item name="Mailets Concept" href="/mailets.html"/>
<!-- <item name="Architecture" href="/architecture.html"/> -->
<item name="Coding Standards" href="/code-standards.html"/>
<item name="License" href="/license.html"/>
<item name="TODO" href="/todo.html"/>
</menu>
<menu name="Guides">
<item name="Mailet API" href="/javadoc/mailet/index.html"/>
<item name="Using LDAP" href="/usingLDAP.html"/>
<!-- <item name="Bundled Mailets" href="/mailet_list.html"/>
<item name="Bundled Matchers" href="/matcher_list.html"/> -->
</menu>
</body>
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]