SabreDAV reaches 1.0

After lots of testing, coding and integrating SabreDAV in a few systems, SabreDAV has reached 1.0.

What’s that?

For those of you randomly stumbling on this blog, SabreDAV is a tool I’ve been working on to allow easy integration of PHP and WebDAV. While looking at WebDAV implementions out there for PHP, there weren’t really any standards-compliant and flexible solutions out there, so I decided to write my own.

Since then it has gained some popularity, and the beta version has been tested and implemented in a number of places. It’s open source (under the BSD license), so anybody can grab it and use it.

If you don’t really know what WebDAV is, it is basically a filesystem protocol that works on top of HTTP. By implementing WebDAV (or SabreDAV specifically) you are able to expose your web application as if it was a filesystem to the users. WebDAV is supported by any major operating system.

If you’re interested in SabreDAV, check out the example, or tutorial.

Changes

The last round of changes since 0.12.1 are mostly cleanups, but the most important are the following:

  • SimpleDirectory class
  • Authentication plugin is no longer included. The plugin was not yet production ready, and in order to allow myself to make API changes, I needed to remove it for 1.0. This does not mean you can no longer use the recommended way to implement authentication.
  • The unknownProperties event was removed, replaced by the afterGetProperties event (docs<).
  • Addition of more events for plugin writers.
  • Lots of cleaning up, unittests.

Full changelog and download.

Future plans

Although the 1.0 version should be a bit of a milestone, the release had actually been sitting ready for a while. So while 1.0 is cool and all, I’ve already spent a great deal of time implementing RFC 3744 a.k.a. ACL extensions for WebDAV. Support for ACL will be added as a separate module in the future.

While these changes are going on, no backwards compatibility breaking changes should be made to the API’s. For more details on the BC and versioning policy, check here.

Thanks!

It’s been a lot of hard work to get here, but seeing some uptake is very rewarding. I would probably have given up on this if it weren’t for the people asking questions, making suggestions and filing reports. Thanks for that, it makes it worth it!