From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/58220 Path: main.gmane.org!not-for-mail From: James Leifer Newsgroups: gmane.emacs.gnus.general Subject: Re: Enhanced virtual groups Date: Wed, 11 Aug 2004 16:12:58 +0200 Sender: ding-owner@lists.math.uh.edu Message-ID: References: <87brigcb54.fsf@nwalsh.com> Reply-To: James Leifer NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1092233696 18738 80.91.224.253 (11 Aug 2004 14:14:56 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 11 Aug 2004 14:14:56 +0000 (UTC) Original-X-From: ding-owner+M6761@lists.math.uh.edu Wed Aug 11 16:14:38 2004 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1ButsD-0004i8-00 for ; Wed, 11 Aug 2004 16:14:38 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu ident=lists) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 1Butqs-0008Tm-00; Wed, 11 Aug 2004 09:13:14 -0500 Original-Received: from util2.math.uh.edu ([129.7.128.23]) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1Butqk-0008Te-00 for ding@lists.math.uh.edu; Wed, 11 Aug 2004 09:13:06 -0500 Original-Received: from justine.libertine.org ([66.139.78.221] ident=postfix) by util2.math.uh.edu with esmtp (Exim 4.30) id 1Butqi-00037N-7w for ding@lists.math.uh.edu; Wed, 11 Aug 2004 09:13:04 -0500 Original-Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by justine.libertine.org (Postfix) with ESMTP id 690F93A0055 for ; Wed, 11 Aug 2004 09:13:01 -0500 (CDT) Original-Received: from muscadet.inria.fr (muscadet.inria.fr [128.93.8.12]) by nez-perce.inria.fr (8.12.10/8.12.10) with ESMTP id i7BECxmL029473 for ; Wed, 11 Aug 2004 16:12:59 +0200 Original-Received: by muscadet.inria.fr (Postfix, from userid 11404) id ED7AE7A78; Wed, 11 Aug 2004 16:12:58 +0200 (CEST) Original-To: ding@gnus.org In-Reply-To: (David Moore's message of "Fri, 16 Jul 2004 09:05:16 -0700") User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.2 (gnu/linux) X-Miltered: at nez-perce with ID 411A296B.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! Precedence: bulk Xref: main.gmane.org gmane.emacs.gnus.general:58220 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:58220 David Moore writes: > I've been thinking about just this problem recently, and am likely to > modify nnvirtual to allow these sorts of things more easily/efficiently. > The poor man's way of doing some of it now is to have a big nnvirtual > group and using limiting to narrow things down. Hi David, That's great that you're thinking of improving nnvirtual! I'd be really happy to have google gmail (or evolution) like functionality for gnus to handle my 100,000+ messages. Here are some ideas on what we would need in order to do this. The specification of the contents of a virtual group is rather simple: ( ("mygroup1" (100 101 (102 . 107))) ("mygroup2" (20506)) ) ... i.e. a list of pairs, where each pair consists of * an underlying group name; * a list of article numbers from that group. There are a couple of important properties of the constructed virtual group * mnimal retrieval The virtual group should retrieve only the articles from the underlying groups that are requested; e.g. if we have a virtual group consisting of 5 articles from my inbox of 50K articles, the retrieval should be almost instantaneous. * mark pulling The virtual group's articles should inherit the marks of the underlying groups; e.g. if the virtual group includes article 31415 from my inbox and this article was marked read in my inbox, it should be marked read in the virtual groups. * mark pushing The virtual group should push mark changes back onto the underlying groups; e.g. replying to an article in the virtual group should push the reply mark onto the article in the underlying group. This would give us some wonderful capabilities. For example, we could use indexing tools such as swish++ to rapidly assemble a list of articles (spanning several underlying groups) which could be aggregated into a virtual group. Also, we could take any article in the virtual group and "expand" it into a new virtual group to include its complete surrounding thread (provided that external indexing tools or the gnus registry could provide this data). Comments? -J