This content is archived. See latest version here.

Last updated: Mar 25 2013

Note: This topic has no later version.

Table of Contents

Introduction

WebDAV is an extension of HTTP that allows for extended file handling. Moving from the read-only internet that first emerged into a read-and-write enabled web creates new needs. WebDAV meets those needs and provides a base for developers to extend the functionality of a site and its ease of use for an editor or administrator. In EPiServer CMS it is used to give easy access to files (such as Word documents, images, etc).

For more information about WebDAV, please visit WebDAV.org.

Important There are several issues and configuration parameters that may require modification for the built-in WebDAV clients in Windows to work properly with EPiServer CMS. Read the Configuring the Client section carefully.

Using WebDAV has the following advantages:

  • Easy file management
  • Support of drag-and-drop operations of groups of files with no need for extra components, in other words multiple file uploads

WebDAV opens up possibilities for developers to create their own add-ins with extended file handling capabilities, for example the following:

  • Providers that convert EPiServer CMS content into traditional files and back. This allows editors to use locally installed applications, such as Microsoft Word, to edit EPiServer CMS web content.
  • Providers for reports. The developer could create the possibility to provide data as Excel files.

Setting Up WebDAV in EPiServer CMS Running on IIS

Note These instructions assume that you are running EPiServer on IIS under �Integrated Pipeline Mode� which is the default mode for an IIS EPiServer installation.

Edit web.config and make sure it contains the sections outlined below (note that WebFolder is simply a suggested default, you may change this to another name).

  1. Find the element <sectionGroup name="episerverModules"> under the <configSections> node and make sure it contains the WebDAV definition as follows:
    XML
    <configSections>
     <sectionGroup name="episerverModules">
       <section name="webDav"
            allowDefinition="MachineToApplication"
            allowLocation="false"
            type="EPiServer.WebDav.Config, EPiServer.WebDav" />
      </sectionGroup>
    </configSections>
  2. Find the <episerverModules> node and make sure it contains a <webDav> subnode. In the WebDAV subnode, list the Virtual Path Providers that should be accessible via WebDAV. The following example exposes the Global VPP:
    XML
    <episerverModules>
      <webDav name="WebFolder">
          <provider
              name="Global files"
              type="EPiServer.WebDav.Provider.VirtualDirectoryProvider,
                    EPiServer.WebDav"
              virtualPath="~/Global/" />
       </webDav>
    </episerverModules>
  3. Find the <modules> node under <system.webServer> and add the <add> statement for WebDAV as follows (note that this statement should be entered after the UrlRewriteModule):
    XML
    <system.webServer>
      <modules>
        <add name="UrlRewriteModule"
             type="EPiServer.Web.UrlRewriteModule, EPiServer"
             preCondition="managedHandler" />
        <add name="WebDav" 
             type="EPiServer.WebDav.Module, EPiServer.WebDav"
             preCondition="managedHandler" />
      </modules> 
    </system.webServer>
  4. Find the <handlers> node under <system.webServer> node and add the <add> statement for WebDAV as follows:
    XML
    <system.webServer>
      <handlers>
         <!--Should have remove statement to avoid duplicate OPTIONSVerbHandler name -->
         <remove name="OPTIONSVerbHandler"/>
         <add name="OPTIONSVerbHandler"
              path="*"
              verb="OPTIONS"
              type="" 
              modules="ProtocolSupportModule"
              scriptProcessor=""
              resourceType="Unspecified" 
              requireAccess="None"
              allowPathInfo="false"
              preCondition="" 
              responseBufferLimit="4194304" /> 
         <add name="PROPFINDVerbHandler"
              path="*"
              verb="PROPFIND" 
              type="EPiServer.WebDav.Handler, EPiServer.WebDav"
              resourceType="Unspecified" 
              requireAccess="None"
              allowPathInfo="true"
              preCondition="" 
              responseBufferLimit="4194304" /> 
      </handlers> 
    </system.webServer>
  5. At the level directly below <configuration>, add a <location path="WebFolder"> element as follows:
    XML
    <location path="WebFolder">
       <system.webServer> 
           <handlers> 
              <add
                   name="wildcard"
                   path="*"
                   verb="*"
                   type="EPiServer.WebDav.Handler, EPiServer.WebDav" /> 
           </handlers> 
       </system.webServer>
           <system.web>
               <globalization
                   requestEncoding="utf-8"
                   responseEncoding="utf-8" />
               <authorization>
                   <deny users="?" />
               </authorization>
       </system.web>
    </location>
  6. If you want to use Basic Authentication to access data in the WebDAV folder, enable the BasicAuthentication HTTP module by adding it to the <modules> node under <system.webServer> section as follows:
    XML
    <system.webServer>
       <modules> 
          <add name="WebDav"
               type="EPiServer.WebDav.Module, EPiServer.WebDav" 
               preCondition="managedHandler" /> 
          <add name="BasicAuthentication" 
               type="EPiServer.Security.BasicAuthentication, EPiServer" 
               preCondition="managedHandler" />
       </modules>
    </system.webServer>
  7. You might be required to remove the native IIS WebDavModule (if it is enabled and you do not use it):
    XML
    <system.webServer>
      <modules>
         <remove name="WebDAVModule" />
      </modules>
    </system.webServer>

Configuring the Client

If you are experiencing problems connecting to an EPiServer CMS WebDAV folder from a Windows computer, make sure you have updated the WebFolder software to the latest version. The WebFolder update can be downloaded at Microsoft.com.

Note You may have to enable Basic Authentication handling for your WebDAV client in order to logon to an EPiServer CMS WebFolder. See Microsoft Knowledge Base article 841215 for information on how to do this in Windows. The information for Windows Vista also applies to Windows 7.

If the site is configured to use Windows Authentication the previous steps should not be needed.

Note If you are using Windows 7, Windows Vista or Windows 2003 Server as a WebDAV client, you need to disable locking support for these clients since the EPiServer implementation of WebDAV does not yet support locking.

To disable locking support for the client, follow these steps:

  1. Click Start and Run.
  2. In the Open box, type regedit and click OK.
  3. Locate and click the following registry key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
  4. Select Support Locking.
  5. On the Edit menu, click Modify.
  6. In the Value data box, type 0 and click OK.
  7. Exit Registry Editor, and restart the computer.
Tip If the client cannot access the WebDAV folder after configuration, try to make WebDAV use basic authentication without SSL by setting the value for the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel to 2.

Connecting to a WebDAV Share from Windows Explorer

Perform the following steps to map a drive to a WebDAV share:

  1. Open Windows Explorer and select Map Network Drive under the Tools menu option. The following window opens:


     
  2. Select a drive letter and enter the URL to your site followed by the name of the designated WebDAV folder (as shown in the screen shot above). Note that if you need to log on to the site using a different user name than the currently logged on Windows user, click Connect using a different user name and enter the user name and password.
     
  3. Click Finish. You should now have a new drive under the My Computer section in Windows Explorer that links directly to your shared folder (possibly protected by a login).
Note The Windows WebDAV client has a number of issues and you may experience problems while using the shared folder. Therefore, you may want to look into using a different client program, such as NetDrive (see below).

Connecting to a WebDAV Share Using a Third-Party WebDAV Client

Note The information in this section is only applicable if you are having problems with the built-in Windows WebDAV support. If not, there is no need to install and use NetDrive.

This section describes how to use EPiServer CMS WebDAV features from a third-party client, in this case exemplified with NetDrive.

NetDrive is a third-party WebDAV client, which is more compliant than the built-in Windows client. Download NetDrive and install it with the default options.

  1. Launch NetDrive from the Start menu and click the New Site button. The following window opens:


     
  2. Enter a name for the site (any name will do) and the URL to your site followed by the name of the designated WebDAV folder, as shown above. Click Finish. The following window opens:


     
  3. Clear the Anonymous/Public Logon check box, enter your user name and password and make sure that WebDAV is selected under Server Type. Click Connect and (possibly with some delay) the shared folder will be mapped and opened. It can then be found as a new drive under the My Computer section in the explorer.

Comments