BaseX offers access to the databases and documents using This page presents one of the [http://en.wikipedia.org/wiki/Webdav WebDAV[Web Application]] protocolservices. WebDAV provides convenient means It describes how to access and edit XML documents by representing BaseX databases and documents in use the form of a WebDAV file system hierarchyinterface.
==Starting BaseX offers access to the databases and documents using the [https://en.wikipedia.org/wiki/Webdav WebDAV==] protocol. WebDAV provides convenient means to access and edit XML documents by representing BaseX databases and documents in the form of a file system hierarchy.
The WebDAV implementation of in BaseX is provided by a module (servlet) which runs in the BaseX HTTP server. Please check based on the [[Startup#BaseX HTTP Server|Startuphttp: BaseX HTTP Server]//milton.io Milton library] page for details on how to start the HTTP Server. The WebDAV service can either use the local databases or connect to a remote BaseX ServerCurrently, as described in the [[Startup_Options#BaseX_HTTP_Server|startup options]] pageonly Basic Authentication is supported.
==Accessing WebDAV=Usage=
The By default, the BaseX HTTP server makes the WebDAV Server service accessible at {{Code|http://localhost:8080/webdav/}}. If no default credentials are specified, they will be requested by the client ([[Web Application#User Management|see further]]). It can be accessed using by either with a <code>http://<httphost>:<httpport>/webdav/</code> or <code>webdav://<httphost>:<httpport>/webdav/</code> URL, depending on the used your WebDAV client. By default, afterstarting the HTTP server, the following URL will be provided: <code>http://localhost:8984/webdav/</code>.
==Authorization==The BaseX WebDAV Server uses Please note that the database user credentials in order to perform authentication and authorisation. Howeverfile size of XML documents will be displayed as 0 bytes, as the actual file size can only be determined if database user the full document is being returned and password are explicitly specified when starting the BaseX HTTP Server using the corresponding [[Startup_Options#BaseX_HTTP_Server|startup options]]serialized. This may cause problems with some WebDAV clients (e.g., then the WebDAV Server will not request user authentication from the clientNetDrive or WebDrive).
==WebDAV Clients=Authentication=
===Oxygen===* Choose <code>File -> Open URL...</code>.<br/>[[File:Webdav-oxygen01.png]]<br/><br/>* Enter The WebDAV service uses the corresponding database user name credentials to perform authentication and password (if needed), authorization. A default user can be defined in the URL of the BaseX WebDAV Server, and then click "Browse".<br/>configuration [[File:Oxygen02.pngWeb Application#Authentication|as described here]].
=Root Directory==Windows Explorer===* Open "Map network drive..." by right-clicking on "My Computer" and click on "Connect to a Web site that you can use to store your documents and pictures."<br/>[[File:Webdav-explorer01.png]]<br/><br/>* Click "Next", select "Choose a custom network location" and click "Next" again.<br/>[[File:Webdav-explorer03.png]]<br/><br/>* Enter the URL address of the BaseX WebDAV Server and click "Next".<br/>[[File:Webdav-explorer04.png]]<br/>If a message saying that the folder is not valid, this is because Microsoft WebClient is not configured to use Baseic HTTP authentication. Please check [http://support.microsoft.com/kb/928692/en this Microsoft article] in order to enable Basic HTTP authentication.<br/><br/>* Enter a name for the network location and click "Next".<br/>[[File:Webdav-explorer06.png]]<br/><br/>* The BaseX WebDAV can be accessed from the Explorer window.<br/>[[File:Webdav-explorer07.png]]<br/>
In the WebDAV root directory, all existing databases are listed. As new resources can only be stored inside a database, it is not possible to store files in the root directory. If a file is copied on top level, a new database will be created, which contains this resource. =Resources= =Linux=XML Documents== Uploaded files that start with an angle bracket will be stored as XML files. XML entities will be decoded during this process. If a file is downloaded, the characters with the following code points will be encoded as entities: Konqueror * 160 (non-breaking space)* 8192–8207, 8232–8239, Dolphin8287–8303 (see [https://en.wikipedia.org/wiki/General_Punctuation General Punctuation]) ==Binary Files== If XML parsing files, Nautilusor if the first character of the input is no angle bracket, the file will be stored as binary resource. =Locking= The BaseX WebDAV implementation supports locking. It can be utilized with clients which support this feature (e.g. [[oXygen|oXygen Editor]]). [https://tools.ietf.org/html/rfc4918#section-6.2 EXCLUSIVE and OthersSHARED] locks are supported, as well as [https://tools.ietf.org/html/rfc4918#section-7 WRITE] locks. '''Note:''' WebDAV locks are stored in a database called <code>~webdav</code>. If the database is deleted, it will automatically be recreated along with the next lock operations. If a resource remains locked, it can be unlocking by removing the correspondent <code><w:lockinfo></code> entry. =WebDAV Clients= Please check out the following tutorials to get WebDAV running on different operating systems and with oXygen: * [[WebDAV: Windows 7|Windows 7 and up]]* [[WebDAV: Windows XP|Windows XP]]* [[WebDAV: Mac OSX|Mac OSX 10.4+]]* [[WebDAV: GNOME|GNOME and Nautilus]]* [[WebDAV: KDE|KDE]]* [[Integrating oXygen|oXygen Editor]] =Changelog= ;Version 7.7* Added: [[#Locking|Locking]] ;Version 7.0* WebDAV API introduced