Last modified: 2005-08-16 23:55:22 UTC
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.
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
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?
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.
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 ***