Forum OpenACS Q&A: ANN: Project to build tDAV - WebDAV for AOLserver - and its integration with OACS
The approach for the WebDAV tool for AOLserver will be to build off the work initiated by AOL to develop a Tcl-based WebDAV module that leverages tDOM, the high-performance XML parser with extensive Tcl APIs. Given tDOM's design and performance, we expect this WebDAV approach to provide better than acceptable performance as well as easier maintenance and extensibility.
In addition, this approach will provide easier development of specific WebDAV APIs required for integration with the OpenACS. We will perform parallel development of tDAV and OpenACS integration, ensuring that everything will be straightforward and intuitive for future WebDAV enabled packages and modules.
Our approach for OpenACS integration will be to provide access from tDAV to the OpenACS Content Repository. We will design an ACS Service Contract that can be used to WebDAV-enable any OpenACS module or service. As an example project, we will WebDAV-enable File Storage solving one of Sloan's problems immediately.
The developers of this project will be two members of the OpenACS community and experts in the required fields of development. Todd Gillespie performed the development of nsdav, the aforementioned project to port Apache's moddav to AOLserver. Todd will be responsible for developing tDAV. Dave Bauer is one of the leads in the OpenACS' project to build a new content management system and is the maintainer of the ACS Content Repository. Dave will be responsible for integrating tDAV with the OpenACS and developing the DAV ACS Service Contract.
Another aspect of this project will be to improve the File Storage module for dotLRN and OpenACS. From Musea's discussions with various users of the File Storage module, it has become clear that its main obstacle to its greater use is a poorly designed and implemented user interface. As a result, an important aspect of this project is a usability study. This study will result in the File Storage Usability Report that will guide the development of a better user interface as well as the proper implementation approach.
Our resulting work on File Storage will serve as a model case for enabling packages to use the WebDAV service.
We expect that development and deployment can be accomplished within 6 weeks from the start of coding as design has already been well thought out. This timeline is subject to change.
We have yet to work out our policy in sharing code during the project but don't expect there to be any problem if people would like to see it in pre-release stage. This is subject to project contraints and developer's discretion.
The full proposal, with technical design details and preliminary development timeline, can be found here
One question - Did DaveB insist that the module be named after him? The ego on that guy...
That is excellent news!. Please contact Mark Aufflick he has done some WebDAV development.
yeah, the UI of file-storage is quite poor, I'm looking forward to see your File Storage Usability Report.
tDAV supports all methods in RFC2518, which is all the methods in WebDAV except the recent additions to versioning. In testing the error cases, it passes all tests in the litmus test suite, minus one Unicode problem.
For authentication, we are using nsperm, and are writing some admin functions to tie into the OpenACS user auth system.
It currently only integrates with Dave Bauer's oacs-dav package (for the OACS file-storage module), but it is being generalized to allow other backends to add DAV access as well.
You can get the sources from CVS via:
cvs -d:pserver:mailto:firstname.lastname@example.org:/museatech/cvs login
cvs -z3 -d:pserver:mailto:email@example.com:/museatech/cvs co tDAV
...or wait a few days for a tarball with documentation.
I will be working on condensing these notes into a more formal report in the coming week, but this is an initial view for the curious.
If anyone has any comments, please feel free to scream them.