Vista, Samba and WebDAV

This last weekend I had the pleasure of migrating a client to Samba with the requirement that I expose their new file server using WebDAV. Should be no problem, right? Well, thanks to Samba and the open source project Davenport, the server side wasn’t so bad.

But getting Vista to work with our new WebDAV server–well that was another story. But to be fair, not all the blame lie in Vista–just most of it.

For starters, I initially attempted to proxy davenport with an Apache server. I have a number of good reasons for wanting to do this, but unfortunately, I ran into a nasty issue with Apache re-encoding URLs in it’s proxy requests resulting in things like %2520 in the URL being passed to Davenport (note that it was suppose to be %20, but Apache encoded that into %2520, which is incorrect and would require Jetty to decode twice). So I scrapped Apache for now.

Next, I moved onto getting a WebDAV folder working. Unfortunately, at this point, I’m unable to get Vista to map a network drive to my new WebDAV server. Apparently, Vista tries to walk the URL from the root to the sub-folder you are trying to map to. Davenport’s root folder presents a view of the Workgroup/Domain that it is browsing, so I’m not sure it’s what Vista was expecting. I downloaded the Davenport source and put in a hack for now to essentially bind Davenport to a specific machine at the root. But alas, the network drive mapping still doesn’t work. I continue to get the infamous 67 error when I try to map it.

So I moved onto adding a network location. This works, but the user experience sucks. For whatever reason, Microsoft removed double-click functionality when browsing the WebDAV folders. You have to right-click to open anything. Why Microsoft, why?

This prompted me to download a trial of WebDrive and so far it seems really cool. I did have it freeze up my machine a few times. It appears it may have something to do with NOD32. We’ll see how it goes over the next few weeks and I’ll report back.

One of the highlights of WebDrive is the ability to cache small writes, Microsoft Office temporary files and even take content offline. These are nice features for the road warrior and translate to a superior document editing experience.

When I have some time, I’ll post back with the details on my configuration and how I went about configuring a Samba PDC with WebDAV support. I also plan to dig into the Daveport code. The project seems to have stagnated a bit. For starters, I would like to see if I can update it to support the latest version of JCIFS. In addition, I’d like to get it working behind an Apache server.