TclHttpd as WebDAV-Server

I just announced a running version of WebDAV-support for TclHttpd. (Stefan Vogel 28. July 2004)

For further infos, downloads and instructions have a look at http://www.vogel-nest.de (follow the link to WebDAV).

This page is provided for further discussion.

At the moment this software is pre-alpha-status. I did it as a fun-project. But when I have a look at it (especially how fast things develop ... at least when you have climbed the start-learning-curve) I see a lot of opportunities here.

E.g., TclHttpd is often used as an embedded web server in applications (because it is very small). So you can now easily provide WebDAV-support as well. With this you can also integrate your application easily in Konqueror (using "webdav:"-protocol-support) or Windows-Explorer/Internet-Explorer (with "Web folders").

BUT ... many features are still missing:

  • Currently only DAV 1 support (no LOCKing)
  • depth-header is silently ignored
  • No Versioning, ...
  • not tested with threading
  • what about Authorization?
  • handling of prefix-urls is not quite sufficient (for each module you have to define a "root"-folder)
  • ...

What are you missing?

SEH Looks nice, but the world is full of half-done WebDAV implementations. I hope you follow through and get this to a mature state, then you may really have something.

What advantage does WebDAV have over ftp in the area of file system mounting? Windows Explorer will mount an ftp site as well as a WebDAV site, and ::tcllib::ftpd is a mature package.

Arnaud Laprevote nearly mature, if you try to use tcl ftpd package with konqueror for having a vfs, it does not work because tcl ftpd has no PASV (passive mode). Sad. I worked on that, but I have a half solution for PASV in tcl ftpd. And I think the same problem will arise with Windows.

CMcC there's a free WebDAV test suite here: http://www.webdav.org/neon/litmus/ which might ease the development. I like that this suite has been integrated with TclHttpd.

Stefan Vogel SEH, you're half-right. There are way too much half-done WebDAV implementation (like this ;-). But in fact there aren't many WebDAV implementations anyway. I don't think that this will come to a mature state. Who ever runs TclHttpd ... do they really need a full-blown WebDAV-implementation integrated in that? When it comes to embedding a web server into an app (for what reason ever), maybe its worth thinking of adding WebDAV-support to get a more comfortable access to data. And its definitely worth adding ftp-access as well.

SDW You are a G0d. I'm in the middle of writing a web-based intranet using tclhttpd, mysql, and Odie, and I need a good way to sync with iCal. This package takes care of most of the bitch work. Thank you thank you thank you. Be prepared for a flood of patches as soon as I start playing with it though...

Stefan Vogel Oh wow! Thanks. You're welcome. Patches? Why? I don't make any mistakes ... I'm God! :-D Yeah! Sure. Patches, Feedback ... everything is extremely welcome!

VI 2004-08-02 : This is neat. I needed a way to get something easy going over ssh to be able to mount directories. FTP is a pain to do that. I haven't tried this out yet, but I'm sure it'll work.

VI 2004-08-08 : Not so enamoured anymore. I have to run on solaris. First I couldn't get tdom to compile. Then tried to install vfs and tclvfs doesn't have file distributions on SourceForge (there is CVS of course). Without vfs my windows machine does map the folder (after pausing for like 2 minutes), but then any operation gives an error.

Stefan Vogel 2004-08-10 Sorry to hear that. You should "slam" those tclvfs-guys for providing only windows-downloads. What do you mean with "without vfs". You don't have tclvfs installed?

AK: ActiveTcl is available for Solaris, and contains tdom, tclvfs, etc. On a general note, when encountering problems compiling an extension please report back to the people maintaining that extension. Without such a report they won't be able to help you.


LV The Activetcl team provides a service whereby they make available the latest cvs head of many different sf projects at ftp://tcl.activestate.com/pub/tcl/nightly-cvs/ . You should be able to get tclvfs there, if that project is using CVS. Make certain that if the latest tdom available doesn't compile on your particular solaris hardware/software/os combination that you report that to the tdom project as well. They've helped me get tdom compiled on my sparc solaris sun c compiler combo several times.