[Twisted-Python] twisted webdav server

hello twisted I've been lurking on this list of a couple of weeks now while getting accustomed to this wonderful framework, which I plan on using in my phd. project. I searched the archives for a webdav server implementation on top of twisted, and it looks like this is a topic that shows up every 6 months or so. But the only actual code is to be found here: http://article.gmane.org/gmane.comp.python.twisted/6068 It looks a bit half-baked and I'm having trouble in getting it to work. Is there anyone around with experience in twisting a webdav server? regards, stefan.

Hi, On Thu, 21 Oct 2004 18:09:04 +0200 you wrote:
I wrote WebDAV module for Tiwsted. http://akadama.jp/akadav.html But sorry english documents are not readly. I'll write them in a few days.

Yasushi Iwata wrote:
I wrote WebDAV module for Tiwsted.
Great, I just had a look at it. It seems to work well for serving a directory over webdav. However, I'm not quite sure how to adapt it to serve dynamic data from a database. I think I could refactor your WebDAV resource-class, so that it works with arbitrary backends. Basically I'd try to factor everything out that does explicitly deal with the filesystem. But in a way, that's what a twisted.web Resource is in the first place, no? Honestly, I'm a bit confused :) stefan.

But hey, keep it going; refactor, re-write, do whatever you want to, just get webdav into the standard twisted-package. That would be great!! And if one could serve data from a database, not just plain directories, that would be awsome !!! I'm jumping with joy!! ( Well, not really, but I'm really excited !! Web-dav is cool ) Thomas :-) On Fri, 22 Oct 2004 17:35:28 +0200, donfu <fu@donfu.com> wrote:
-- Mvh/Best regards, Thomas Weholt http://www.weholt.org

On Fri, 22 Oct 2004 12:31:57 -0400 Bob Ippolito wrote:
This particular package is not going to go into Twisted unless the license changes. LGPL is not compatible with MIT.
Some code of akaDAV were adapted from Twisted 1.3.0 which is distributed under LGPL, so I cannot change the lisence of akaDAV. I'm glad to change the lincense and contribute what I wrote to Twisted project. Should I rewrite all the code adapted from Twisted 1.3.0 to change the license?

Yasushi Iwata wrote:
Well, assuming the parts you adapted from 1.3.0 haven't changed much since, you could just take the changes between 1.3.0 and SVN HEAD, and say you adapted the code from the MIT-licensed source. If you had to copy a _lot_ of code from Twisted to your project, there's a totally different problem from licensing. Copy-paste coding is evil, and code duplication should be refactored out.

Mary Gardiner wrote:
I don't know the situation at all, but I have a LGPL licenced project that is so because I adapted code I copied from the documentation :(
Well, the code is in the docs in the MIT version, too. You just need to take your changes and apply them to a newer version of the code in docs.

On Sat, Oct 23, 2004, Tommi Virtanen wrote:
The full derivation tree is this: | -> Woven docs | -> my first change | -> my second change, a port to Nevow The Woven docs should be unchanged since the re-licence, but I'm unclear on whether that means I can MIT licence my code base, since I made derivations before the licence change. -Mary

On Sat, 2004-10-23 at 11:50, Bob Ippolito wrote:
You always have copyright on anything that you write, unless you explicitly give that away. Of course you can.
And it's not like the original copyright holder on the LGPLed code (i.e. Glyph) is going to hunt you down, seeing that he relicensed it and all :) Plus I bet he's too busy to hire Australian lawyers.

On Sat, Oct 23, 2004, Bob Ippolito wrote:
You always have copyright on anything that you write, unless you explicitly give that away. Of course you can.
Yes of course, but it's a derived work. The only reason I could create it at all was due to the licence of Twisted at the time, which required that if I did so I released under the LGPL. I can't relicence derived works at will unless the copyright holder permits it, and at the time he didn't. He's since permitted relicencing of derived works starting about two months ago, I was off and away by then. In practice because the *exact same code* is *now* available under the MIT licence I probably will relicence (as the Divmod people did, for example), but this requires an assumption of good faith under my very bad understanding of copyright law internationally (I used a US machine in production of the code -- exactly where Glyph would need his lawyers is unclear). -Mary

On Fri, 2004-10-22 at 11:35, donfu wrote:
But that's how WebDAV differs from plain HTTP - it has more actions. At the very least you'd need to extend Resource to support an extended range of actions. And if you do you should probably work off twisted.web2 - but at this point you should probably switch to the twisted-web mailing list.

On Sat, 23 Oct 2004 00:10:44 -0600 Jonathan Simms wrote:
really? based on http or ftp or what?
I overrided twisted.web.server.Request and twisted.web.static.File. It's upper-compatible to static file web server. But I should improve the code to work with arbitrary backends just like stefan said.

Hi, On Thu, 21 Oct 2004 18:09:04 +0200 you wrote:
I wrote WebDAV module for Tiwsted. http://akadama.jp/akadav.html But sorry english documents are not readly. I'll write them in a few days.

Yasushi Iwata wrote:
I wrote WebDAV module for Tiwsted.
Great, I just had a look at it. It seems to work well for serving a directory over webdav. However, I'm not quite sure how to adapt it to serve dynamic data from a database. I think I could refactor your WebDAV resource-class, so that it works with arbitrary backends. Basically I'd try to factor everything out that does explicitly deal with the filesystem. But in a way, that's what a twisted.web Resource is in the first place, no? Honestly, I'm a bit confused :) stefan.

But hey, keep it going; refactor, re-write, do whatever you want to, just get webdav into the standard twisted-package. That would be great!! And if one could serve data from a database, not just plain directories, that would be awsome !!! I'm jumping with joy!! ( Well, not really, but I'm really excited !! Web-dav is cool ) Thomas :-) On Fri, 22 Oct 2004 17:35:28 +0200, donfu <fu@donfu.com> wrote:
-- Mvh/Best regards, Thomas Weholt http://www.weholt.org

On Fri, 22 Oct 2004 12:31:57 -0400 Bob Ippolito wrote:
This particular package is not going to go into Twisted unless the license changes. LGPL is not compatible with MIT.
Some code of akaDAV were adapted from Twisted 1.3.0 which is distributed under LGPL, so I cannot change the lisence of akaDAV. I'm glad to change the lincense and contribute what I wrote to Twisted project. Should I rewrite all the code adapted from Twisted 1.3.0 to change the license?

Yasushi Iwata wrote:
Well, assuming the parts you adapted from 1.3.0 haven't changed much since, you could just take the changes between 1.3.0 and SVN HEAD, and say you adapted the code from the MIT-licensed source. If you had to copy a _lot_ of code from Twisted to your project, there's a totally different problem from licensing. Copy-paste coding is evil, and code duplication should be refactored out.

Mary Gardiner wrote:
I don't know the situation at all, but I have a LGPL licenced project that is so because I adapted code I copied from the documentation :(
Well, the code is in the docs in the MIT version, too. You just need to take your changes and apply them to a newer version of the code in docs.

On Sat, Oct 23, 2004, Tommi Virtanen wrote:
The full derivation tree is this: | -> Woven docs | -> my first change | -> my second change, a port to Nevow The Woven docs should be unchanged since the re-licence, but I'm unclear on whether that means I can MIT licence my code base, since I made derivations before the licence change. -Mary

On Sat, 2004-10-23 at 11:50, Bob Ippolito wrote:
You always have copyright on anything that you write, unless you explicitly give that away. Of course you can.
And it's not like the original copyright holder on the LGPLed code (i.e. Glyph) is going to hunt you down, seeing that he relicensed it and all :) Plus I bet he's too busy to hire Australian lawyers.

On Sat, Oct 23, 2004, Bob Ippolito wrote:
You always have copyright on anything that you write, unless you explicitly give that away. Of course you can.
Yes of course, but it's a derived work. The only reason I could create it at all was due to the licence of Twisted at the time, which required that if I did so I released under the LGPL. I can't relicence derived works at will unless the copyright holder permits it, and at the time he didn't. He's since permitted relicencing of derived works starting about two months ago, I was off and away by then. In practice because the *exact same code* is *now* available under the MIT licence I probably will relicence (as the Divmod people did, for example), but this requires an assumption of good faith under my very bad understanding of copyright law internationally (I used a US machine in production of the code -- exactly where Glyph would need his lawyers is unclear). -Mary

On Fri, 2004-10-22 at 11:35, donfu wrote:
But that's how WebDAV differs from plain HTTP - it has more actions. At the very least you'd need to extend Resource to support an extended range of actions. And if you do you should probably work off twisted.web2 - but at this point you should probably switch to the twisted-web mailing list.

On Sat, 23 Oct 2004 00:10:44 -0600 Jonathan Simms wrote:
really? based on http or ftp or what?
I overrided twisted.web.server.Request and twisted.web.static.File. It's upper-compatible to static file web server. But I should improve the code to work with arbitrary backends just like stefan said.
participants (9)
-
Bob Ippolito
-
donfu
-
Glyph Lefkowitz
-
Itamar Shtull-Trauring
-
Jonathan Simms
-
Mary Gardiner
-
Thomas Weholt
-
Tommi Virtanen
-
Yasushi Iwata