wissel.net

Usability - Productivity - Business - The web - Singapore & Twins

It isn't a standard if it isn't broken. Today: webDAV


In my last life I worked on a Tomcat servlet that allowed to access Domino resources using webDAV. With XPages and the arrival of a decent J2EE stack on Domino I saw a great opportunity to fold that servlet into an XPages extension. This proved to be rather easy. One still extends javax.servlet.http.HttpServlet and adds a plugin.xml that can be as easy as
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
    <extension point="org.eclipse.equinox.http.registry.servlets">
          <servlet alias="/files" class="com.ibm.xsp.webdav.WebDavServlet" />
    </extension>
</plugin>
Why webDAV and not something more modern like CMIS? Simple answer: lack of File system support for the later. CIMS requires a plug-in on a client machine to make a CIMS server look like a file system, I'm not aware of any file system plug-ins available yet. Libraries or application - yes, but nothing is visible on the file system. webDAV on the other hand has been supported on Mac, Linux, Unix and Windows for a long time efficiently. So I thought. Having mostly Mac and Linux at home my tests looked promising. However Microsoft broke the webDAV redirector and the web folders in Windows. This is quite surprising since webDAV was/is in use in both Microsoft Exchange as well as in Microsoft Sharepoint (via IIS) but not without trouble. While poking around I learned a thing or two:
  • webDAV works as designed on Linux and Mac. It needs special care on Windows
  • For Vista and XP you need to install a patch provided by Microsoft
  • There is nice summary how to connect on webdavsystem.com who also make tools to get the Windows webDAV experience up to par with the Linux or Mac functionality
  • Windows XP has trouble to connect to anything but port 80 and you still want to include :80 in the connection URL. SSL without the patch won't work
  • Windows 7 tries to use digest authentication by default. Big issue for Domino unless you use Puakma SSO or PistolStar
  • Basic authentication is off by default, but might be on for SSL if you have Sharepoint installed. Using a DWORD registry key you can change the behaviour: 0=off, 1=on for https, 2=on for http/https HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \services \WebClient \Parameters \BasicAuthLevel for Windows 7 and Vista. Vista still might screw it up. For Windows XP and Windows Server 2003 use HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services \WebClient \Parameters \UseBasicAuth
  • Explorer tries in every folder to read the desktop.ini file. So you either end up with a lot of 404 errors in your log or provide one for your folders which you can customise
As usual YMMV

Posted by on 21 June 2011 | Comments (1) | categories: Software

Comments

  1. posted by Nathan T. Freeman on Tuesday 21 June 2011 AD:
    Which plugin.xml are you modifying? Is that extension declared in the servlet itself?

    I'm wondering whether you could modify the plugin.xml of an actual NSF and define a servlet alias there, too.