RE: Dependant Document and Properties

Hi Michael,

> Is there a manner in which one can enforce a link between a document and
> its Properties in a WebDAV server implementation?
>
> If there is a  rule that every document created or edited needed to have
> a user defined property how might one go about enforcing this through
> the separate PUT and PROPPATCH requests?
>
> Any Suggestions would be greatly appreciated

Well, in a server implementation, it would be relatively straightforward to
have specific properties set on a resource when it was created, or when it
was updated using PUT. In the PUT handling code, you would add a call to set
some properties.  Of course, this only works for computable properties -- if
the user needs to enter the property, then the server cannot help.

From the client side, achieving this result is a little more tricky.  To
achieve this result, I would take out a lock on the resource, write its
contents, write the property, then unlock.  If you wanted to add this
property capability for a third-party client, like Word, then you're
currently out of luck.  If you had a lot of control over the user
environment, you could create a helper application that received a message
from the server when a document was written, and would then query the user
for the property value.  But, such a custom approach tends to reduce the
value of using a standard like WebDAV.

However, this is the second or third time I've heard this feature request.
It makes me wonder whether it would be useful to define an HTTP response of
something like "OK, properties requested" to be used by responses to PUT.
The response would include a list of properties the user agent should
request of the operator (assuming there is an operator).  A client would
then ask the user for the property values, and then submit them in a
separate PROPPATCH request.  No guarantees the PROPPATCH will ever occur,
but at least a mechanism would exist for the server to request this
information from clients.

- Jim

Received on Thursday, 28 September 2000 20:31:07 UTC