Re: Versions and configurations

Christopher Seiwald (
Wed, 29 May 1996 22:25:52 -0700

| Decorated URLs in the MKS style may suffice for the simple versioning
| needs. But I suspect we'll want to look at an additional HTTP method --
| call it SET_CONFIG -- to tell a server, "Now switch to serving the
| 'tables-no-frames' version of the pages."


Let me demur.  [ Hephaestus gloves on. ]

1)      As David Fiander points out, the example muddles content negotiation
        and versioning.  I fear that if we don't keep the two quite distinct,
        we'll have a hard time convincing people that version information
        belongs in a URL (because clearly content negotiation doesn't).

        As Larry Masinter notes, the above scheme requires state in
        conjunction with a URL, which (to me) defies the notion of a

2)      I'm not sure that "configuration information" is distinct
        from "version information", if you don't limit "version" to be
        simply "revision" information.  That is,


        can describe the whole configuration of The Economist's articles
        as of that date, while


        would pick out a particular rev of a single document.

        I don't see where lies the added value of a "configuration" over
        a versioned directory tree, but this could just be a problem
        with terminology.

David's example of leads me to another suggestion
for decorating a URL with version information: the pages on that site
are organized as  What
they've done is implemented poor man's version control, but they used
the name space (i.e. the URL) in an intuitive and natural way.

Three ways of making that a convention would be:

a.  The explict:

    In this case, the version is identified by a specially marked path
    element.  The path element could be anywhere.

b.  The implicit:

    Here the first element implicitly denotes the version.  This is a
    bit like the way Atria uses their view-extended path names: the
    first element is the view (which selects the the versions), and
    subsequent elements are interpreted according to that view.

c.  The hidden:

    Here the version, just as with The Economist, is simply an
    indistinguishable part of the path.  No one knows, except for
    the version-controlled server.

The nice part about embedding the version is that relative paths would
point to the same version across the whole document tree.  I think
that "tree * version = configuration", so it should satisfy people
who want full configuration selectability.

Christopher Seiwald     P3 Software             f-f-f-fast SCM          1-510-865-8720