Re: Version identifier in URL

Marty Cagan/Continuus Software Corporation (Marty_Cagan@continuus.com)
29 May 96 9:31:25 EDT


I've watched the discussions regarding the syntax and a little of
the semantics of augmenting the URL with version info, and I'd
like to feel the group out on something.  I honestly don't know if
this is within the scope of the versioning extension work or not
at this point, but I'd like to find out.

A couple years ago I was involved in a similar standardization
effort (it was called Case Communique), and the idea was to
come up with a versioning extension for a message-based
protocol used by a set of software development tools.  The tools
were all made "version smart", and it was able to successfully
allow "plug-and-play" of different version control and software
configuration management vendors, which was one of the main
goals (the other was to obviously to enable version smart tools).

While this effort was useful, I'd have to say that it wasn't very
satisfying.  The reason was that the tools needed to be more
than just "version smart".  They really needed to have knowledge
of the broader notions of configurations (parallel development -
especially parallel release branches, the evolution of the project
file structure, dependency management, management of collections,
and so on).

I'm not denigrating versioning in any way, and I'm not even suggesting
replacing the versioning concept with this configuration concept.  I'm
just more interested in this level above versioning and am wondering
if that concept should be included in the discussions.

If Web tools were made "configuration smart" in addition to "version
smart", then rather than pass around version identifiers, they might
instead pass around release or configuration identifiers, which the
server might then resolve to a particular version of a given URL.
(Note that I'm not just referring to version tags here, but rather some
indicator of the release/configuration that implies not just the
specific version of each URL, but also the actual set and structure
of the URLs.  For example, configuration "release 3.0" might have
one set and structure of URLs, but "release 4.0" might have a
completely different set and structure.)

The more Web content that I see out there, the less useful specific
version id's seem to me (in the hands of the Web tools).  There
is not a lot of meaning to "version 12.1.2" of one particular URL out
of literally thousands.  However, "release 4.0" seems to me to be
something that the Web tool might usefully present to the user and
then pass along with the URL to the server which would then lookup
the particular version id for that URL for that configuration.

Your thoughts on this would be appeciated.

Marty Cagan
Continuus Software Corporation