Author: rdonkin
Date: Sat Mar 24 12:12:16 2007
New Revision: 522096

URL: http://svn.apache.org/viewvc?view=rev&rev=522096
Log:
Added more detail to the jSieve documentation. Hopefully people will jump in 
and correct any mistakes.

Modified:
    james/jsieve/trunk/pom.xml
    james/jsieve/trunk/src/site/xdoc/index.xml

Modified: james/jsieve/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/james/jsieve/trunk/pom.xml?view=diff&rev=522096&r1=522095&r2=522096
==============================================================================
--- james/jsieve/trunk/pom.xml (original)
+++ james/jsieve/trunk/pom.xml Sat Mar 24 12:12:16 2007
@@ -47,7 +47,7 @@
   <distributionManagement>
     <site>
       <id>jsieve-website</id>
-      <url>scp://minotaur.apache.org/www/james.apache.org/jsieve/</url>
+      <url>scp://people.apache.org/www/james.apache.org/jsieve/</url>
     </site>
   </distributionManagement>
 
@@ -245,5 +245,22 @@
       </plugin>
     </plugins>
   </reporting>
+  
+    <mailingLists>
+      <mailingList>
+           <name>Apache James User</name>
+           <subscribe>[EMAIL PROTECTED]</subscribe>
+           <unsubscribe>[EMAIL PROTECTED]</unsubscribe>
+           <post>server-user@james.apache.org</post>
+           
<archive>http://mail-archives.apache.org/mod_mbox/james-server-user/</archive>
+      </mailingList>
+      <mailingList>
+       <name>Apache James Developer</name>
+       <subscribe>[EMAIL PROTECTED]</subscribe>
+       <unsubscribe>[EMAIL PROTECTED]</unsubscribe>
+       <post>server-dev@james.apache.org</post>
+       
<archive>http://mail-archives.apache.org/mod_mbox/james-server-dev/</archive>
+      </mailingList>
+  </mailingLists>
 
 </project>

Modified: james/jsieve/trunk/src/site/xdoc/index.xml
URL: 
http://svn.apache.org/viewvc/james/jsieve/trunk/src/site/xdoc/index.xml?view=diff&rev=522096&r1=522095&r2=522096
==============================================================================
--- james/jsieve/trunk/src/site/xdoc/index.xml (original)
+++ james/jsieve/trunk/src/site/xdoc/index.xml Sat Mar 24 12:12:16 2007
@@ -9,27 +9,184 @@
 
 <body>
 <section name="What is jSieve?">
-<p>jSieve is a Java implementation of the Sieve mail filtering language 
defined by 
-RFC 3028. jSieve is implemented as a langauge processor that can be plugged 
into any
-internet mail application to add Sieve support.</p>
+<p>
+jSieve is a Java implementation of the Sieve mail filtering language defined 
by 
+<a href='http://www.rfc-editor.org/rfc/rfc3028.txt'>RFC 3028</a>. jSieve is 
implemented 
+as a language processor that can be plugged into any internet mail application 
to add 
+Sieve support.
+</p>
+<p>
+jSieve is a subproject of <a href='http://james.apache.org'>Apache JAMES</a>.
+All who are interested in developing jSieve and JAMES will be warmly
+welcomed on the <a href='mail-lists.html'>mailing lists</a>.
+</p>
+<subsection name='What is Sieve?'>
+<p>
+Sieve is an extensible mail filtering language. It's limited expressiveness 
(no loops
+or variables, no tests with side effects) allows user created scripts to be 
run 
+safely on email servers. Sieve is targeted at the final delivery phase 
+(where an incoming email is transfered to a user's mailbox).
+</p>
+<p>
+Sieve scripts are composed of commands. Control commands manage the execution 
of the script.
+Test commands define side-effect free criteria. 
+Action commands are mail operations to be performed.
+</p>
+
+</subsection>
+<subsection name='Sieve Features Supported By jSieve'>
+<p>
+jSieve is limited only by the platform on which it runs.
+</p>
+<table>
+<tr><th>Limits</th><th/></tr>
+<tr><td>Maximum Number Of Actions</td><td>No intrinsic limit</td></tr>
+<tr><td>Maximum Number Of Nested Blocks</td><td>No intrinsic limit</td></tr>
+<tr><td>Maximum Number Of Nested Test Lists</td><td>No intrinsic 
limit</td></tr>
+</table>
+<p>
+jSieve supports the standard control commands specified in RFC 3028.
+</p>
+<table>
+<tr>
+<th>Control Command</th><th>Specification</th><th>Supported</th>
+</tr>
+<tr>
+<td>If</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr>
+<td>Require</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+<tr>
+<td>Stop</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr>
+</table>
+<p>
+jSieve supports all action commands (both required and optional) 
+specified in RFC 3028. 
+</p><p>
+<strong>Note</strong> that jSieve uses a pluggable 
+<code>MailAdapter</code> as an interface to the mail server.
+Not all implementations may fully support all actions.
+</p>  
+<table>
+<tr>
+<th>Action Command</th><th>Specification</th><th>Supported</th>
+</tr><tr>
+<td>reject</td><td>RFC 3028 (OPTIONAL)</td><td>yes</td>
+</tr><tr>
+<td>fileinto</td><td>RFC 3028 (OPTIONAL)</td><td>yes</td>
+</tr><tr>
+<td>redirect</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr><tr>
+<td>keep</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr><tr>
+<td>discard</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr>
+</table>
+<p>
+jSieve supports all tests commands specified in RFC 3028.
+</p>
+<table>
+<tr>
+<th>Test Command</th><th>Specification</th><th>Supported</th>
+</tr><tr>
+<td>address</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr><tr>
+<td>allof</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr><tr>
+<td>anyof</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr><tr>
+<td>envelope</td><td>RFC 3028 (OPTIONAL)</td><td>yes</td>
+</tr><tr>
+<td>exists</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr><tr>
+<td>false</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr><tr>
+<td>header</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr><tr>
+<td>not</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr><tr>
+<td>size</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr><tr>
+<td>true</td><td>RFC 3028 (REQUIRED)</td><td>yes</td>
+</tr>
+</table>
+</subsection>
+<subsection name='jSieve Extension Commands'>
+<p>
+jSieve allows extension commands to be developed
+and plugged in at run time.
+The following extension commands ship with jSieve:
+</p>
+<table>
+<tr><th>Name</th><th>Function</th></tr>
+<tr><td>Log</td><td>Logs messages</td></tr>
+</table>
+</subsection>
 </section>
 
 <section name="Getting Started">
 <p>Until these pages are fleshed out, the best way to understand jSieve is 
read the 
-Javadocs and look at the source code. 
-<ul>
-<li>To understand how to invoke jSieve, see 
-<code>org.apache.jsieve.SieveFactory</code>.</li>
-<li>To understand how to implement a MailAdapter for jSieve, see
-<code>org.apache.jsieve.mail.MailAdapter</code>.</li>
-<li>To understand how to add a custom extension to jSieve, see
-<code>org.apache.jsieve.commands.extensions.Log</code>.</li>
-<li>The jUnit tests in <code>org.apache.jsieve.junit</code> illustrate many 
aspects
-of the implementation.</li>
-<li>To build jSieve, run build.sh or build.bat as appropriate for your 
environment.
-</li>
-</ul>
+<a href='apidocs/index.html'>Javadocs</a> 
+and look at the <a href='xref/index.html'>source code</a>. 
+The jUnit tests illustrate many aspects
+of the implementation.
+</p>
+<subsection name='Using jSieve'>
+<subsection name='Standalone'>
+<p>
+<a href='xref/org/apache/jsieve/SieveFactory.html'>
+<code>org.apache.jsieve.SieveFactory</code></a> is the primary invocation
+point for all Sieve operations. The API is clean and simple.
+See the 
+<a href='apidocs/index.html'>javadocs</a> for more details.
+</p>
+</subsection>
+<subsection name='In JAMES'>
+<p>
+The <code>SieveToMultiMailbox</code> mailet is included in JAMES.
+It is integrated with the message delivery spool and provides per-user 
+Sieve scripting using jSieve. 
+</p>
+</subsection>
+</subsection>
+<subsection name='Implementing A Mail Adapter'>
+<p>
+<a href='xref/org/apache/jsieve/mail/MailAdapter.html'>
+<code>org.apache.jsieve.mail.MailAdapter</code></a> is the interface API used
+by jSieve to interact with a mail server. 
+</p><p>
+The mail adapter wraps an email
+and supplies information (required by the script) about the email. It is 
+responsible for accumulating <code>Action</code>s during the parsing of a
+script and for executing them once the parsing is complete.
+</p><p>
+See the 
+<a href='apidocs/index.html'>javadocs</a> for more details and this
+<a 
href='xref/org/apache/jsieve/samples/james/SieveMailAdapter.html'>sample</a>.
+</p>
+</subsection>
+<subsection name='Creating A Custom Extension Command'>
+<p>
+<a href='xref/org/apache/jsieve/commands/extensions/Log.html'>
+<code>org.apache.jsieve.commands.extensions.Log</code></a> is an example
+of a custom extension command. It is recommended that custom commands
+extend <a href='xref/org/apache/jsieve/commands/AbstractCommand.html'>
+<code>AbstractCommand</code></a>. See the 
+<a href='apidocs/index.html'>javadocs</a> for more details.
+</p><p>
+Custom commands need to be registered with 
+<a href='xref/org/apache/jsieve/ConfigurationManager.html'>
+<code>ConfigurationManager</code></a> before they can be used. This
+may be done programmatically but the recommended method is by altering
+the <code>sieveConfig.xml</code> configuration file. 
+</p>
+</subsection>
+<subsection name='Building jSieve'>
+<p>
+jSieve uses <a href='http://ant.apache.org'>Ant</a>. <code>ant 
-projecthelp</code>
+describes appropriate targets. <code>ant</code> runs the default target.
 </p>
+</subsection>
 </section>
 
 <section name="Comments, Questions and Issues">



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to