In my post about Rapid Prototyping, I wrote about my experiments in Python. One of the reasons I chose Python was it’s support for WebDAV:
Python has WebDAV support that I understand and can leverage
Well, unfortunately, I have to blame Microsoft again. I had a working script that ran just fine, with only the WebDAV part of the project missing. The idea basically was to use
PROPPATCH on a WebDAV store to update some properties of a bunch of documents.
As a good programmer, I just wanted to test the critical part of this WebDAV stuff in a small test script. I came up with the correct request, throw it into my script and ran it:
PROPPATCH /docs/myfile.doc HTTP/1.1Host: www.contoso.comContent-Type: text/xmlContent-Length: XXXTranslate: F <?xml version="1.0"?><d:propertyupdate xmlns:d="DAV:" xmlns:o="urn:schemas-microsoft-com:office:office"> <d:set> <d:prop> <o:Author>jr</o:Author> <o:Title>An Experiment in WebDAV</o:Title> </d:prop> </d:set></d:propertyupdate>
But no: this silly IIS threw back the following response:
Status: 400 Bad Request
A frustrating hour and many searches later, I finally came to the conclusion that IIS’s WebDAV support in this particular case (SharePoint Portal Server 2001) does not contain
PROPPATCH support. Füdle!
Sorry pals, but I blame you again! Why can’t you just do stuff right? You have a whole framework that let’s you do update of properties and the like with native methods. You have support for many WebDAV methods. Why can’t you just combine the two, as every sane person would do?[^1] Why can’t you just let me do my stuff right? Why not?
Fortunately, using WebDAV isn’t the only reason why I use Python on this project. The work isn’t void but I’ll have to return to COM/ActiveX for the actual updating of the properties I have to change.
Btw, here’s how to do it right (Documentum WebDAV Services)
WebDAV Services – Provides standards-based access to Documentum through the Web Distributed Authoring and Versioning (WebDAV) protocol. WebDAV Services enables users to access, create, and manage Documentum folders and content directly from popular desktop applications that also support WebDAV. This includes applications such as Adobe Photoshop and Illustrator, Microsoft WebFolders, and Apple Mac OS/X DAVLib.
[^1] I spent some thinking on the “why not”. The most plausible reason is: They don’t want people to access their data store in SharePoint from non-Windows boxes. Not supporting write access via WebDAV efficiently renders SharePoint useless except for data-mining and such stuff. Very interestingly, the Exchange Store in it’s latest incarnation supports
PROPPATCH for Public Folders and the like.