user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
From: Eric Wong <e@80x24.org>
To: Ali Alnubani <alialnu@mellanox.com>
Cc: meta@public-inbox.org
Subject: Re: [RFC] make external urls user configurable
Date: Wed, 5 Jun 2019 00:58:58 +0000	[thread overview]
Message-ID: <20190605005858.nvq3zilfdisxjbvn@whir> (raw)
In-Reply-To: <20190604224051.8442-1-alialnu@mellanox.com>

Ali Alnubani <alialnu@mellanox.com> wrote:
> We started using public-inbox for dpdk.org (http://inbox.dpdk.org/dev/),

Cool!  I'm actually subscribed to some DPDK lists from a
previous life and haven't checked those inboxes in a while :x

> and most of our mailing lists aren't archived by these external
> websites.

But I figure there'll be some amount of cross-posting and
references across projects.  I'm planning to expand the
Linkify component to be able to URL-ify <$MESSAGE_ID>-looking
things (some newsreaders already do that).

And I really want to encourage more cross-communication
between projects via email :)

Case in point: you could discuss this configuration/patch
with DPDK colleagues and link to the inbox to this project;
or something Linux-related with LKML; or FreeBSD-specific
stuff with FreeBSD folks.

Eventually, it would be nice to have some sort of decentralized
Message-ID lookup service which works across many archives w/o a
central point of failure or carrying around a giant list of
inboxes.

> This still needs further improvements.

Yup :>

>  lib/PublicInbox/ExtMsg.pm | 18 +++---------------
>  1 file changed, 3 insertions(+), 15 deletions(-)
> 
> diff --git a/lib/PublicInbox/ExtMsg.pm b/lib/PublicInbox/ExtMsg.pm
> index d07d5a7..b1f6528 100644
> --- a/lib/PublicInbox/ExtMsg.pm
> +++ b/lib/PublicInbox/ExtMsg.pm
> @@ -13,20 +13,6 @@ use PublicInbox::MID qw/mid2path/;
>  use PublicInbox::WwwStream;
>  our $MIN_PARTIAL_LEN = 16;
>  
> -# TODO: user-configurable
> -our @EXT_URL = map { ascii_html($_) } (
> -	# leading "//" denotes protocol-relative (http:// or https://)
> -	'//marc.info/?i=%s',
> -	'//www.mail-archive.com/search?l=mid&q=%s',
> -	'nntp://news.gmane.org/%s',
> -	'https://lists.debian.org/msgid-search/%s',
> -	'//docs.FreeBSD.org/cgi/mid.cgi?db=mid&id=%s',
> -	'https://www.w3.org/mid/%s',
> -	'http://www.postgresql.org/message-id/%s',
> -	'https://lists.debconf.org/cgi-lurker/keyword.cgi?'.
> -		'doc-url=/lurker&format=en.html&query=id:%s'
> -);
> -

The default needs to remain; and may be further expanded.

Instead of forcing existing users to reconfigure, I suggest
allowing a "-" prefix to remove unwanted exturls.  git-config
also allows multi-value keys, so no need for '\' continuations.

How about allowing "= +$URL" to prepend to the default list,
and "= -$URL" to remove from the list.

[publicinbox]
	exturls = -//marc.info/?i=%s
	exturls = -//www.mail-archive.com/search?l=mid&q=%s
	...

	exturls = +//mid.dpdk.org/%s

Maybe exturls could accept an empty value at the top to clobber
all previous values, but I'm not a fan of supporting this:

	exturls =

I also think it should be possible to configure these overrides
on a per-inbox basis (but global overrides would still be respected)

>  sub search_partial ($$) {
> @@ -166,7 +152,9 @@ sub ext_urls {
>  	if (@EXT_URL && index($mid, '@') >= 0) {
>  		my $env = $ctx->{env};
>  		my $e = "\nPerhaps try an external site:\n\n";
> -		foreach my $url (@EXT_URL) {
> +		my @exturls = grep { /\S/ } map { ascii_html($_) } (
> +			split(/[\s,]+/, $ctx->{www}->{pi_config}->{'publicinbox.exturls'}));
> +		foreach my $url (@exturls) {
>  			my $u = PublicInbox::Hval::prurl($env, $url);
>  			my $r = sprintf($u, $href);
>  			my $t = sprintf($u, $html);

Line is too long (<80 columns).  I'm sensitive to this since I
need giant fonts and can't fit much more on screen; and my
vision will only get worse as I age :<

Anyways, thanks for taking a look at this and looking forward
to future revisions :>

  reply	other threads:[~2019-06-05  0:58 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-04 22:41 [RFC] make external urls user configurable Ali Alnubani
2019-06-05  0:58 ` Eric Wong [this message]
2019-06-09  7:16   ` Ali Alnubani

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

  List information: http://public-inbox.org/README

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

  git send-email \
    --in-reply-to=20190605005858.nvq3zilfdisxjbvn@whir \
    --to=e@80x24.org \
    --cc=alialnu@mellanox.com \
    --cc=meta@public-inbox.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).