PHP WebDAV integration library

I recently started writing a WebDAV integration library for PHP.

WebDAV is a nasty beast for a number of reasons, but its a great tool to integrate your existing web infrastructure with a Desktop filesystem. WebDAV is built into every modern operating system since years, but I think the biggest reason we haven’t seen a lot of adoption is because of the difficulties with implementing it.

I intend to make this library as easy as possible to use, without making it a black-box-like system. Focus will not be on everything WebDAV could possibly provide, but instead on the features that are actually supported by the operating systems.

Implementing WebDAV will become as simple as creating an implementation of an abstract ‘Directory’ and an abstract ‘File’ class.

I’m kind of debating on the following two questions, perhaps a smart reader can comment on these…

  1. WebDAV supports custom properties, and in order to make the Server fully webdav-compliant, it should support these. I'm going to make this an optional feature, but, should this happen on:
    • A File level with a custom interface.</a>
    • Or a global 'Property manager'
    Reason I'm asking, is because while I was working on the sample implementation, it will not be easy to attach custom properties to physical files. Perhaps I should go for a combination of both?
  2. Same question goes for locking of files and directories. Does it make more sense to have a global Lock manager, or should this implemented on a per-file-class basis?

The project is up on Google Code hosting, and I opened up a discussion group as well. If you feel like helping out, or contributing please drop a line there! I’ll be needing people writing docs and tutorials, testers, coders and somebody who has some designing skills (no, it’s not just a logo, we’re actually going to put down something cool..). If required, you can also contact me directly.