RE: Questions/clarification on MKACTIVITY method

   From: Steve K Speicher [mailto:sspeiche@us.ibm.com]

   >A client with full activity support (i.e.  one that utilizes
   >MKACTIVITY) can use a DAV:activity-collection-set OPTIONS request
   >to determine where it can allocate activities.

   How is a client with full activity support intended to know what a valid
   activity name is without much trial-and-error?  I was hoping for
something
   like:
      MKACTIVITY * HTTP/1.1

It shouldn't require much trial and error.  You can just use some
GUID generator in the client to ensure that the activity name is
unique.

In general, there are multiple modules/servers that handle different
subtrees at a web site, and often the DAV module will not handle
"/", but rather some subtree such as "/dav".  Assuming that a request
to "*" gets handled by the module that handles "/", the 
MKACTIVITY request will not be understood.  In addition, if there
are multiple DAV modules handling different parts of the namespace,
each with its own activity store, it is important that the 
activity gets created in the right activity collection (not something
that can be inferred from "MKACTIVITY *".

   This way the client can programmatically maintain the activity
information
   and the end-user could perform simple routines like: "new activity" and
   "done with activity" without concern about coming up with a valid
activity
   identifier.

A client can simulate this behavior by using a GUID for the
name of a new activity (putting the activity in a randomly 
selected member of the DAV:activity-collection-set).

   >A request has to go to a particular resource, which is then
   >responsible for handling the request.  What would be the request-URL
   >of the MKACTIVITY method in this case?

   Since the client is already aware of the DAV/activity-enabled part of a
   URL, couldn't it be used without the additional activity location since
the
   activity location is not handled by a separate handler, right?

   So if the URL http://repo.webdav.org/test-23 and "/" is
   DAV/activity-enabled, then could the request be something like this?

      MKACTIVITY /test-23 HTTP/1.1
      Host: repo.webdav.org
      Content-Type: text/xml; charset="utf-8"
      Content-Length: long

      <?xml version="1.0" encoding="utf-8" ?>
      <D:mkactivity xmlns:D="DAV:">
	<D:activity-collection-set>
	   <D:automatic/>
	</D:activity-collection-set>
      </D:mkactivity>

   Is the additional XML really needed if the server would "assume" that the
   client meant for the server to specify the correct collection?

Yes, something like that would be just fine.  As far as I know,
the only argument against this was that this functionality was
not required since a client could just allocate a GUID for this
purpose, so the protocol is simpler without this option.

Cheers,
Geoff

Received on Monday, 12 March 2001 13:17:24 UTC