Amaya

## Cooperating through WebDAV

### About WebDAV

WebDAV (WWW Distributed Authoring and Versioning) is a set of extensions to the HTTP protocol, which allows users to collaboratively edit and manage web resources on remote servers. It aims to extend the HTTP protocol to develop new distributed authoring tools in the web, specially emphasizing the collaborative authoring of web pages.

The lock mechanism defined in WebDAV has been design to prevent the resources overwriting (that is, to prevent the lost update problem) using the operations lock and unlock.

A lock controls the write access to a resource by limiting HTTP writing operations, like PUT, POST and DELETE. This means that only somebody who knows the lock will be able to execute those operations.

The WebDAV protocol also defines two lock scopes: an exclusive and a shared lock.

- An exclusive lock guarantees that one person possess the lock, and no one else will be able to lock the resource (it does not affect the resource reading).
- A shared lock allows a group of users to create their locks over a resource, but they must trust each other to prevent access problems. Besides, each lock has a timeout, but the user cannot forget that locks may disappear in the server due to exceptions in the server.

You can find more informations about WebDAV in RFC 2518 and also at the WebDAV.org website.

### WebDAV support in Amaya

Amaya has a limited support for WebDAV. This includes the following operations: lock/unlock a WebDAV resource, a toggle that shows when there is a lock, and a function to get the current lock information.

Besides, it also includes some awareness functions, that can automatically inform users about locked resources.

### Sharing documents

The WebDAV support in Amaya intents to help small groups of users to edit collaboratively their web pages.

To illustrate how it works, suppose that you have a WebDAV server (indeed, you must have a Web server that supports WebDAV to work with it) named `davserver.mycompany.com`, and you and your colleagues want to edit collaboratively some documents that are in the WebDAV folder `/shared/` (WebDAV folders are called collections).

So, imagine that you need to change the document `http://davserver.mycompany.com/shared/Doc1.html`.

- You load the document in your Amaya editor, and then you can lock this document (Lock resource entry in Tools/Cooperation menu.
- Once you locked the document, if one of your colleagues tries to save some change in this document, s/he will be warned about your lock, and updates will not be lost automatically.
- Thus, while the document is locked, you can safely modify it, and when you have finished your work and saved the document, you can unlock it, allowing you colleague to lock the document and do his/her modifications.

When loading a page from a WebDAV server, Amaya automatically informs about the lock/unlock status of the page.

### WebDAV options

The following options can be set with the Preferences / WebDAV dialog box.

User's personal reference (URL)
  An URL that identifies the user. Example: `mailto:myself@myhost.com` or `http://myhost.com/myhomepage.html`
Lock Depth
  If depth is infinite, a lock over a collection (folder) will affect all components. Otherwise, the lock will affect only the collection, preventing an user that does not know the lock to create or remove components.
Lock Scope
  The lock scope: exclusive or shared.
Lock Timeout
  The desired timeout for the lock. "Infinite" means that there is no timeout value, and "Other (Seconds)" will try to get a timeout value of x seconds (value x specified by the next field).
User's WebDAV Resource List (URL URL)
  A list of the URLs of the resources you use as WebDAV resources.