On Tue, 2006-12-05 at 19:07 +0000, Aaron Stone wrote:
On Tue, Dec 5, 2006, Alexey Melnikov
Aaron Stone wrote:
The only things on my mind are how to specify scripts for IMAP actions and
for MTA/MDA actions. Given the discussion on the recent thread about
multiscript, there are a lot of multiscript implementations! I would
certainly prefer to manage my multiscripts via ManageSieve.
Is this something we might want to tackle in the base document by adding
the option for arguments following script names in relevant actions?
I am not entirely sure what you recommend. Can you give an example?
I'll get back to you on this. I need to find some time to distill the
recent thread about multiscript and take another look at IMAP Sieve.
Ok, here's what I'm thinking. In IMAP-SIEVE we have this section:
2.3. New Functions Defined by IMAPSieve
2.3.1. Changes to Manage Sieve
[[Manage Sieve placeholder: This section is a placeholder right now,
for changes to the Manage Sieve protocol. We'll fill in more detail
on the next iteration of this draft.]]
Manage Sieve [Manage] is a protocol for managing Sieve scripts. We
define here an extension to that protocol to support multiple active
scripts, each serving a different function. The extension here will
allow us to tell the IMAP server which script to use for which
mailbox(es) for the conditions described in this document. No Sieve
script is invoked for an IMAP condition unless Manage Sieve has
defined a script for it, and has "turned on" filtering for a
particular mailbox or set of mailboxes.
Well, let's hack into it!
We need a few new actions:
LISTSCRIPTSEXT an extended version of LISTSCRIPTS that allows additional
atoms following the script names. The base spec only gives the ACTIVE
atom. Since it doesn't suggest that there might be other atoms, it's
entirely possible that implementations will explode if we just tossed
more atoms on the regular LISTSCRIPTS.
Atoms: ACTIVE, GLOBAL, ACT-IMAP-APPEND, ACT-IMAP-MULTIAPPEND,
ACT-IMAP-COPY, SMTP-THIS, SMTP-THAT [[since we've never had a Sieve SMTP
draft, have we?]]
Anyways, these additional atoms should correspond to the IMAP actions
that trigger a Sieve script and to the SMTP actions / delivery processes
that trigger a script in a multiscript delivery path.
SETACTIVEEXT an extended version of SETACTIVE that takes optional
arguments for the location of the script and the trigger.
SETACTIVEEXT [trigger-atom] [GLOBAL] "scriptname"
and by extension:
DELETESCRIPTEXT [GLOBAL] "scriptname"
PUTSCRIPTEXT [GLOBAL] "scriptname"
GETSCRIPTEXT [GLOBAL] "scriptname"
Ok, some rough ideas, but getting them out there.