Re: re-use of version URL's

   From: "Mark A. Hale" <mark.hale@interwoven.com>

   > ... It would be very easy for that system to include 1.20
   > into the temp space's URL. That would effectively avoid reuse.

   Yes, and we could maintain a system that remembers everything and becomes
   slower with time and consumes more memory.

There is no reason for the system to remember everything.
It can just generate a GUID that it both:

- tacks onto the end of the version URL
- stores as a property (e.g. the "version-urlifier property) of that version

You can then re-use names in your underlying store, e.g.

   /write.c/temp/synchronous/1.0

but the version URL is:

   http://someWebDAVServer.com/write.c/temp/synchronous/1.0;07592

When somebody asks you later to do something to the resource at this
URL, you first check whatever resource is at your store in:

   /write.c/temp/synchronous/1.0

If it has "07592" as it's version-urlifier property, then all is
well, and you operate on that resource.  If it has any other value
in its version-urlifier property, you return 404 - Not Found.

   The original use case I presented had the following:

	   In addition, the temporary spaces are completely deleted and are not
	   maintained anywhere in the server.

   This is part of the story I presented and is a highly reasonable scenario.

I agree, but you can use the above technique to ensure that the
version URL's are stable, without the overhead of remembering
everything.

   > And note that we're talking about version URLs here. They don't have to be
   > nice at all. All of the URLs could be formatted like:
   >
   >     http://www.webdav.org/$versions/cc46d79e-d11d-b211-8658-f8d684ddefeb
   >
   > Yes, the hierarchy is nice, but it is just too easy to create
   > unique version
   > resource URLs.

   In this context, the argument is not about whether or not we can assign
   unqiue URLs.  In fact, I stated in the original e-mail that we can do just
   that.

   There are equally as many reasons on why we want to have meaningful URLs.

I agree that there are many reasons to have meaningful names, but I
believe that version-controlled resource URL's and version-names give
us the meaningful names that we need, so we can use version URL's to
provide stable names.

Cheers,
Geoff

Received on Thursday, 4 January 2001 17:09:08 UTC