dovecot-1.2-sieve: Revised features section of README file.

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Wed Jan 13 21:17:29 EET 2010


details:   http://hg.rename-it.nl/dovecot-1.2-sieve/rev/e46147aa364a
changeset: 1205:e46147aa364a
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Wed Jan 13 20:17:22 2010 +0100
description:
Revised features section of README file.

diffstat:

 README |  81 +++++++++++++++++++---------------------
 1 files changed, 39 insertions(+), 42 deletions(-)

diffs (97 lines):

diff -r 7becf4ce553c -r e46147aa364a README
--- a/README	Wed Jan 13 09:16:04 2010 +0100
+++ b/README	Wed Jan 13 20:17:22 2010 +0100
@@ -28,54 +28,51 @@
 Features
 --------
 
-* Well-structured 3-stage compiler:
- 
-  Uses dovecot framework and avoids using lex/yacc. Compiler doesn't bail on 
-  first error, but tries to find more. Produced errors are aimed to be useful 
-  and generally user-comprehensible. Things like 'Generic error' are a nuisance 
-  of the past. 
+  * The Pigeonhole Sieve implementation aims to be admin- and user-friendly. 
+    Much like Dovecot itself, common error messages are made as easily 
+    understandable as possible. Any crash, no matter how it happened, is 
+    considered a bug that will be fixed. The compiler does not bail on the first
+    error, but it looks for more script errors to make debugging more efficient.
 
-* Highly extendable with new Sieve capabilities: 
+  * The Pigeonhole Sieve implementation is, much like the Sieve language itself,
+    highly extensible with new Sieve capabilities. This includes support for
+    third-party plugins. It should eventually provide the necessary 
+    infrastructure for at least all currently known relevant (proposed) Sieve
+    extensions. The goal is to keep the extension interface provided by the
+    Sieve implementation as generic as possible, i.e. without explicit support
+    for specific extensions. New similar extensions can then use the same
+    interface methods without changes to the Sieve engine code. If an extension
+    is not loaded using the require command, the compiler truly does not know of
+    its existence.
 
-  This keeps the possibility of plugins in mind. It should eventually provide 
-  the necessary infrastructure for at least all currently known (proposed) 
-  extensions. The goal is to keep the extension interface provided by sieve 
-  engine as generic as possible, i.e. without explicit support for specific 
-  extensions. New similar extensions can then use the same interface methods 
-  without changes to the sieve engine code. If an extension is not loaded using 
-  the require command, the compiler truly does not know of its existance. 
+  * The Pigeonhole Sieve plugin is backwards compatible with the old CMUSieve
+    plugin, which provided Sieve support for older versions of Dovecot. All
+    Sieve extensions supported by the old plugin are also supported by the 
+    Pigeonhole Sieve plugin, including those that are now considered to be 
+    deprecated.
 
-* Supports all extensions provided by the original CMUSieve plugin:
- 
-  In addition, it has support for the new and very useful variables extension
-  (see next section). 
+  * The Pigeonhole Sieve implementation supports executing multiple Sieve
+    scripts sequentially. Using this feature it is possible to execute
+    administrator-controlled Sieve scripts before and after the user's personal
+    Sieve script, guaranteeing that responses and message deliveries are never
+    duplicated. This implementation is based on a draft specification 
+    (http://tools.ietf.org/html/draft-degener-sieve-multiscript-00), which 
+    defines the Sieve behavior when multiple scripts are executed sequentially
+    on the same message.
 
-  NOTE: The original CMUSieve plugin is based on old specifications of the 
-  imap4flags and enotify extension. Among other subtle differences, these 
-  extensions were known as 'imapflags' and 'notify' for the CMU Sieve plugin.
-  Support for the old imapflags extension is provided for backwards compatibility.
+  * The Pigeonhole Sieve implementation includes a test suite to automatically
+    assess whether the compiled Sieve engine works correctly. The test suite is
+    an extension to the Sieve language and is therefore easily extended with new
+    tests. Currently, the test suite is mostly limited to testing script
+    processing. The performed actions are not tested fully yet.
 
-* Supports executing multiple scrips sequentially.
-  
-  Using this feature it is possible to execute administrator-controlled Sieve
-  scripts before and after the user's Sieve script is executed. As long as the
-  verdict is at least (implicit) keep, the execution will continue with the next
-  script. Multiple scripts can be executed before or after the user's script by 
-  specifying directories containing sieve files.
+  * The Pigeonhole Sieve implementation supports the new and very useful
+    variables extension, which allows maintaining state information throughout
+    a Sieve script across subsequent rules.
 
-* Supported by ManageSieve service:
-
-  This Sieve implementation is supported by the ManageSieve implementation for 
-  Dovecot v1.2. Therefore, ManageSieve support can be added to Dovecot for the
-  new Sieve plugin just as for the cmusieve plugin.
-
-* Test suite included:
-	
-  This package includes a test suite to automatically asses whether the compiled 
-  sieve engine works correctly. The test suite is an extension to the Sieve 
-  language and is therefore easily extended with new tests. Currently, the 
-  test suite is mostly limited to testing script processing. The performed actions 
-  are not tested fully yet. 
+  * The Pigeonhole Sieve plugin is distributed with a sieve-test tool that 
+    simplifies testing Sieve scripts and provides additional debugging 
+    facilities. 
 
 Implementation Status
 ---------------------


More information about the dovecot-cvs mailing list