On Mon, Oct 20, 2008 at 5:46 PM, Boris Burtin <[EMAIL PROTECTED]> wrote: > Yeah, "we" == Zimbra. :-) We've been using jSieve on the back end for about > 3-4 years now. When a user creates mail filters, the web client code sends a > SOAP request to the server. The server processes the request, generates the > appropriate Sieve script, and saves it in the user's account settings. When > a message comes in, jSieve generates the filter actions that will be > performed on the incoming message. > > When the user wants to modify his filters, we walk the jSieve parse tree to > generate the SOAP response. So we have SOAP->Sieve script code and jSieve > tree->SOAP code. The only thing we don't have is jSieve tree->Sieve script, > but I was able to use the other two to do a swift hack.
cool just FYI there's currently a standardisation effort underway for xml representation of sieve scripts http://tools.ietf.org/id/draft-freed-sieve-in-xml-01.txt 1 maybe you'd be in a position to provide useful feedback 2 a suitable visitor might be useful for standard or custom transformation to xml > The only remaining case is the one I'm dealing with now. If a user moves or > renames a folder, I want to update all the scripts that reference that > folder. So I parse the script, walk the tree, and modify the nodes in-place. > After I modify the nodes, I want to save the updated script in the user's > account settings. This requires serializing the parse tree into a String. > > I've attached a copy of the SOAP API planned for ZCS 6.0, for anyone that's > interested. ATM AIUI there is a significant standards effort for sieve including management protocols. i'm a critic of the management approach taken (yet another 7BIT ASCII line based email protocol with all the problems associated. many big *nix vendors favour this approach but i think that there's room for more modern approaches such as SOAP or a RESTful HTTP. i'd be interesting in helping out if you're interested in working towards standardisation. - robert --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
