W3C home > Mailing lists > Public > ietf-dav-versioning@w3.org > January to March 2001

Option abuse

From: James J. Hunt <jjh@allerton.de>
Date: Sun, 04 Feb 2001 02:47:27 +0000
Message-ID: <3A7CC2BF.50AC038@allerton.de>
To: ietf-dav-versioning@w3.org
CC: reuter@ira.uka.de
Dear Colleagues,

Several extension define a root set for their resources.  In the current
version, these are obtained via the options request, however this is not
the intent of options.  Options should be just tags that identify what
capabilities a server offers.

HTTP defines a special request URI---"*"---for making request of a
server instead of a particular resource.  By defining the following
resources as properties of a server, propfind could be used to query
their values:

    DAV:versionable-resource-collection-set
    DAV:version-history-collection-set
    DAV:workspace-collection-set
    DAV:activity-collection-set

For servers that do not allow new message to reference "*", then any
resource collection directly or indirectly contained in any of the above
variables should respond to the request.  I beleive there was some
object based on this kind of restriction. This solution does not have
any disadvantage that OPTIONS does not also have.

Here is an example.

>>Request

PROPFIND * HTTP/1.1
Host: www.webdav.org
Content-type: text/xml; charset="utf-8"
Content-Length: xxxx

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DAV:webdav-1.0 SYSTEM
"http://www.webdav.org/dtd/deltav-0.12.dtd" !>
<D:webdav xmlns:D="DAV:">
 <D:propfind>
  <D:prop>
   <D:prop-key name="DAV:versionable-resource-collection-set"/>
   <D:prop-key name="DAV:version-history-collection-set"/>
  </D:prop>
 </D:propfind>
</D:webdav>

>>Response

HTTP/1.1 207 Multi-Status
Content-Type: text/xml; charset="utf-8"
Content-Length: xxxx

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DAV:webdav-1.0 SYSTEM
"http://www.webdav.org/dtd/deltav-0.12.dtd" !>
<D:webdav xmlns:D="DAV:">
 <D:multistatus>
  <D:response>
   <D:href>http://www.webdav.org</D:href>
    <D:propstat>
     <D:prop>
      <D:prop-value name="DAV:versionable-resource-collection-set">
       <D:href>http://www.webdav.org/public/projects</D:href>
       <D:href>http://www.webdav.org/users/projects</D:href>
      </D:prop-value>
      <D:prop-value name="DAV:version-history-collection-set">
       <D:href>http://www.webdav.org/public/archive</D:href>
       <D:href>http://www.webdav.org/users/archive</D:href>
      </D:prop-value>
     </D:prop>
     <D:status>HTTP/1.1 200 OK</D:status>
    </D:propstat>
  </D:response>
 </D:multistatus>
</D:webdav>

Sincerely,
James J. Hunt
Jürgen Reuter
Received on Saturday, 3 February 2001 21:00:32 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 13:57:40 GMT