Cover photo for post Webdav authentication, authorization and locking

Webdav authentication, authorization and locking

We just released the 2008.2 release of the eZ Components yesterday. This stable release received 6 months of care by the core developers and many contributors. Thanks to all of you for the great work!

The most significant features were added to the Document and Webdav components. In addition we have a brand new MvcTools component and many smaller features as well as bug fixes to other existing packages.

The Document component is intended to convert between many different document formats. It is now capable to convert from and to different Wiki dialects, DocBook XML, XHMTML, different eZ Publish XML formats and ReStructured Text. MvcTools is a component that supports you while writing a flexible MVC implementation for your own applications. It's not intended to be an MVC out of the box, but can be used like that to some degree.

My tasks for 2008.2 were dedicated to the Webdav component. This package allows you to easily integrate WebDAV access features into your applications.

With the earlier 2007.2 release, this component was born. By then, it supported just rudimentary WebDAV features (compliance class 1) and we focused on its architecture to make it as flexible as possible. It supported easy adjustment to the needs and incompatibilities of different clients and the possibility to use a custom back-end to server data from any kind of storage.

A drawback for a productive integration of Webdav into applications was, that you needed to take care for authentication and authorization yourself completely. This has changed with 2008.2. The component now allows you to easily integrate your applications authentication mechanism by implementing a proxy following certain simple interfaces. Integrating your permission database works pretty much the same.

A commonly requested feature for Webdav was to support locking. Especially important for large sites, where many users collaborate, we implemented this feature for 2008.2, too.

To add locking, a flexible plug-in API was thought out, which allows you, to enhance the Webdav component with custom functionality in an easy way. The lock plug-in is the first plug-in realized this way. It solves the lost update problem independent from the currently connected client independent from the back-end you use in your environment. That means, you can also use the lock mechanism with custom back-ends. In addition, you can simply leave out the somewhat complex lock stuff, with simply not using the plugin.

With lock support, the Webdav component now complies to WebDAV class 2 (and in many ways already to 3). If you want to know more about the component and see how you can integrate it, please refer to my article about Webdav on the eZ Components website, which was just released.

Comments

Hi Tobias,

I just want to say, that you guys at eZ are doing a really great job. It's the best and most useful ECMS system I ever used (and I worked with many different solutions).

I've never used eZ Components as stand alone solution for my application, but I think one of my next projects we'll be to have a closer look to eZC :o) (and to the MVC support)

Grats for this cool stuff, Greetings from Vienna, Mike

Mike at 2009-01-29

I am trying to run through the Ez Components webdav tutorial and have got the basic_server.php running on my server.

Maybe I am missing something here (my apologies if I am), but how does basic_server.php get started?

Also, what address should the webdav client connect to?

PS I am using lighttpd as my server and php 5.

D Jenkins at 2009-06-02

Hi!

The basic_server.php should actually be your index.php. Just access it under the URL where you stored that file. You should propably add rewriting from http://yourserver.com/some/thing to http://yourserver.com/index.php/some/thing.

For further support, please email the eZ Components mailinglist (components@lists.ez.no) or join our IRC channel #ezcomponents@Freenode.

HTH, Toby

Toby at 2009-06-02