From mboxrd@z Thu Jan 1 00:00:00 1970 From: wmorgan-sup@masanjin.net (William Morgan) Date: Wed, 29 Jul 2009 06:46:19 -0700 Subject: [sup-talk] Handling big mailing lists In-Reply-To: References: Message-ID: <1248874122-sup-3830@masanjin.net> Hi, Excellent set of questions. Handling large volumes of mail is one of my main goals with Sup. Reformatted excerpts from iny+dev's message of 2009-07-28: > I tried to test Sup, but I wasn't able to get any emails because Sup > failed to login to my IMAP server. This happened because the server > requires client certificates and it looks like Sup doesn't support > those. As far as IMAP goes, Sup supports whatever authentication the Ruby IMAP libraries supports, which is probably not much. Any serious use of Sup with IMAP is best done via an intermediate like offlineimap, which syncs an IMAP folder to a local Maildir folder. The Ruby IMAP libraries, and possibly IMAP itself, is a little too slow for how Sup likes to work. > How would my daily reading routine work with Sup? I want to read > things in priority order: > > 1. Personal email > 2. Emails related to my programming hobby > 3. Emails related to some associations like user groups > 4. Mailing lists, also in priority order Sup gives you two tools: search and labels. Sup will present a list of threads that match any search query. So, each of those steps is possible, to the extent that you can compose a search query that reflects it. You can automatically add labels via arbitrary code, so you have a fair amount of flexibility here. > The order is such that if I need to stop reading, I have read the most > important ones already. The order is not static, I want to be able to > change it. I have understood that labels are way to get this kind of > grouping. Can I get a view where the labels are sorted like this? Sup currently only orders chronologically. It would not be difficult to add a second level of user-defined sorting *on top* of the chronological one, but it would be difficult, if not impossible, to order all email in the index by an arbitrary function. (To be pedantic, if you can come up with a single number for each email, which never changes, and which is known at add time, you can order by that, with some work. But it doesn't sound like that's what you want.) > And can I continue reading the next label in that order after I have > finished the one before? Certainly, but not automatically. You can view one label, and then pick another label to view, etc. I suppose if the above second-round of ordering were implemented, you could view both labels at once and make an ordering function that placed one above the other. > Then about the expiration. The linux-kernel mailing list gets so much > email that some kind of expiration is a must. You don't want to just buy a bigger hard drive? > Can Sup do such automatic deleting of old emails? Can Sup handle some > other process doing such automatic deletion? (I would actually prefer > some other process do it.) That's best left to another process. You'll then have to tell Sup which messages were deleted so that it can remove them from the index. Let me know when you're at this point and I can help you---it will require a brief Ruby script. > I would actually recommend reading linux-kernel to test Sup. :) I read ruby-talk, which is probably not too far off. One last comment: large threads are irritatingly slow to create in thread-view-mode with the Ferret index, but there's a new Xapian index which is fast for this. It's still slightly experimental. -- William