[#6375] Ability to create raw sieve rules
Summary Ability to create raw sieve rules
Queue Ingo
Queue Version HEAD
Type Enhancement
State Accepted
Priority 2. Medium
Owners
Requester gentz@equinux.de
Created 2008-03-05 (4546 days ago)
Due
Updated 2010-04-29 (3761 days ago)
Assigned
Resolved
Milestone
Patch No

Comments
gentz@equinux.de 2008-03-05 10:54:05
It would be great to have the option of creating a ingo rule that just 
accepts raw sieve syntax.

Otherwise, there is no possibility to switch current manual sieve 
rules to Ingo.



Furthermore it would allow complex rules that include both AND and OR 
conditions.

Jan Schneider <jan@horde.org> 2008-03-06 00:45:50
The goal of Ingo is user-friendly filter frontend that abstracts from 
the filter scripting language. Users that can can write raw Sieve 
rules can upload them on the server too.

Chuck Hagenbuch <chuck@horde.org> 2008-03-06 03:50:36
I could see some arguments for scripting defaults for people, or for 
allowing advanced users to access a sieve server that is otherwise 
locked down (and only accessible via ingo).

gentz@equinux.de 2008-03-11 19:23:51
Currently, we're using raw sieve scripts that we can't convert to Ingo 
because some rules have AND and OR conditions mixed. However we'd love 
to migrate smoothly to Ingo using the old rules as a raw script.

Matt Selsky <selsky@columbia.edu> 2008-03-11 20:14:03
> Currently, we're using raw sieve scripts that we can't convert to

> Ingo because some rules have AND and OR conditions mixed. However

> we'd love to migrate smoothly to Ingo using the old rules as a raw

> script.



Adding AND/OR conditions sounds like a desirable enhancement and maybe 
not too hard since we already have AND and OR rule types.  What sort 
of rules do you have like with AND/OR?

gentz@equinux.de 2008-03-20 10:17:49
We have simple AND+OR rules like



if allof ( header :contains "Delivered-To" ["a@b.com","b@c.com"], 
anyof(header :contains ["Subject"] "abc", header :contains ["From"] 
"x@y.z")) {...}



or rules with sub-rules like



if header :contains ["to","cc","resent-to"] "c@d.com" {

         if header :contains ["subject"] "abc" {

                 fileinto "...";

                 stop;

         }

         if header :contains ["subject"] ["def","ghi"] {

                 fileinto "...";

                 stop;

         }

        if ...

}

software-horde@interfasys.co.uk 2010-04-29 16:57:51
There are situations where a user would like to add custom rules that 
Ingo doesn't support (external rule inclusion, labels, colors, etc.,), 
but if he does it externally, then Ingo will erase everything the next 
time the user edits some rules using it.

So, it would be great if Ingo could:
1) leave custom changes alone.
2) allow script editing directly from the interface