Gnus development mailing list
 help / color / mirror / Atom feed
From: David Engster <deng@randomsample.de>
To: ding@gnus.org
Subject: Re: mail group by author?
Date: Fri, 17 Apr 2009 11:00:16 +0200	[thread overview]
Message-ID: <87d4bb3ba7.fsf@engster.org> (raw)
In-Reply-To: <86myajqjec.fsf@lifelogs.com> (Ted Zlatanov's message of "Tue, 14 Apr 2009 11:39:39 -0500")

Ted Zlatanov <tzz@lifelogs.com> writes:
> On Mon, 30 Mar 2009 13:57:02 +0200 David Engster <deng@randomsample.de> wrote: 
>
> DE> Stephen Berman <stephen.berman@gmx.net> writes:
>>> Is it possible to make a temporary group consisting of mails by a
>>> specific person whose mail articles may be scattered across many
>>> different groups?  I would like to do this to this to be able to see all
>>> mail by given people, regardless of which groups the individual mails
>>> are stored in.
>
> DE> Maybe the Gnus registry could be used for creating such temporary
> DE> groups, but as far as I know there's nothing implemented yet that does
> DE> what you want right away.
>
> This is really easy to implement as far as locating the message IDs and
> article groups+numbers. 

Yes, I tested that some time ago using maphash, and it was pretty
fast. My idea was to extend nnmairix to also build groups containing all
messages which have a certain label. I still plan on doing that when the
feature freeze is over.

> The hard part is to make all those articles into one group, I don't
> know how to do that.  But I can write the first part if you need it.

Making these kinds of "virtual" groups needs a back end which implements
the Gnus API functions. This is already implemented in nnir, so I think
extending nnir to also be able to query the registry shouldn't be
difficult to do.

> On Tue, 31 Mar 2009 13:35:10 +0200 David Engster <deng@randomsample.de> wrote: 
> DE> Tassilo Horn <tassilo@member.fsf.org> writes:
>>> But probably the registry could jump in here (at least if I've read the
>>> message in the original group before and omit virtual groups from
>>> registration).
>
> DE> Yes, I guess this could be scripted somehow, since the virtual
> DE> groups are in their own namespace anyway. But indeed, the registry
> DE> would have to see the original message in the original group
> DE> beforehand. I already struggled with that problem with nnmairix, and
> DE> don't yet know how to solve that efficiently, especially since I'm
> DE> splitting with procmail on the server and not with Gnus.
>
> The registry could periodically visit all groups to see new messages.
> But that's messy. It could also read a "dribble" file with the message
> IDs and groups it needs to refresh.  The gnus.registry.eld file could
> live on the server and get rsynced to the clients or opened remotely
> through Tramp.

Visiting all groups for new messages surely isn't nice, but I'd still
prefer it because it's self-contained. One could call this in the
gnus-after-getting-new-news-hook.

Using external dribble files or scripts is probably faster and more
elegant, but also more difficult to set up.

> Since the registry is pure data storage, it is not hard to serialize it
> to and from a database.  Registry queries currently assume the data
> structure is local, but that can be easily modified to query the remote.
>
> A remote DB may in fact be the best option, either something relaxed
> like CouchDB or SimpleDB, or something more constrained like a standard
> RDBMS schema.  A benefit of CouchDB or SimpleDB is that users could make
> their registry publically readable, so I'm in favor of that.  Tying
> mairix and other search backends into the same DB is also a good idea.

Well, having one general database for all search related things would
surely be a nice thing to have. But searching is just one feature; what
I really wanted to have in Gnus is something resembling "Filters" in
Opera Mail. I remember a message from Kai Großjohann years ago where he
praised Opera for this feature. It's an impressive mail reader, and
using filters instead of splitting immediately made sense to me. And
most importantly, filtering is not restricted to the mail headers. You
can filter with a full text search, including MIME parsing. For example,
Opera directly shows you groups containing all attachments you have
received, filtered according to type.

To do something like that in Gnus, you need an external indexer. Mairix
is just one possibility, but it's well suited for Gnus because it
directly creates the resulting mailbox, so you don't have to parse large
amounts of output in Emacs Lisp. Alternatively, you could surely also
use search engines like Lucene, Xapian, Sphinx, etc., but those would
need much more work to interface them with Gnus.

Regards,
David



  reply	other threads:[~2009-04-17  9:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-30  9:22 Stephen Berman
2009-03-30 11:57 ` David Engster
2009-03-30 12:49   ` Tassilo Horn
2009-03-30 13:13     ` David Engster
2009-03-30 15:25       ` Tassilo Horn
2009-03-30 15:59     ` Andreas Schwab
2009-03-31  6:42       ` Tassilo Horn
2009-03-31  9:18         ` David Engster
2009-03-31 10:36           ` Dovecot 1.2 virtual mailboxes (was: mail group by author?) Tassilo Horn
2009-03-31 11:35             ` Dovecot 1.2 virtual mailboxes David Engster
2009-03-31 12:23               ` Tassilo Horn
2009-03-31  9:52         ` mail group by author? Vegard Vesterheim
2009-03-31 10:25           ` Tassilo Horn
2009-04-14 16:39   ` Ted Zlatanov
2009-04-17  9:00     ` David Engster [this message]
2009-04-17 10:07       ` Vegard Vesterheim
2009-04-17 10:46         ` David Engster
2009-04-17 11:50           ` Vegard Vesterheim
2009-04-17 13:27             ` Syncing Gnus (was: mail group by author?) David Engster
2009-04-17 16:53       ` mail group by author? Ted Zlatanov
2009-04-17 20:15         ` Vegard Vesterheim
2009-04-17 20:42           ` Ted Zlatanov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d4bb3ba7.fsf@engster.org \
    --to=deng@randomsample.de \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).