Torbjorn Tornkvist | 14 Jun 2005 09:28
Favicon

Re: WebDAV - more than file access

Hi,

Cool stuff!

My approach has been to change as little as possible of the
existing code. To see my changes to the Yaws code, you can run:

cvs diff -r 1.278 yaws_server.erl
cvs diff -r 1.89 yaws.erl

As you can see, I'm adding DAV stuff incrementally as I need them.

The basic idea is to have the code, which is making use of WebDav
in an AppMod. So for example, I've started to implement a filesystem 
layer, which at the moment supports: PROPFIND, MKCOL, PUT, DELETE and 
GET. Check out the file dav.erl to see how it works.

I'm also thinking of implementing a SMB browser similar to 'Davenport',
which would make it possible to open up WebFolders in Internet Explorer.

If I'm not mistaken, I think your 'dispatcher layer' is the same
as the AppMod idea I described above? I have also started to make use
of the xmerl application to parse and create XML. This makes it possible
to create a datastructure (similar to ehtml) and have it expanded into 
XML. A simple interface is located in yaws_dav.erl and you can see in
dav.erl how I'm using it.

I guess it is ok to add your stuff right into the CVS (if you have
commit rights) as long as you are careful with the changes to 
yaws_server.erl and friends.
(Continue reading)

Reto Kramer | 16 Jun 2005 06:01
Picon
Favicon

Re: WebDAV - more than file access

Hi Torbjorn,

> My approach has been to change as little as possible of the
> existing code.

Sounds like the way to go - I much prefer your elegant way to hook into 
yaws over my hack.

> To see my changes to the Yaws code, you can run:
>
> cvs diff -r 1.278 yaws_server.erl
> cvs diff -r 1.89 yaws.erl
>
> As you can see, I'm adding DAV stuff incrementally as I need them.
>
> The basic idea is to have the code, which is making use of WebDav
> in an AppMod. So for example, I've started to implement a filesystem 
> layer, which at the moment supports: PROPFIND, MKCOL, PUT, DELETE and 
> GET. Check out the file dav.erl to see how it works.

Got it to work fine with cadaver and a few changes should do the trick 
of OSX's webdav_fs.

I can easily port my /proc sample to the AppMod approach.

My one concern at this point - and this is easy to resolve - is that 
each dav style AppMod will duplicate the knowledge about dav return 
codes, dav response formats etc (and I expect there to be quite some, 
imagine e.g. "echo 1>eproc/yaws/debug_enabled" ;-).  I can centralize 
this for my projects, but perhaps we should add a helper module that 
(Continue reading)

Torbjorn Tornkvist | 16 Jun 2005 10:25
Favicon

Re: WebDAV - more than file access

Reto Kramer wrote:
> Hi Torbjorn,
> 
>> My approach has been to change as little as possible of the
>> existing code.
> 
> 
> Sounds like the way to go - I much prefer your elegant way to hook into 
> yaws over my hack.
> 
>> To see my changes to the Yaws code, you can run:
>>
>> cvs diff -r 1.278 yaws_server.erl
>> cvs diff -r 1.89 yaws.erl
>>
>> As you can see, I'm adding DAV stuff incrementally as I need them.
>>
>> The basic idea is to have the code, which is making use of WebDav
>> in an AppMod. So for example, I've started to implement a filesystem 
>> layer, which at the moment supports: PROPFIND, MKCOL, PUT, DELETE and 
>> GET. Check out the file dav.erl to see how it works.
> 
> 
> Got it to work fine with cadaver and a few changes should do the trick 
> of OSX's webdav_fs.
> 
> I can easily port my /proc sample to the AppMod approach.
> 
> My one concern at this point - and this is easy to resolve - is that 
> each dav style AppMod will duplicate the knowledge about dav return 
(Continue reading)

Mickael Remond | 14 Jun 2005 10:06

Re: WebDAV - more than file access

Torbjorn Tornkvist wrote:
> Hi,
> 
> Cool stuff!
> 
> My approach has been to change as little as possible of the
> existing code. To see my changes to the Yaws code, you can run:
> 
> cvs diff -r 1.278 yaws_server.erl
> cvs diff -r 1.89 yaws.erl
> 
> As you can see, I'm adding DAV stuff incrementally as I need them.
> 
> The basic idea is to have the code, which is making use of WebDav
> in an AppMod. So for example, I've started to implement a filesystem 
> layer, which at the moment supports: PROPFIND, MKCOL, PUT, DELETE and 
> GET. Check out the file dav.erl to see how it works.
> 
> I'm also thinking of implementing a SMB browser similar to 'Davenport',
> which would make it possible to open up WebFolders in Internet Explorer.
> 
> If I'm not mistaken, I think your 'dispatcher layer' is the same
> as the AppMod idea I described above? I have also started to make use
> of the xmerl application to parse and create XML. This makes it possible
> to create a datastructure (similar to ehtml) and have it expanded into 
> XML. A simple interface is located in yaws_dav.erl and you can see in
> dav.erl how I'm using it.

Hello,

(Continue reading)


Gmane