Gnus development mailing list
 help / color / mirror / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: ding@gnus.org
Subject: Re: [PATCH] Add `nnregistry', for use in `gnus-refer-article-method'
Date: Sat, 02 Oct 2010 00:33:29 +0200	[thread overview]
Message-ID: <87ocbd5yrq.fsf@gnu.org> (raw)
In-Reply-To: <87hbh5yiof.fsf@lifelogs.com>


[-- Attachment #1.1: Type: text/plain, Size: 1379 bytes --]

Hi,

Ted Zlatanov <tzz@lifelogs.com> writes:

> On Fri, 01 Oct 2010 18:27:25 +0200 ludo@gnu.org (Ludovic Courtès) wrote: 
>
> LC> Hi!
> LC> Ted Zlatanov <tzz@lifelogs.com> writes:
>
> LMI> And nnregistry should be documented in gnus.texi.
>>> 
> TZ> Ludovic?
>
> LC> Yes, sure.
>
> Can you write some documentation for the manual?

Yes, really.  :-)

See the attached patch.  What do you think?

>>> Probably it should be in the gnus-registry section of the manual (with a
>>> minimal link elsewhere), explaining that it has to be loaded *after*
>>> gnus-registry.el but *before* gnus-registry-initialize is called.
>
> LC> Hmm, why before ‘gnus-registry-initialize’ is called?
>
> Because `gnus-refer-article-method' should not contain 'nnregistry
> automatically.  So ‘gnus-registry-initialize’ needs to check for the
> 'nnregistry feature.  I had that check in
> `gnus-registry-install-nnregistry' but moved it one level higher so
> users can call it directly if they want.  See the revised docs I just pushed.

Hmm, I’m not convinced by ‘gnus-registry-install-nnregistry’ because:

  1. it does things under the hood;

  2. it /appends/ ‘nnregistry’ to ‘gnus-refer-article-method’, whereas
     it’s likely to perform better if it appears right after ‘current’.

What do you think?

Thanks,
Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: the patch --]
[-- Type: text/x-patch, Size: 3620 bytes --]

From 24dd8d7c7cb01c317861c4053cbfa83ba37d6a4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Sat, 2 Oct 2010 00:29:48 +0200
Subject: [PATCH] Document `nnregistry'.

* texi/gnus.texi (Finding the Parent): Add xref to `Registry Article
  Refer Method'.
  (The Gnus Registry): Mention the refer method.
  (Registry Article Refer Method): New node.
---
 texi/gnus.texi |   51 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 49 insertions(+), 2 deletions(-)

diff --git a/texi/gnus.texi b/texi/gnus.texi
index 2858990..cb1648f 100644
--- a/texi/gnus.texi
+++ b/texi/gnus.texi
@@ -10989,9 +10989,12 @@ do not do a particularly excellent job at it.  That is, @code{nnmbox},
 @code{nnbabyl}, @code{nnmaildir}, @code{nnml}, are able to locate
 articles from any groups, while @code{nnfolder}, and @code{nnimap} are
 only able to locate articles that have been posted to the current
-group.  (Anything else would be too time consuming.)  @code{nnmh} does
-not support this at all.
+group.  @code{nnmh} does not support this at all.
 
+Fortunately, the special @code{nnregistry} back end is able to locate
+articles in any groups, regardless of their back end (@pxref{Registry
+Article Refer Method, fetching by @code{Message-ID} using the
+registry}).
 
 @node Alternative Approaches
 @section Alternative Approaches
@@ -25427,6 +25430,13 @@ the sender in addition to the Message-ID.  Several strategies are
 available.
 
 @item
+Refer to messages by ID
+
+Commands like @code{gnus-summary-refer-parent-article} can take
+advantage of the registry to jump to the referred article, regardless
+of the group the message is in.
+
+@item
 Store custom flags and keywords
 
 The registry can store custom flags and keywords for a message.  For
@@ -25445,6 +25455,7 @@ of all messages matching a particular set of criteria.
 @menu
 * Setup::
 * Fancy splitting to parent::
+* Registry Article Refer Method::
 * Store custom flags and keywords::
 * Store arbitrary data::
 @end menu
@@ -25521,6 +25532,42 @@ registry will keep.
 The file where the registry will be stored between Gnus sessions.
 @end defvar
 
+@node Registry Article Refer Method
+@subsection Fetching by @code{Message-ID} Using the Registry
+
+The registry knows how to map each @code{Message-ID} to the group it's
+in.  This can be leveraged to enhance the ``article refer method'',
+the thing that tells Gnus how to look up an article given its
+Message-ID (@pxref{Finding the Parent}).
+
+@vindex nnregistry
+@vindex gnus-refer-article-method
+
+The @code{nnregistry} refer method does exactly that.  It has the
+advantage that an article may be found regardless of the group it's
+in---provided its @code{Message-ID} is known to the registry.  It can
+be enabled by augmenting the start-up file with something along these
+lines:
+
+@example
+;; Keep enough entries to have a good hit rate when referring to an
+;; article using the registry.  Use long group names so that Gnus
+;; knows where the article is.
+(setq gnus-registry-max-entries 2500
+      gnus-registry-use-long-group-names t)
+
+(gnus-registry-initialize)
+
+(setq gnus-refer-article-method
+      '(current
+	(nnregistry)
+	(nnweb "gmane" (nnweb-type gmane))))
+@end example
+
+The example above instructs Gnus to first look up the article in the
+current group, or, alternatively, using the registry, and finally, if
+all else fails, using Gmane.
+
 @node Fancy splitting to parent
 @subsection Fancy splitting to parent
 
-- 
1.7.0


[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

  reply	other threads:[~2010-10-01 22:33 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-31 15:09 Using the registry for `gnus-refer-article-method' Ludovic Courtès
2009-07-31 17:44 ` Ted Zlatanov
2009-07-31 22:26   ` Ludovic Courtès
2009-08-17 15:16 ` [PATCH] Add `nnregistry', for use in `gnus-refer-article-method' Ludovic Courtès
2009-08-20 21:52   ` Ted Zlatanov
2009-08-20 23:53     ` Ludovic Courtès
2009-08-21 19:00       ` Ted Zlatanov
2009-08-21  6:47     ` Reiner Steib
2010-07-10 15:07   ` Ludovic Courtès
2010-09-27 16:28     ` Lars Magne Ingebrigtsen
2010-09-27 18:28       ` Ted Zlatanov
2010-09-27 21:01       ` Ludovic Courtès
2010-09-27 21:34         ` Ted Zlatanov
2010-09-29 14:41         ` Lars Magne Ingebrigtsen
2010-09-30 14:28           ` Ludovic Courtès
2010-09-30 15:14             ` Ted Zlatanov
2010-09-30 16:19               ` Lars Magne Ingebrigtsen
2010-09-30 22:14                 ` Ted Zlatanov
2010-09-30 22:39                   ` Ted Zlatanov
2010-10-01 16:27                     ` Ludovic Courtès
2010-10-01 16:36                       ` Ted Zlatanov
2010-10-01 22:33                         ` Ludovic Courtès [this message]
2010-10-04 16:42                           ` Ted Zlatanov
2010-10-05 10:05                             ` Ludovic Courtès
2010-10-05 13:14                               ` Ted Zlatanov
2010-10-05 14:36                                 ` Ludovic Courtès
2010-10-08 15:50                           ` Ted Zlatanov
2010-10-11 20:20                             ` Ludovic Courtès
2010-09-27 18:31     ` Ted Zlatanov
2010-09-27 18:44       ` Lars Magne Ingebrigtsen
2010-09-27 20:57       ` Ludovic Courtès
2010-09-27 21:04         ` 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=87ocbd5yrq.fsf@gnu.org \
    --to=ludo@gnu.org \
    --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).