By: David Lang - davidlang proposed IMAP roadmap (affects non IMAP stuff 2004-05-26 13:22) I'm proposing this as a roadmap because I think it is a reasonable path and if we agree on the path I may be able to help implement some of these features.
Among the stated goals for the IMAP interface and popfile is support for multiple IMAP servers, support for forking the IMAP processes and support for multiple users of popfile.
Proposed steps (not necessarily in order, but I think roughly so):
Thoughts? As long as this is, I know I've left something out (I have remembered it a half a dozen times as I was typing something else, only to forget it before I finished what I was doing) not to mention things that I have never considered.
This roadmap ends up morphing popfile into a swiss-army-knife classifier.
I start off with tiny concrete steps that are valuble in of themselves, but they also build towards the possibility of implementing the later items fairly easily. Some of the later options are much more general and I don't know how necessary they really will be. Some of them are as much for overall consistancy as anything else (if you say that bucket spam should go to this place, it really should go there, no matter if the source of that spam is via POP3, IMAP, or SMTP).
At the moment, popfile is a POP3 proxy that has IMAP bolted onto the side. I haven't seen the info on how the SMTP and NNTP stuff will work so I don't know how well they are really integrated, but I think these steps will integrate the IMAP support in nicely and end up opening up a lot of new possibilities.
As the migration towards multi-user support continues, limiting the list of allowed folders for a particular user (and the associated server definitions, which do include login credentials) should allow this to co-exist without much conflict between the two projects.
By: David Lang - davidlang
RE: Proposed IMAP Roadmap (affects non IMAP stuff 2004-05-26 13:58)
I remembered one item I had forgotten.
Sometime after item 5, call it 5.5 there are several optimizations that
can be done to reduce the impact that popfile has on the server.
Today popfile IMAP does a select for each folder on each pass, this
is not quite as bad as a full login, but it's in the same ballpark (in
fact, the overhead of doing a select on a server is actually significantly
higher then the act of logging in, until you account for the fact that after
you login you then have to do a select). After you have a seperate
connection per folder, you can do the select when you login and not need
to after that.
Along the same lines, there are optimizations that could let us avoid the
need to do a search for each pass, again avoiding a lot of work on the part
of the server.
By: Manni Heumann - mannih2001
RE: proposed IMAP roadmap (affects non IMAP stuff 2004-05-26 14:07)
That's an amazing roadmap, David.
I will have to digest this before I can really comment on it,
but here are my first thoughts:
1. I hope that after the refactoring in (1) and a period of bug-fixing and
(yuck) test writing, we will have a version of IMAP that is ready to ship with
the next release of POPFile. Once this is out, there will be a lot more bug-
fixing, I guess, and I also guess that we will get some feedback that might
somehow change the roadmap (I'm not hoping for a changed roadmap, but
for the feedback, of course). So I am currently concentrating on (1) and I
hope it will be finished some day.
2. Reading your roadmap, one might get the impression that IMAP is the one
and only tool for you. I don't know whether I understood the last points on
the roadmap correctly, but why would anybody want to have POP3 or NNTP
messages delivered to an IMAP server?
3. Any idea about the time scale we are talking about?
Manni
By: David Lang - davidlang
RE: proposed IMAP roadmap (affects non IMAP stuff 2004-05-26 14:32)
First off, I'll answer #3 first. I have no time scale in mind for this,
just a list of baby steps that take us towards the goal.
(I spend so much time at work fighting people who have 'great' ideas
that work well in the short term and have to be scrapped in the long term
that I am constantly in the mindset of identifying a long term goal and
trying to make all changes in the short term support that goal.)
Along the same lines, to address #1, getting IMAP to the point where it can
ship with the next version is definitly the highest priority goal.
As for #2, I do use IMAP almost exclusively, but I am thinking that there
is an opportunity for some overall simplification of popfile that will give
it additional capabilities if we shuffle the pieces correctly (funnel
multiple things through a move_message function so that mixing protocol
types is just a matter of figuring out a sane way to configure it).
As an example of why you would want to put pop3 messages in an IMAP folder,
Jim has his main e-mail address with his primary ISP, but he gets a lot of
mail (the pesky Lang gene again :-) and can't leave it there. What he
currently does is to use popfile to classify the mail, download it to Pegasus,
which then sorts the mail based on how popfile has classified it and then
uploads the mail to IMAP folders on another server into his 44 different
folders (one per bucket).
While this process works, it is a little more involved then it should need to be.
Ideally (and if/when this roadmap is fully implemented), he could tell popfile
that it has a data source (watched folder) of type POP3 on server A and popfile
would go out, retreive the messages, classify them and stuff them into the
correct IMAP folders.
Another reason for this sort of thing would be to aggregate multiple e-mail
accounts on different servers into one set of buckets.
A reason to go POP3/IMAP source to SMTP destination would be to have popfile
have a bucket called 'critical' that you train to recognize critical messages
and forward them to your phone/pager. This is far better then giving out your
phone/pager e-mail address as popfile will filter the messages so you only get
the ones that are really critical.
Think of all the things that people use fetchmail to do, but instead of the
complicated fetchmail config language you would have the popfile classification
engine to do the decision making for you.
By: Manni Heumann - mannih2001
RE: proposed IMAP roadmap (affects non IMAP stuff 2004-05-26 14:48)
I have no idea what people are doing with fetchmail, but what you are saying
makes a lot of sense. In fact, I would welcome the possibility of merging several
of my e-mail accounts on one good, reliable IMAP server.
Manni
On 6-16, Josh suggested that an additional option for a destination bucket
would be to set flags on a message.
David Lang agrees that this would be a useful capability.
Should you find anything in the documentation that is incomplete, unclear, outdated or just plain wrong, please let us know and leave a note in the Documentation Forum.