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 --]
next prev parent 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).