Re: [Evolution-hackers] Sieve application for filtering mail [was: Re: Evolution custom email message]

2014-04-24 Thread Vanya Jauhal
Hello everyone
I apologize for my long absence from the community. I had been taken up by
semester exams and projects. I'll resume my work on the project ASAP.

And congratulations to all the GNOME GSOC interns.
Thank you
Vanya
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Sieve application for filtering mail [was: Re: Evolution custom email message]

2014-03-27 Thread Matthew Barnes
On Thu, 2014-03-27 at 09:12 -0400, Adam Tauno Williams wrote:
> FYI, in case you want to look at some working code; the Horde suite [a
> set of web applications] has a mail-filter front-end named Ingo that has
> very good SIEVE support.
> 

Thanks, that may prove quite useful.


> Wow. I have to say I have *never* seen a UI that parsed SIEVE.  Every
> interface I have seen lets you create mail filter rules and `compiles`
> them into SIEVE.  Personally I wouldn't view *reading* SIEVE to be all
> that critical;  I would just like to be able to set my rules and have
> them compiled and activated on the server.

I think we also want to allow revising existing SIEVE rules, which means
parsing a rule sufficiently to present it in an editing UI.

Otherwise there would be no allowance for typos or revisions; any change
would require deleting the old rule and forcing the user to recreate it
in the editor from scratch.

With the aid of a parser generator tool like bison, it shouldn't be that
difficult to generate an abstract syntax tree from a SIEVE rule.  I have
some experience with bison to lend.

Also, having a good language-independent abstract representation will be
key to integration, as it will have to accommodate both SIEVE rules and
Evolution's local S-Expression rules (assuming we keep that format).

Matthew Barnes


___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Sieve application for filtering mail [was: Re: Evolution custom email message]

2014-03-27 Thread Adam Tauno Williams
On Thu, 2014-03-27 at 08:11 -0400, Matthew Barnes wrote:
> Integrating Sieve filtering into Evolution is going to take an enormous
> effort, way outside the scope of a reasonable student project.  But I
> thought maybe it could be broken down into more manageable chunks.

FYI, in case you want to look at some working code; the Horde suite [a
set of web applications] has a mail-filter front-end named Ingo that has
very good SIEVE support.


> Once this phase of the project is working, the next phases will be to
> write a Sieve language parser and then build a graphical editing tool
> for Sieve scripts, which will utilize the ManageSieve client you'll be
> writing.  I don't know how long each phase will take through, so those
> may be projects for other students.

Wow. I have to say I have *never* seen a UI that parsed SIEVE.  Every
interface I have seen lets you create mail filter rules and `compiles`
them into SIEVE.  Personally I wouldn't view *reading* SIEVE to be all
that critical;  I would just like to be able to set my rules and have
them compiled and activated on the server.

If you are looking for a lexer/parser there is one implemented in C
inside Cyrus IMAP's timsieved server - it parses and compiles the SIEVE
scripts to byte-code when a user uploads/activates a script.



-- 
Adam Tauno Williams  GPG D95ED383
Systems Administrator, Python Developer, LPI / NCLA

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Sieve application for filtering mail [was: Re: Evolution custom email message]

2014-03-27 Thread Matthew Barnes
On Wed, 2014-03-26 at 21:08 +0530, Vanya Jauhal wrote:
> I wanted to know what exactly the evolution team expects the
> application to perform and what I can contribute towards it as a mail
> filter can work on many different levels and the criterion of
> classification may also differ.

Hi Vanya,

I'm the one that suggested the Sieve filtering as a student project,
based on a GSoC project proposal from a couple years ago that never came
to fruition.

Integrating Sieve filtering into Evolution is going to take an enormous
effort, way outside the scope of a reasonable student project.  But I
thought maybe it could be broken down into more manageable chunks.

I'm kind of making this up as I go, so I don't have all the details
fleshed out yet, and I'm still learning about the Sieve language myself,
but for the initial concept demonstration my thought was to create a
command-line program that can talk to a ManageSieve server.

ManageSieve is a network protocol somewhat similar to IMAP and POP3,
except instead of managing email messages it manages Sieve scripts for
filtering email messages.

The ManageSieve protocol is described in RFC 5804:

http://tools.ietf.org/html/rfc5804

The requirements for the command-line program would simply be to connect
to and authenticate with a ManageSieve server, and implement ManageSieve
commands like PUTSCRIPT, LISTSCRIPTS, GETSCRIPT, DELETESCRIPT,
RENAMESCRIPT and CHECKSCRIPT.

When dealing with the Sieve scripts themselves, the program will simply
read the script from a file or write the script to a file.  We WON'T be
parsing the Sieve language in this phase of the project (that will come
next).

I'm not yet sure if the program should use Camel (our mail library) or
not yet -- we'll have to figure that out as we go.  Camel can help with
the authentication and security parts of the protocol, but if we can get
by with just simple authentication then maybe we won't need Camel yet.

But the program MUST utilize GLib's facilities as much as possible,
including APIs like GSocketClient, GTlsConnection, and GDataInputStream,
as these classes will be used in the final integration with Evolution.

Once this phase of the project is working, the next phases will be to
write a Sieve language parser and then build a graphical editing tool
for Sieve scripts, which will utilize the ManageSieve client you'll be
writing.  I don't know how long each phase will take through, so those
may be projects for other students.

Hope this is helpful.

Matthew Barnes

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Sieve application for filtering mail [was: Re: Evolution custom email message]

2014-03-26 Thread Andre Klapper
On Wed, 2014-03-26 at 21:08 +0530, Vanya Jauhal wrote:
> I'm sorry sir. It won't happen again.

There is no need to apologize. We all learn. :)

> I wanted to know what exactly the
> evolution team expects the application to perform

https://bugzilla.gnome.org/show_bug.cgi?id=216959#c0 implies that RFC
3028 should be implemented. Somehow. :)

Have you looked at existing implementations, for example, maybe
Thunderbird (client-side) or existing mail servers? Have you looked at
Evolution/evolution-data-server's mail filtering implementation and also
its current UI? That's stuff where I'd start.

>  and what I can contribute
> towards it as a mail filter can work on many different levels and the
> criterion of classification may also differ.

Please provide examples of "different levels" and "criterion of
classification" to make sure we talk about the same things.

andre
-- 
Andre Klapper  |  ak...@gmx.net
http://blogs.gnome.org/aklapper/

___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Sieve application for filtering mail [was: Re: Evolution custom email message]

2014-03-26 Thread Vanya Jauhal
I'm sorry sir. It won't happen again.

Thank you for the resources you sent. Since it is just an idea right now,
there are no formal statements available. I wanted to know what exactly the
evolution team expects the application to perform and what I can contribute
towards it as a mail filter can work on many different levels and the
criterion of classification may also differ.
Thank you
Sincerely
Vanya



On Wed, Mar 26, 2014 at 7:29 PM, Andre Klapper  wrote:

> On Wed, 2014-03-26 at 19:14 +0530, Vanya Jauhal wrote:
> > I was told that there was a project to build a stand-alone application on
> > sieve to filter mails.
>
> Adjusting email subject. In general it is recommended to start a new
> email thread instead of replying to a random one.
>
> >  I was wondering if I could get more details about
> > that.
>
> See https://bugzilla.gnome.org/show_bug.cgi?id=216959 - which "details"
> would you like to know?
> Also see http://catb.org/~esr/faqs/smart-questions.html#explicit
>
> Cheers,
> andre
> --
> Andre Klapper  |  ak...@gmx.net
> http://blogs.gnome.org/aklapper/
>
>
___
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers