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