Page MenuHomePhabricator

URNs are not made into hyperlinks
Closed, ResolvedPublic

Description

Author: psychonaut

Description:
Wikimedia allows hyperlinking to URLs enclosed in a single pair of square
brackets -- e.g., [http://www.nothingisreal.com/]. However, URIs are not
supported. For example, trying to link to a URN in the IETF-standard ISBN
namespace, such as urn:isbn:0451450523, does not work: [urn:isbn:0451450523].

It is important to add support for such URIs as users will increasingly be
expecting ISBN and ISSN links (for example) to be handled by their browser.
Currently, sites like Wikipedia simply link to a special web page listing URLs
to various booksellers, which is inconvenient for users whose browsers support
urn:isbn links natively.


Version: unspecified
Severity: enhancement
URL: urn:isbn:0451450523

Details

Reference
bz3133

Event Timeline

bzimport raised the priority of this task from to Lowest.Nov 21 2014, 8:45 PM
bzimport set Reference to bz3133.
bzimport added a subscriber: Unknown Object (MLST).

Something like http://meta.wikimedia.org/wiki/Help:ISBN_links ? :o)

We have code that autolink ISBN number. The syntax is something like:

ISBN 1-234567890-x

psychonaut wrote:

I'm not talking about converting text ISBNs into URLs. The problem is
Wikimedia's handling of URIs. It handles URLs of the form
[http://www.example.com], but not URNs of the form [urn:example].

Never encountered such a thing. Spec?

psychonaut wrote:

Never encountered? They've been classified as standards, standards track,
and/or best current practice by the IETF since at least 1997. Here are the
standard references:

RFC2141 URN Syntax
RFC3406 Uniform Resource Names (URN) Namespace Definition Mechanisms
RFC2648 A URN Namespace for IETF Documents
RFC3043 The Network Solutions Personal Internet Name (PIN): A URN Namespace for
People and Organizations
RFC3044 Using The ISSN (International Serial Standard Number) as URN (Uniform
Resource Names) within an ISSN-URN Namespace
RFC3061 A URN Namespace of Object Identifiers
RFC3085 URN Namespace for NewsML Resources
RFC3121 A URN Namespace for OASIS
RFC3120 A URN Namespace for XML.org
RFC3151 A URN Namespace for Public Identifiers
RFC3187 Using International Standard Book Numbers as Uniform Resource Names
RFC3188 Using National Bibliography Numbers as Uniform Resource Names
RFC3541 A Uniform Resource Name (URN) Namespace for the Web3D Consortium (Web3D)
RFC3614 A Uniform Resource Name (URN) Namespace for the Motion Picture Experts
Group (MPEG)
RFC3613 Definition of a Uniform Resource Name (URN) Namespace for the Middleware
Architecture Committee for Education (MACE)
RFC3616 A Uniform Resource Name (URN) Namespace for Foundation for Intelligent
Physical Agents (FIPA)
RFC3615 A Uniform Resource Name (URN) Namespace for SWIFT Financial Messaging
RFC3622 A Uniform Resource Name (URN) Namespace for the Liberty Alliance Project
RFC3937 A Uniform Resource Name (URN) Namespace for the International Press
Telecommunications Council (IPTC)

URN namespaces are assigned by the IANA. The current list is available at
http://www.iana.org/assignments/urn-namespaces.

Note that to solve this bug, you don't need to account for every possible
namespace listed in the IANA or RFCs. Just convert Wiki markup of the form
[urn:foo bar] to an HTML link of the form <a href="urn:foo">bar</a> the same way
you would for any other HTML link.

rowan.collins wrote:

You overstate the case massively by claiming that "URIs are not supported" -
unless I'm much mistaken, URLs of the half dozen forms already supported are
also URIs, and as of version 1.5, the prefixes which are treated as beginning an
external link are configurable by setting the $wgUrlProtocols variable in
LocalSettings.php (OK, so it should be $wgUriSchemes, but it's probably not
worth changing, and even Mozilla mixes those up).

This bug can therefore be interpretted as either of:

  • add "urn:" to the default set of external link prefixes
  • add "urn:" to the list of prefixes on Wikimedia sites, but not as a default in

the source
[The third option, "I want to support URNs in *my* wiki", requires no code
change on our part.]

As with the "tel:" scheme mentionned in bug 1235, it seems to me that there are
several questions beyond the existence of a standard that need demonstratively
positive answers before enabling such a thing:

  1. is this URI scheme widely supported in the software used by readers?
  2. are editors familiar with this scheme and thus likely to use it?
  3. are there likely to be situations within the project in which this scheme

will be useful?

[While I'm on this wider topic: The consequences of adding a URI scheme without
answering those questions isn't all that dire, but it could easily become a
source of bloat:
$wgUrlProtocols='http:\/\/|https:\/\/|ftp:\/\/|irc:\/\/|gopher:\/\/|news:|mailto:|urn:|tel:|fax:|modem:|wais:|file:\/\/|imap:|pop:|data:|dav:|go:';
and so on for the whole list at http://www.iana.org/assignments/uri-schemes
would be hideous. And just think of all the accidental free-standing links that
could end up floating around...]

I'm aware they're a theoretical standard but have never seen any in the wild,
and don't expect to anytime soon.

Should they ever be required, adding desired schemas to the configuration should
already work. Closing as duplicate of bug 431.

  • This bug has been marked as a duplicate of 431 ***