- From: <noah_mendelsohn@us.ibm.com>
- Date: Tue, 17 Feb 2009 16:42:49 -0500
- To: David Orchard <orchard@pacificspirit.com>
- Cc: John Kemp <john.kemp@nokia.com>, Larry Masinter <masinter@adobe.com>, "www-tag@w3.org WG" <www-tag@w3.org>
Larry Masinter wrote: > I think a full finding on versioning might even include a discussion > of the various mechanisms for versioning, MIME types I agree, but my interpretation is that our recent decision that Dave will publish the earlier work as a note suggests that the TAG is not at the moment committed to working toward a full finding on version. In fact, current course and speed is that we will not. Of course, we can change course anytime, but as Dave says, we have beaten our collective heads against this tough issue for quite a number of years, and some of us at least would like to take a rest from it. As to the particular ACTION-165 on John, that is only indirectly related to any findings on versioning. It traces to the fact that AWWW has in it specific advice [1] suggesting that well designed languages should always provide some means of putting explicit version identifiers in instance documents, or at least that's how I read it. I observed some time ago that I thought this was not in general correct, I.e. that there are times when providing for such identifiers is the right thing, but other times when it's arguably a mistake. Along the way I was asked by the TAG to set down some thoughts in the TAG's blog, which I did at [2]. The work immediately before us, and that motivated the action to John, was to go back and decide what to do about that little bit of text in AWWW. John proposes: > I believe that the best practice is still correct and important - data > format specifications should provide a mechanism (where that mechanism > might simply be "use XML namespaces") allowing instances to indicate > version information. Authors will likely not know whether they will > later have to create a new, incompatible version of a format a priori, > but should likely assume that they will. Well, I still respectfully disagree. This suggests that a big subset of the programming languages we use are poorly designed because they don't invite us to say things like: <?php PHPVersion="4.1" ... ?> or to put Java version="2.0" in our Java source files. I gave my reasons in the blog posting, and I won't repeat them here. > I would suggest, however, that perhaps an additional best practice > might be warranted, along the lines of Noah's suggestion in [3]: > > "If a language, or data format, changes in incompatible ways, a new > version identifier should be assigned to the updated data format, and > allowed in document instances." Thank you. I do think that bit is worth saying. Overall, I might go with something like this: "In cases where the same instance document has incompatible meanings per two or more versions of the language specification, provision MUST be made for indicating the version(s) used to encode each instance. Use of explicit version identifiers in other languages is optional, and in some cases such explict identifiers can actually inhibit the adoption of new language versions, or can inhibit interoperability between systems implementing differing versions of the language." ...or words to that effect. As an example of that last admonition, one can argue that XML 1.1 might have been deployed much more successfully if no version attribute were provided in the XML declaration. I don't believe it's the case that the same document ever had two different legal meanings in XML 1.0 and XML 1.1; it's just that some documents are legal in one version and some legal in the other. XML 1.0 processors would have rejected content using new XML 1.1 characters just as surely (if not just as early) if no version identifier were provided. The ID is really just a cross check or early warning in such cases. The only time it's really crucial is if the same document can mean different things as the specification changes. Noah [1] http://www.w3.org/TR/webarch/#ext-version [2] http://www.w3.org/QA/2007/12/version_identifiers_reconsider.html -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 -------------------------------------- David Orchard <orchard@pacificspirit.com> Sent by: www-tag-request@w3.org 02/17/2009 03:34 PM To: Larry Masinter <masinter@adobe.com> cc: John Kemp <john.kemp@nokia.com>, "www-tag@w3.org WG" <www-tag@w3.org>, (bcc: Noah Mendelsohn/Cambridge/IBM) Subject: Re: Formulate erratum text on versioning for the web architecture document Larry, The TAG has spent a great deal of time on versioning over the past 7 years. I have focused on it heavily during 3 terms, as well as a year in between when I was not on the TAG. It is extremely difficult to get to consensus on what I thought were very simple things, like saying "languages intended to be versioned should be extensible." I very much agree that there is much much more work that could be done on versioning and updating the findings. You may find it difficult to allocate time to versioning compared to other activities on the TAG. I applaud your consideration of the fullness of issues wrt versioning. This is also directly related to HTML5 WG issue 41, which is that HTML5 currently precludes support for distributed extensibility. Cheers, Dave On Tue, Feb 17, 2009 at 11:37 AM, Larry Masinter <masinter@adobe.com> wrote: It's pretty clear to me that the findings on versionings aren't specific enough. I think a full finding on versioning might even include a discussion of the various mechanisms for versioning, MIME types, DOCTYPE, version attributes on root elements, version elements, the relationship between major and minor version numbers, the issues and pros and cons of the various ways of designing languages that are version compatible, and also address the various issues with deployment, difficulties of supporting multiple versions in a single set of software, relationship of scripting to versioning, versioning of languages that are used in compound XML documents from multiple namespaces. Certainly these topics and more are part of the ongoing discussion of versioning in HTML, see http://www.w3.org/html/wg/tracker/issues/4 Larry -- http://larry.masinter.net -----Original Message----- From: www-tag-request@w3.org [mailto:www-tag-request@w3.org] On Behalf Of John Kemp Sent: Tuesday, February 17, 2009 7:47 AM To: www-tag@w3.org WG Subject: Formulate erratum text on versioning for the web architecture document Hello, I acquired an action item [1] to investigate whether the AWWW best practice on versioning [2] should be updated in light of the versioning work done by the TAG. Noah wrote a nice description of the issue on the TAG blog [3] which includes links to the relevant work done by Dave Orchard on versioning. The AWWW currently says this, marked as a best practice: "A data format specification SHOULD provide for version information." My understanding of that line is that when designing a data format specification, the author should provide a mechanism allowing an instance document, conforming to the said specification, to carry information pertaining to the version of the specified format with which the instance complies (where complies _might_ mean 'should validate against the related XML schema' or something else, at the specified discretion of the author). Of course, using XML namespaces in an appropriate manner would be one way by which this best practice could be applied. As Noah described in [3], it is not always necessary for a format author to create an updated version identifier, or require its use in compliant instances. This particular item is also touched on in the AWWW in a section on Versioning and XML Namespace Policy [4] I believe that the best practice is still correct and important - data format specifications should provide a mechanism (where that mechanism might simply be "use XML namespaces") allowing instances to indicate version information. Authors will likely not know whether they will later have to create a new, incompatible version of a format a priori, but should likely assume that they will. I would suggest, however, that perhaps an additional best practice might be warranted, along the lines of Noah's suggestion in [3]: "If a language, or data format, changes in incompatible ways, a new version identifier should be assigned to the updated data format, and allowed in document instances." Regards, - johnk [1] http://www.w3.org/2001/tag/group/track/actions/165 [2] http://www.w3.org/TR/webarch/#ext-version [3] http://www.w3.org/QA/2007/12/version_identifiers_reconsider.html [4] http://www.w3.org/TR/webarch/#versioning-xmlns
Received on Tuesday, 17 February 2009 21:41:56 UTC