Re: [Evolution] Sieve support

(cc:ing evolution-hackers, since this is a development issue. If you're
going to be hacking on the code, you probably want to subscribe to that

I want to know if somebody is taking a look at support for Sieve
serverside IMAP filtering scripts in Evolution and/or if it's perhaps
already supported at this moment in a development branch.

No. There is a bug filed about it (16959), which is marked as depending
on a generic server-side-filtering bug (21381), which discusses possible
UI changes to support that. We do plan to implement Exchange server-side
rules at some point (which would resolve the issues in 21381), but it's
not clear exactly when yet.

If nobody is actually taking a look at support for this scripting
language I am planning to slowly start trying to get 'something' working
in Evolution (like, for example, a simple texteditor widget inside
evolution to edit the activated Sieve script and to submit it to for
example a timsieved in cyrus.

OK. FWIW, it's unlikely we would accept that code into the evolution
mainline. If we were going to support sieve rules, we'd want it to be
(a) gui and (b) integrated with the other filter stuff. (Eg, "Create
Filter from Message").

Later I would like to build a GUI like mulberry has or integrate the
filter-gui with the current filter-gui of Evolution or .. a convertor to
convert evolution XML-filter scripts to Sieve-scripts.

The filter code is designed to be extensible (the same basic
infrastructure is used for the filter editor and the vfolder editor),
but it's not actually possible to plug things into it right now;
everything has to be compiled in together. But it would be possible to
add in a Sieve rule editor.

My hopes are to develop this using C# but I already asked Miguel about
the state of C# 'scripting' in Evolution and he told me that it is not
yet possible. Is it worth waiting for this support?

No. There's no actual plan to implement general evolution scriptability,
and hence no timeframe other than "not soon".

If at this moment nobody is doing Sieve support, are there others
interested in developing this? Should we form a group or should I
perhaps better wait for the Ximian folks to get this sieve support

As I said, we're not likely to work on sieve support any time soon. We
are likely to start working on Exchange rule support, and it would
simplify things for you if you waited for that, but I don't know for
sure that that's going to be sooner rather than later, so you might not
want to wait.

If I am going to do this, what branch of evolution should I target?


Where should I start? Where can I learn and where can I find examples of
Evolution add-ons or what is important for me to know about the code of
Evolution before I start?

There aren't many evolution add-ons, but that doesn't really matter
since you wouldn't be able to write this as an add-on anyway. Mostly
you'd need to understand the code in the filter/ directory, as well as
e-util/e-sexp.c. There is no overview or developer tutorial or anything
else like that. The only way to learn about the code right now is to
just dive in.

I'd suggest that (assuming you start before we do), you implement it as
a new FilterEditor subclass, with its own menu item in Tools, etc, and
not worry about any of the larger integration issues from bug 21381. And
then whatever we do end up deciding on there, it shouldn't be too hard
to merge in your code as well.

-- Dan

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]