SoC WebDAV API

From GeeklogWiki
Revision as of 04:39, 8 March 2007 by Blaine (talk | contribs)

Jump to: navigation, search

Parent Page: Google Summer of Code

What is WebDAV?

Web Distributed Authoring and Versioning (WebDAV) is a standard that has been developed by the Internet Engineering Task Force (IETF) to allow collaborative authoring of Internet based content. It is based on the widely used HTTP protocol and specifies both new HTTP methods and modifications to existing methods to enable the following:

1. Management operations including copy, creation, update, move, rename, delete and retrieval of content.

2. Storage and retrieval of content metadata.

3. Multiple users can access the same content in a safe manner by using a locking and unlocking mechanism to prevent updates from being overwritten by others.

These extensions allow interoperable publishing of a variety of content and provide a standard interface to various content repositories and make the Web analogous to a large-grain, network-accessible file system.

To learn more about the WebDAV standard, please go to www.webdav.org.

Project Overview

Create a WebDAV API that can be an interface to the WebDAV services controlling access to the site file resources using a local desktop client. A local desktop can map a local folder to the site WebDAV resources so a user can browse the available resources (files, content) and open or edit/update like a local file.

The API would grant access to site resources based on the users permissions and would proxy the requests so all view/write/delete operations are verified.

A number of defined resources folders would be defined as standard and then plugins could create new folders based on their resource type. API Calls need to be created to manage the Site WebDAV Resource Map.

Example Use

A site admin could edit config settings, edit site layout files using a local HTML editor. Edit site content locally - if a plugin stored content in files or possibly the content is served up out of the database using an API Service.

A Document Management Plugin could allow users to drag and drop local desktop files and they would appear in the Site File listing immediately. Editing and versioning documents would then be a done using local desktop app and not require the more complex Web Form to attach file and upload.

Clicking on a WebDAV file opens up the desktop app - the file name is a remote file URL. When you save the file again - its saved immediately back to the server.

Drupal and Gallery are examples of OpenSource Apps with WebDAV sub-projects.