[urn] A way forward for rfc2141bis and rfc3406bis -- was: Finalizing items ...
Alfred Hönes <ah@TR-Sys.de> Thu, 05 July 2012 09:27 UTC
Return-Path: <A.Hoenes@TR-Sys.de>
X-Original-To: urn@ietfa.amsl.com
Delivered-To: urn@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3EDFC21F85B8 for <urn@ietfa.amsl.com>; Thu, 5 Jul 2012 02:27:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -98.298
X-Spam-Level:
X-Spam-Status: No, score=-98.298 tagged_above=-999 required=5 tests=[AWL=-0.149, BAYES_00=-2.599, CHARSET_FARAWAY_HEADER=3.2, HELO_EQ_DE=0.35, J_CHICKENPOX_75=0.6, MIME_8BIT_HEADER=0.3, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7d1kp3VD5fS7 for <urn@ietfa.amsl.com>; Thu, 5 Jul 2012 02:27:38 -0700 (PDT)
Received: from TR-Sys.de (gateway.tr-sys.de [213.178.172.147]) by ietfa.amsl.com (Postfix) with ESMTP id 8A1C921F8440 for <urn@ietf.org>; Thu, 5 Jul 2012 02:27:36 -0700 (PDT)
Received: from ZEUS.TR-Sys.de by w. with ESMTP ($Revision: 1.37.109.26 $/16.3.2) id AA173260369; Thu, 5 Jul 2012 11:26:09 +0200
Received: (from ah@localhost) by z.TR-Sys.de (8.9.3 (PHNE_25183)/8.7.3) id LAA08015; Thu, 5 Jul 2012 11:26:08 +0200 (MESZ)
From: Alfred Hönes <ah@TR-Sys.de>
Message-Id: <201207050926.LAA08015@TR-Sys.de>
To: urn@ietf.org
Date: Thu, 05 Jul 2012 11:26:08 +0200
X-Mailer: ELM [$Revision: 1.17.214.3 $]
Mime-Version: 1.0
Content-Type: text/plain; charset="hp-roman8"
Content-Transfer-Encoding: 7bit
Subject: [urn] A way forward for rfc2141bis and rfc3406bis -- was: Finalizing items ...
X-BeenThere: urn@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Revisions to URN RFCs <urn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/urn>, <mailto:urn-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/urn>
List-Post: <mailto:urn@ietf.org>
List-Help: <mailto:urn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/urn>, <mailto:urn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Jul 2012 09:27:39 -0000
URN folks, thanks to all for reviving the discussion on the rfx2141bis and rfc3406bis I-Ds. As the editor of both drafts, I try to sum up below and provide a perspective for a way forward; I'll respond individually in more detail ASAP (see endnote). ** general ** Unfortunately, stakeholders of URN Namespaces for various reasons seem to feel discouraged to participate in the on-list discussion, which now has been majorized by few long-time "IETF professional" contributors. Part of the frustration I observe also seems to be based on the lack of constructive proposals on the list so far, as replacement solutions for the options being voted against. We should not forget that the prime target audience of these URN core documents is the rather divers family of (present and) prospective stakeholders of URN Namespaces, which frequently have not been in contact with the IETF, but possibly with other persistent ID schemes, _or_ which are working within the IETF, but with a focus on a particular technology and mostly unaware of relevant work for URNs. Hence, the goal of the "core URN documents" should be to give concise guidance to _that_ audience, in order to help avoid to have to explain the same context again and again individually (as I have done in the past couple of years). This IMO needs to include a bit of a "marketing" effort for the URN framework against other, concurring identifier systems. Recently, being able to point prospective applicants of new URN Namespaces (from inside and outside of the IETF) to the material in the present Introductions of the rfc2141bis and rfc3406bis drafts has been very helpful in giving guidance on technical/document/historical context; such material is sought by prospective stakeholders in the core documents. ** towards a way forward ** We face several general kinds of problems to deal with. One stems from the chartered restriction to not revise the "strategical" RFCs laying the foundation of URNs and to presently obstain from work on services/methods and details of URN resolution and URN services. There seems to be consensus that some parts of these RFCs are outdated by more than a decade of experience with URNs. Since we aim our work towards bringing our documents forward on the Standards Track, we cannot make Normative references to past, Informational RFCs. So, as elaborated upon in the URNbis chartering discussion, we need to incorporate selected text from, e.g. RFC 1737, verbatim in order to remind the readers (including prospective stakeholders of URN Namespaces) of what we now deem still particularly valid and important for URNs. Likewise, experience shows that we need to provide a more precise framework for the establishment of URN services for URN Namespaces, in order to further a uniform style -- to the benefit of generic URN handling applications. Unlike for other URIs, URNs in general are dedicated to be media- and technology-independent, as almost necessitated by the target of long-term, global scope, uniqueness, and persistence (RFC 1737, Section 2). Since there are various services applicable to URNs, resolution of a URN does not have the same media orientation properties like it is common in a HTTP/HTML context. The objects/resources named by URNs might be structured, complex, and inter-related with the details perhaps evolving over time, whereas the abstract object and its naming (as done by the assignement of {NID}:{NSS}) needs to be stable. Our effort has been driven by a major class of mass URN "customers", the bibliographic community. That community has identified the urgent need to identify in a uniform way, in the URN resolution process, object/resource components and/or related resources. The description in the first paragraph of Section 3.5 in RFC 3986 has lead to a URN service/resolution implementation attempt based on the usage of fragment identifiers, and that has been reflected in the rfc2141bis draft since its beginning as an individual I-D. In the meantime, it has become clear that the subsequent text in Section 3.5 of RFC 3986 is incompatible with the goals, since it calls for URI users to strip the fragment identifier component before forwarding a URI reference for resolution, and to apply the fragment identifier, in a media-type dependent manner, to the returned content. In the bibliographic context, components might be archived in different media items over time to maintain their accessability, and they might be subject to diverse distribution restrictions; so in general, it will be impossible or impractical to return an all-encompassing response and allow the client to select the required part. An additional restriction of the use of fragment identifiers is that, in practice, media types and/or common browsers do not support to "pick a component" from the returned resource, but represent the whole resource, pointing to a particular spot therein, such maintain the user perception of a "fragment identifier" essentially being used as a pointer to a particular point in the returned media, not a particular part of the resource. The IETF has recently put emphasis on this particular, strict media-type dependence of the fragment part of URIs, and we need to accomodate that and established practice in browsers. In order to avoid recurrence of this issue, explaining text on fragment use with URNs IMO needs to be present in rfc2141bis, _and_ we need to provide a uniform working scheme for the identified requirements. ** the proposal ** Study of RFCs and off-list conversations with folks from the bibliographic community has lead to a model how these goals could be achieved by a common-style usage of the <query> URI part, and I want to present this to the WG as a way forward for discussion before going to work out the details in the next version of the rfc2141bis and rfc3406bis I-Ds. Let me explain the idea with a very hypothetical (intentionally invalid) example: Say a book has been assigned the ISBN (ISBN-13) 987-65-4321-678-9. Thus, per the rfc3187bis I-D, it gets assigned the URN, urn:isbn:987-65-4321-678-9 A resolution service might be able to provide the bibliographic record of the book and point to reproductions of selected parts of it, say - an image of the front page (cover page), - a text version of the table of contents, - some rich text copy (e.g. HTML or PDF) of the foreword, - the list of references included in the book (e.g. in the form of a set of shortened bibligraphic records), all of the above available for free, without restrictions to anyone; and - the Introduction section of the book (in PDF) available to registered (authenticated and authorized) users of a specific community only. Then, specific URI references to the above URN can direct its consumer to steer the resolution process, using the fragment part of the URI reference: urn:isbn:987-65-4321-678-9 returns the metadata for the book (default); urn:isbn:987-65-4321-678-9?s=I2R&c=toc returns the table of contents; urn:isbn:987-65-4321-678-9?s=I2L&c=foreword returns a URL for the foreword of the book; urn:isbn:987-65-4321-678-9?s=I2Ns&c=reflist returns a URI list (text/uri-list per RFC 2483) with the URNs of the references included in the book; urn:isbn:987-65-4321-678-9?s=I2L&c=sec.1 returns a URL pointing to the Introduction (Section 1) of the book, which can only be resolved by authorized users. This solution, in a nutshell, would consist of the following elements for rfc2141bis and rfc3406bis: o rfc2141bis specifies - the forms-like syntax of the <query> component in URN references, as a sequence of keyword=value items separated by "&" chars; I suggest that for simplicity both <keyword> and <value> should be simple fixed tokens (or follow simple patterns), i.e. kind of enumerated value protocol elements, and hence not subject to internationalization (<keyword>s are case-insensitive, in the spirit of RFC 1737, <value>s should preferably be case-insensitive as well, but namespace-specific considerations might dictate allowance for case-sensitivity); - the handling rules: single instance of items with a particular <keyword> only, semantics independent of order of the items, items with unknown (or falsely repeated) <keyword> are to be ignored by the resolution service, "sensical" fallback in case of unknown / unsupported / not applicable <value> needed (these rules will support easy introduction and future extension of the repertoire supported by URN services); - a new IANA registry of "URN Resolution Query Tokens" with a sub-registry for <keyword>s to be used with URI references to URNs -- either for general use or specific to particular URN Namespaces --, which will be initialized with two entries explained below; - the <keyword> "s" (Service) to indicate the label of the desired URN resolution service; - the <keyword> "c" (component) to indicate the desire to obtain information about a particular component of the object/resource designated by the base URN; - another sub-registry of the above new IANA registry for <value>s used for the "s" keyword, (i.e. the "service labels"), which will be provisionally populated by the service identifiers from RFC 2483 -- leaving details to a future rfc2483bis; - that supported "c=" values need to be specified per URN namespace. Further, rfc2141bis will indicate that future URN Namespace registration documents (as per rfc3406bis) need to specify the support of the above <query> syntax by its resolution service(s), supported/applicable services, the default service provided, and the usage of "c=" (if applicable) and any other potential keywords for that URN Namespace and supported service. Explanatory material related to the issues (described above) with the use of <fragment> identifiers as in some recent prototype URN service implementations will stay in Appendices of rfc2141bis; this includes the mention of the choices URN namespace designers have for support of hierarchical (and cross-linked) resources: - include component identifier in registered identifier, making it a (perhaps distinguishable) part of the NSS; - support/use <query> with "c=", so the NSS registry for the namespace doesn't have to deal with the component information (which will be added value by the resolution services); - use <fragment> (if media types returned for particular NID are long-term stable and allow to support that). The proper use of <fragment> will be emphasized in the main body of rfc2141bis, with pointers to other specs, including the work-in-progress RFC 4288bis from APPSAWG. o rfc3406bis specifies the details for the above scheme expected to be specified in registration documents, including new entries in the URN Namespace registration template for supported services (per the "s" value IANA registry) and the usage and rules for "c=" (if applicable) and any other <query> keywords, including possible IANA registration of new keywords. o The definition of new service labels, and an update to the existing definitions is left to future work on a rfc2483bis document. The inofficial rfc2482bis pre-draft circulated can be stripped of the definition of the URN service label IANA registry (then done in rfc2141bis) and focus on updates of service descriptions and the new services that have been identified in practice as being needed. Please discuss this constructive proposal for a way forward -- preferably by on-list comments. Since I'll be unable to go online for the rest of July, I'll evaluate the list discussion and comments sent in private communications subsequently ASAP, and then provide feedback and update the drafts accordingly; so please stay patient. Best regards, Alfred.
- [urn] A way forward for rfc2141bis and rfc3406bis… Alfred Hönes
- Re: [urn] A way forward for rfc2141bis and rfc340… Juha Hakala
- Re: [urn] A way forward for rfc2141bis and rfc340… Juha Hakala
- Re: [urn] A way forward for rfc2141bis and rfc340… Svensson, Lars
- Re: [urn] A way forward for rfc2141bis and rfc340… Svensson, Lars
- Re: [urn] A way forward for rfc2141bis and rfc340… Juha Hakala
- Re: [urn] A way forward for rfc2141bis and rfc340… Peter Saint-Andre