Editor: Robin Cover
Date: 2006-06-30
Version: 0.4.
Status: Provisional/Pending
Review Comments: send to robin@oasis-open.org
Current Activity: produce condensed format with just the rules; add examples and commentary
Contents
Between February 2003 and February 2006, at least twenty-one (21) numbered drafts relating to "OASIS Naming Guidelines" were produced under an informal process, for review by OASIS Members, Chairs, TAB, Board, and others. These drafts have several different titles, suggesting variable focus and scope.
This document seeks closure on a few key decisions that need to be made in order to proceed with design and development of new document management facilities to support resources in the OASIS Open Library. The document editor recognizes that consensus will never be reached on a much longer list of naming issues about which stakeholders have strong opinions, and disagreements.
The document provides a summary of key issues raised by members of the TAB in its recent production of draft documents on "artifact" guidelines, as well as some issues raised by reviwers of AIR/ASIS, including OASIS Staff. The issues are presented under one of two labels, reflecting the emerging consensus of opinion as of 2006-06, or lack thereof: (a) "Issues Resolved, Near Resolution, or with Substantial Agreement" and (b) "Issues Requiring Further Discussion". We believe that the conclusions reached in "(a)" are reasonable consensus positions, at least suitable for trial application. Further work on issues in "(b)" will seek to discover solutions that need to be provided in order to give guidance to TCs and to OASIS Staff programmers who will create document management software to support the naming guidelines.
As consensus emerges, we anticipate a phase-wise publication of the minimum guidelines and rules on a dynamic, evolving web site. Initially, we are inclined not to characterize these "Guidelines for Filenames, URIs, Namespaces, and Metadata" (under some title) as hardened "policy" but as a collection of guidelines which need to be tested and refined through use by TCs in connection with new document management software. Similarly, the provisional rules and guidelines will be tested by common practice and new use cases.
Not all topics addressed by the TAB during the period 2003-02 through 2006-02 are mentioned in this summary document: additional background, including theoretical matters and formal notations are available in early drafts and supplemental materials, most recently in Artifact Standard Identification Scheme for Metadata 1.0.
Note on nomenclature: this summary document does not feature the term "artifact" (nor "requirements" nor "deliverable"), as feedback from reviewers of ASIS indicated that artifact probably does not represent an central concept, even if some of its defined characteristics are useful. This document uses the more familiar Web terms "resource" and "URI", along with "file" and sometimes "document", "specification", and "directory" (as a hierarchical element matching a URI path component). A taxonomy of resource types (previously in ASIS, "artifact types") will be considered separately as part of the metadata design effort.
"Name Characters" here refers to characters used in URIs — including filenames, directory names, colon- or slash-delimited components within namespace URIs, delimiters, and possibly other URI subcomponents as may be labeled.
Beginning with one of the earliest drafts (Proposed Rules for OASIS Document File Naming, Working Draft 02, 18-February-2003), contributors to the twenty-some versions of the OASIS naming guidelines have agreed that a restricted character inventory for published names would best serve the needs of the organization. Experience using the Kavi system has confirmed that users (unconstrained) are likely to publish documents using problematic characters and character patterns in filenames/URIs, creating risks to interoperability and data integrity. Some such characters require hex (escape) representation because they are "Reserved Characters" in URI syntax, while others present risks because they are meaningful to the shell. Some of these potentially problematic characters include the at-sign (@), ampersand (&), left and right parenthesis, tilde (~), hash/pound-sign (#), dollar-sign ($), left and right square-bracket, plus-sign (+), colon (:), semicolon (;), etc.
While technical solutions are available to minmize problems arising from potentially problematic characters and character sequences, common best practice guidance urges avoiding them altogether; this conclusion has been supported in all twenty-some AIR/ASIS drafts and in the two OASIS member reviews.
"Name construction" here refers to the lexical and syntactic structure of names, given the restricted character inventory. Motivations for the constraints include concerns for fidelity of interchange across file systems, minimizing the risks of common text-processing errors, usability (visual clarity), and other data QA. In other cases, arbitrary restriction of unbounded variablity serves the goal of simplicity through uniformity.
ASIS sections on metadata have been removed in this document, as metadata design has been targeted for work as a separate design effort, to be revisited following the conclusion of OASIS Staff design on specification templates, search requirements, and other functional requirements that are part of the document management system design. Results from this design will be incorporated into the "Guidelines for Filenames, URIs, Namespaces, [and Metadata]" document at a later stage.
A significant conclusion emerged from the two public reviews of AIR (July 2005) and ASIS (February 2006): the OASIS membership does not welcome a policy mandating the use of structured filenames which use hyphen-delimited metadata components, IETF-style. In some cases it may be natural and desirable to use some "metadata" information in filenames, but we heard strong negative reaction against the early proposal to make a componentized schema required. The current plan is to coordinate investigation about metadata requirements around site-wide search functionality, then to align the metadata model(s) with usage in specification templates and (other) markup embedding guidelines. Further support for (optional use of) componentized flenames might be reconsidered later (e.g., when it would make sense to generate sugested filenames from a metadata record.
Design document titles: An incomplete listing for various versions of "AIR", variously titled:
See Eve Maler in Proposed Rules for OASIS Document File Naming, February 2003: "Hyphens must be used as separators of the major portions of a file name. Spaces must not be used. Hyphens are recommended between words within the description and extended description portions, though underscores may be used. Hyphens are preferred because they are easier to see in displayed URIs and easier to type. Lowercase spelling is recommended..."
While the collection of naming rules is intended to apply to all resources deposited into the OASIS Open Library, rules may apply variably to different document genres, file formats, and as a function of specification status. Thus, while rules for allowable characters in file and directory names would apply universally, rules governing namespace definition would be applied differently to contributed specifications vs. TC-approved specifications.
The characters "?" (question-mark) and "=" (equals) may be recommended at some future time for use in the query component of a URI, should OASIS provide implementations that use such query elements.
TC members involved in naming are encouraged to consider the context in which URIs are likely to be used; in some print media, the UNDERSCORE character is indistinguishable from other "blank" characters, and in the context of common Web practice, may be ambiguous.
File names reserved for (future) administrative use include any files significant to the Apache server (e.g., .htaccess; *.cgi; *.conf or matching any Apache config files; mime.types) and files used by Staff for uniform browsing/navigation (e.g., index.html, index.htm, etc). A complete list must be provided.
The goal of the naming guidelines is to provide a set of loose constraints under which TCs can adopt naming practices suitable to their application. In boundary cases, where some naming construct is judged problematic for technical, political, or social reasons, the TC Administration will attempt to negotiate an acceptable solution that avoids the problem, but in some cases, may need to exertise authority, which may be appealed by a TC.
See for example DocBook : "Historically, DocBook was in no namespace. Starting with DocBook V5.0, DocBook is in a namespace: http://docbook.org/ns/docbook, the namespace name for DocBook. In time, other modules may also have their own namespace."
Once assigned to a resource, an identifier (URI) should never be retired and re-assigned to some other resource: the relationship between identifier and resource should be considered fixed and unseverable. This applies to primary resources (e.g., a conceptual whole document) and to secondary resources associated with a fragment identifier component of a URI [post-pound # fragment portion]. Some CMS products [Moin Wiki] will rewrite the value of of an (X)HTML ID attribute when a document is saved — breaking URI references that link to internal document components.
Some TCs want to hard-link to XML schemas from namespace URIs rather than to separate "namespace documents". We can honor that option by saying in the rules that the namespace URI MUST resolve rather than return a harsh 404 status code. The WebArch document's section on Namespace documents notes that there are many methods of accomplishing the effect of a namespace document, including documents based upon XML Schema (XSDs), to follow "Good practice": Namespace documents — "The owner of an XML namespace name SHOULD make available material intended for people to read and material optimized for software agents in order to meet the needs of those who will use the namespace vocabulary." The W3C document says: "the following are examples of data formats for namespace documents: OWL Web Ontology Language Reference (OWM), Resource Directory Description Language (RDDL), XML Schema Part 1: Structures (XML Schema), and XHTML 1.1-Module-based XHTML. Each of these formats meets different requirements described above for satisfying the needs of an agent that wants more information about the namespace..." It seems quite reasonable that an HTTP scheme namespace URI (namespace name, URI reference) should resolve to something useful and informative, whether an XML schema or other representation which fulfills the general requirement of "useful information." TCs should be able to indicate the resource to be delivered when the URI is dereferenced; we expect that resource to be located under the TC's web site root. If the TC designates/provides no such resource, OASIS TC Administration would do so.
Several solutions have been offered for a required or recommended practice of identifying "versions" of specifications using words and enumerators. One scheme would apply the term "revision" to any intermediate non-approved documents between major status levels — where '#' is a digit:
Methods for uploading and installing resources in the OASIS Open Library include use of compressed archives or packages like ZIP and tar+gzip. It is expected that filenames and directory names created by a package extract operation will conform to the naming rules just as if the files were uploaded individually. In order to make all resources directly visible to human users (not requiring a download + extract-on-local-machine operation) and accessible to indexing for search purposes, all files in packages will be extracted and installed in the named directories. All package files uploaded to the OASIS Open Library will be retained at the canonical URI.
The OASIS web server(s) used for resources in the OASIS Open Library will respect the authoritative, canonical, exact (mixed-case) spelling used in official OASIS URIs, viz., in the path and filename components of the URI. Protecting the quality of URIs and the identity of URI-addressable resources depends critically upon respecting case: Unicode, used in XML and almost all modern applications, is case-sensitive, so that 'foo' and 'Foo' as identifiers are different. Most XML processing depends upon respect for case (XML schema, XML DTDs, etc). Therefore, using the exact (normative, canonical, authoritative) correct character tokens, including correct case, with respect to subdirectories and files is critical. The Apache server as currently configured is doing the right thing: rejecting requests for approximate URIs. We may provide assistance for 404s but will not deliver mis-identified documents silently.
See Upgrading OASIS document and file management services, posted by Peter Roden November 18, 2005: "We plan exclusively to use the [Internet] domain 'docs.oasis-open.org' for public access to approved work product of its technical committees. The 'docs' subdomain is in optional use today. By 'approved', we mean all work that has been approved under our TC Process rules as a Committee Draft, Public Review Draft, Committee Specification or OASIS Standard..."
Type 1: Slash Namespace HTTP scheme URI
Type 2: Hash Namespace HTTP scheme URI
Type 3: Simple Namespace HTTP scheme URI
[ASIS] Artifact Standard Identification Scheme for Metadata 1.0. Approved TAB Document. 30-January-2006. Artifact Identifier: 'ArtifactStandardIdentificationSchemeForMetadata-1.0.1-req-approved'. Sent out for public review on February 06 2006 ending March 01, 2006. [local copy]
[AIR] Artifact Identification Requirements 1.0. Working Draft 15. 30-June-2005. See the announcement [also here] and "short preface and list of questions." [local copy]
[RFC3986] Uniform Resource Identifier (URI): Generic Syntax. IETF Request for Comments 3986. Unofficial HTML version.
[URI-Metadata] The Use of Metadata in URIs. DRAFT TAG Finding. 11-May-2006 (or later). From the W3C Technical Architecture Group.
[RFC3121] A URN Namespace for OASIS. IETF Request for Comments: 3121. June 2001. Similar, but irrelevant to this naming discussion: A URN Namespace for XML.org.