WebDAV Interface

From LogicalDOC Community Wiki
(Redirected from WebDAV)
Jump to: navigation, search

WebDAV

Starting from version 4.0 LogicalDOC will offer a new and Amazing access interface.
We are working to make available in the Open Source (LogicalDOC Community Edition) a WebDAV interface.

This interface is a Great Contribution provided by Sebastian Wenzky many thanks to him.

Currently the following methods are implemented:

CREATE DOCUMENTs
CREATE FOLDER
RENAME FOLDER
RENAME DOCUMENT
DELETE DOCUMENTs
DELETE FOLDERs
COPY DOCUMENTs
MOVE DOCUMENTs

// Future methods
(currently not supported)
COPY FOLDER
MOVE FOLDER

The connection address (in a LogicalDOC 4.x/5.x installation) is as follows:
http://localhost:8080/logicaldoc/webdav/store

user/pass: admin/admin

you can download the latest LogicalDOC CE (WebDAV enabled) from SourceForge at the following address:
https://sourceforge.net/projects/logicaldoc/files/latest/download


Versioning:
Option available from LogicalDOC 4.6.
The ability to keep versions of documents depends largely on the WebDAV client used. In particular it is necessary that the client properly supports the update method.
Currently, the only client tested that supports correctly this statement appears to be WebDrive (as of Jenuary 2010).


Being defined:
available methods:
CHECKOUT


What is the WebDAV

Web-based Distributed Authoring and Versioning is an extension to HTTP allowing users to remotely manage and edit files on WWW servers. These files could be shared by these users and/or they can work upon them collaboratively.

The main feature is that you can create, change and move documents on a remote server which is generally a web server or a so called "web share". You can mainly use it for authoring (as the name suggests) the documents on the web share but also for sharing large files that can be accessed from anywhere making it an online storage unit so to speak.

Features

Other features of WebDAV protocol are:

  1. locking (overwrite prevention),
  2. properties (creation, removal, and querying of information about author, modified date, etc.),
  3. name space management (ability to copy and move Web pages within a server's namespace) and
  4. collections (creation, removal, and listing of resources).

WebDAV is supported built-in by major Operating systems.

RFC standard number is 2518: http://www.ietf.org/rfc/rfc2518.txt


Mounting/Opening a remote folder on a local machine

You can mount a remote share on the local machine and work on it as if it is a local folder.

The easiest way to use the features offered by the WebDAV protocol is to use an advanced client software as NetDrive or WebDrive (the latter properly support the update method and thus retaining the document versions).
On YouTube you can see a video demonstration on configuring and using a commercial webdav software client with LogicalDoc.


Il metodo più semplice di utilizzare le funzionalità offerte dal supporto al protocollo webdav è quello di utilizzare un software client avanzato come NetDrive o WebDrive (quest'ultimo supporta correttamente il metodo update e ciò consente di mantenere il versionamento dei documenti).
Su YouTube potete consultare un video dimostrativo sulla configurazione e l'utilizzo di un software commerciale con LogicalDOC.

MS Windows

This is dependent on what update level you are on windows. Please refer to the following article for more information:

http://support.microsoft.com/kb/892211
http://www.microsoft.com/downloads/details.aspx?FamilyId=17C36612-632E-4C04-9382-987622ED1D64&displaylang=en

Basic Directions

IE supports this feature since Win98. Go to File menu -> click on Open -> check the box "Open as Web Folder" and provide the URL. E.g. (for Zimbra Briefcase) http://<servername>/dav/<username(without domain)>/Briefcase

If the above doesn't work there is a workaround for it in which case you have use the following link:

http://user@domain.com:80/dav/<username(without domain)>/Briefcase

Another way to implement this is to "Map it as a network Drive/Location" aka Windows Explorer mount:

  1. Goto the "Add Network Location Wizard" from the control panel (there are multiple ways of accessing this and also varies based on version of MS windows).
  2. Select "Choose a custom network location" and then press Next.
  3. Enter the URL: http://<servername>/dav/<username(without domain)>/Briefcase and then click Next.
  4. You will be prompted for a username/password. Enter your credentials.
  5. Then type in a Name for the Network location and you are done. You can access the Briefcase from this location.

Win2K, WinXP, Win2K3 Notes

For implementation of WebDAV on Windows XP and later , MSFT made it's own interpretation of the standard to work best with the Windows IIS servers. The problem due to this is three fold:

  1. Windows XP authenticates users using the format "domain\username" by the mechanism of "Microsoft-WebDAV-MiniRedir/5.1.2600". Whereas Windows 98SE/2000 authenticates users as "username" using the mechanism of "Microsoft Data Access Internet Publishing Provider DAV 1.1".
  2. The problem lies with the implementation of "Microsoft-WebDAV-MiniRedir/5.1.2600". If authentication is sent as "domain\username" then it would be received as "usernamedomain" or "usernamehostname" by the Web server and not as "username".
  3. Also as per "Microsoft Knowledge Base, Article ID: 841215" Windows XP disables "Basic Auth" in its "Microsoft-WebDAV-MiniRedir/5.1.2600" mechanism by default for security reasons. But WebDAV expects "Basic Auth".

The standard way to connect to a WebDAV folder looks something like "http(s)://<servername>/dav". However, a due to a bug in Win XP, this would be interpreted as a M$ network drive/SMB server.

So the solution is to trick Windows XP:

  1. Force Windows XP to use the stable "Microsoft Data Access Internet Publishing Provider DAV 1.1" mechanism instead of "Microsoft-WebDAV-MiniRedir/5.1.2600".
  2. Make Windows XP internally only send username and password and not the domain. [This can be done using the old Windows 2000 WebDAV driver that is present in all Windows XP machines.]
  3. Force Windows XP to authenticate using "Basic Auth".
  4. Prevent XP to interpret "http(s)://<servername>/dav" as a M$ network drive/SMB server.
Procedure for XP
1. Find the file called "webfldrs.msi", normally under "\WINDOWS\SYSTEM32\". Incase Windows XP Service Packs are installed then the same can be found under "\WINDOWS\ServicePackFiles\i386\".
1a. Run "webfldrs.msi". 
1b. Click on "Select reinstall mode".
1c. Uncheck "Repair all detected reinstall problems". 
1d. Check "Force all files to be reinstalled, regardless of checksum or version".
1e. Check "Verify that required user registry entries are present".
1f. Check "Verify that required machine registry entries are present".
1g. Check "Validate shortcuts".
1h. Press OK and REINSTALL 
2. Modify the Windows registry "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters" and add a new value "UseBasicAuth". 
2a. Choose "Run" in the start menu and type: "regedit" 
2b. In the registry-editor go to "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters"
2c. Right click into the right field and choose "New" from the context-menu. Choose "DWord-Value".
2d. Name the new value "UseBasicAuth".
2e. Right click on "UseBasicAuth" and choose "Modify".
2f. Change the value "0" (disabled) to "1" (enabled) and click "OK"

Then open in IE or mount it as a network location as discussed in the basic directions above.

WinVista Notes

Your Operating System Windows XP or Vista should already have the support for the Web Folder. If not, you must download and install the software update for Web Folders (KB907306) at this link:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=17c36612-632e-4c04-9382-987622ed1d64 .

Windows 7 Notes

In order to use WebDAV on a computer running Windows Vista or Windows 7 you must install Microsoft's Software Update for Web Folders.
You can download this from the Microsoft Download Center at: http://www.microsoft.com/downloads/details.aspx?FamilyId=17C36612-632E-4C04-9382-987622ED1D64.

Procedure for Windows 10
1. Choose "Run" in the start menu and type: "regedit" 
2. In the registry-editor go to "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters"
3. Right click on "BasicAuthLevel" and choose "Modify".
4. Change the value "0" (disabled) to "2" (enabled) and click "OK"
5. Restart Windows

Commercial Software

The easiest way to use the features offered by the WebDAV protocol is to use an advanced client software as NetDrive or WebDrive (the latter properly support the update method and thus retaining the document versions).
On YouTube you can see a video demonstration on configuring and using a commercial webdav software client with LogicalDoc.

Linux

Nautilus This is the easiest way of opening up a WebDAV folder in an Explorer/MAC kind of a view. All you have to do is goto and then provide the below link and press enter.

http://<servername>/dav/<username(no need for specifying domain>/Briefcase

The Briefcase will open up in a new window.

Cadaver

Another great utility is Cadaver, its a simple CLI based tool (that works similar to ftp) for WebDAV. You need install the cadaver package or RPM for this. Then goto the command line and type this:

  1. cadaver http://<servername>/dav/<username(no need for specifying domain>/Briefcase
  2. It will prompt you for username and password and after successful login it will then give you the dav prompt
  3. help command will give you all the commands available at your disposal.

Mount as local folder

This could be one of the most popular way of using WebDAV wherein you can mount the remote folder on a local folder just like any other NFS share. This involves installing a few of the following rpms that provide the functionality for supporting "davfs2" filesystem type. Once these are installed and all dependencies resolved, you can use the following command to mount your briefcase and work as if it is a local folder:

mount -t davfs http://<servername>/dav/<username(no need for specifying domain)>/Briefcase /<path to mount>

RPMS to install (kindly ensure the RPM architectures - whether its 32bit or 64bit for your system:

davfs2-1.2.2-4.el5.rf.i386.rpm
lwp-1.11-1.i386.rpm
lwp-devel-1.11-1.i386.rpm
rvm-1.9-1.i386.rpm
rvm-devel-1.9-1.i386.rpm
rvm-tools-1.9-1.i386.rpm
ncurses-5.5-24.20060715.i386.rpm
ncurses-devel-5.5-24.20060715.i386.rpm
rpc2-1.21-1.i386.rpm
rpc2-devel-1.21-1.i386.rpm
neon-0.25.5-5.1.i386.rpm
neon-devel-0.25.5-5.1.i386.rpm

Then "fuse" or "coda" kernel modules or both, you can obtain the latest packages from sourceforge. I have tested this on the following:

fuse-2.7.3.tgz
coda-server-6.0.5-1.i386.rpm
coda-client-6.0.5-1.i386.rpm
coda-backup-6.0.5-1.i386.rpm

This didn't work on a few of the test systems running RHEL4 U4 & U5 and RHEL5. I am getting down to the cause for this and will update this page as soon as I have any updates.

Ubuntu

To be able to use this on Ubuntu, you have to install the package davfs2. This can easily been done with the command:

apt-get install davfs2

However, you are now able to mount it, but you will not be able to write to the Briefcase. See this guide for now on how to solve this.

Mac

Mount in Finder:

http(s)://SERVER/dav/USER
You can also access the webdav mount over the CLI.  See 'man mount_webdav' for details.  Just mount it and use it like any other mounted volume.

Notes: If trying to mount against a box with more than one domain it often helps include @domain It's %40 is the encoded form of the @ sign:

http(s)://SERVER/dav/USER%40DOMAIN

Mac OS X 10.4: How to prevent .DS_Store file creation over network connections