Subject: RE: Issue: WRITE_DAV_PROP

From: "Clemm, Geoff" <[email-masked]>
Date: Sun, 15 Apr 2001 16:50:17 -0400

From: Greg Stein [mailto:[email-masked]]

   I'm also a bit leery of the getcontentlanguage and getcontenttype
   being a MUST. I'd prefer those be a MAY, and displayname and source
   remain as MUST.  The basic problem with the language/type is
   needing to look them up for each GET from the server. That can
   seriously impact server performance.

Another client might have deleted the resource and created a new one
in the same location
(with different contentlanguage and contenttype) between the two
GET's, so whether or not getcontentlanguage and getcontenttype
or mutable is irrelevant for this issue, isn't it?

Cheers,
Geoff

---

From: "Jim Whitehead" <[email-masked]>
Date: Mon, 16 Apr 2001 10:14:56 -0700

> or mutable is irrelevant for this issue, isn't it?

My understanding is that some servers calculate the GET response
Content-Type on the fly, often by examining the filename extension. If,
instead, you need to substitute a database read to retrieve the
getcontentlength property value (which would be necessary if the
getcontentlength property was writeable), this would presumably have a
negative effect on GET performance as compared to calculating the
Content-Type on the fly.  Since GET is by far the most commonly called
method, implementors are typicaly loathe to impact GET performance.

So, Greg, what does mod_dav do with the Content-Type submitted with a PUT?

- Jim

---

From: "Jim Whitehead" <[email-masked]>
Date: Mon, 16 Apr 2001 12:20:48 -0700

Let me see if I can summarize the points of consensus on this issue:

Consensus:

- protected (i.e. properties that MUST NOT be modifiable with PROPPATCH)
  creationdate
  getcontentlength
  getetag
  lockdiscovery
  supportedlock
  resourcetype

- not protected (i.e. properties that MUST be modifiable by PROPPATCH)
  displayname
  source

Still under discussion:

  getlastmodified
  getcontenttype
  getcontentlanguage

There are two open issues:

1. Changing get* properties requires the server to perform a property lookup
when processing a GET method request, and this is a performance hit for some
servers.

2. It is unclear why getlastmodified needs to be writeable.

Let's see if we can resolve these remaining issues over the next 1-2 days,
so we can wrap this one up.

- Jim