The implementation I referred to in that particular February message was
work-for-hire for a proprietary customer.
But you might be able to find most of the relevant hints by looking at the
DAV 1 implementation with DAV 2 stubs in our GoGoEgo open source project,
gogoego.googlecode.com.  We have not yet begun to package downloadable
releases of GoGoEgo, and the code still needs cleaning and commenting, but
you can get all the interesting DAV-related examples from trunk here:
http://gogoego.googlecode.com/svn/trunk/modules/RestletFoundation/src/com/solertium/baserestlets/

In VFSResource, Dav1VFSResource, Dav2VFSResource, we are exposing the
versioned file system of our CMS, using Restlet resources, in a way that is
compatible with MS Web Folders as well as South River Webdrive and wdfs.  I
use this implementation all day, every day with wdfs to do mission critical
work; it's well exercised.

You can see in Dav2VFSResource where the lock and unlock support would be if
the underlying storage supported locking semantics ... the fact that it's
not implemented here isn't Restlet's fault, but GoGoEgo's open source VFS
layer doesn't yet support locking.  Dav2VFSResource "fakes" it to keep
certain clients happy, notably OS X.

You could do this all in a more Restlety way -- especially if you are just
working with plain old files and don't need to access a special repository
-- but most of what you see here is a port of a port of a port.  It does
contain all the necessary hints for what MS Web Folders expects to see in
its headers, etc. and some ideas of how to glue this to Restlet.  The public
GoGoEgo repository is licensed under GPL, but if you want us to grant an
individual license that is compatible with your own for any portions of this
code, just email me personally and we can make arrangements.

A final note, see in the comments of Dav1VFSResource that it intentionally
violates RFC2518 in two ways that I would recommend preserving -- but if you
want an RFC compliant version you must take these violations out.

- Rob


On Tue, Jun 3, 2008 at 7:48 PM, Jean-Yves Cronier <[EMAIL PROTECTED]>
wrote:

> > Enough workarounds exist that my company's been able to produce a full
> > WebDAV level 2 provider that runs on 1.0/1.1
>
> Where can we find this source code?
>
> Have you some pieces of code to show us how expose resource via WebDav (MS
> Web Folders)?
>
>
>
>
> Rob Heittman wrote:
>
>>
>> I don't know if all the PROPFIND plumbing is really installed yet
>> (Jerome or Thierry will know...) For sure you should be using svn trunk,
>> or at least the 1.1 snapshot, to get the latest relevant bits.
>>
>> Getting WebDAV to work fully under Restlet still runs into some speed
>> bumps. The official target is Restlet 1.2, though it might land earlier
>> if somebody contributes patches ... One of the issues I remember is in
>> this RFE:
>>
>> http://restlet.tigris.org/issues/show_bug.cgi?id=346
>>
>> Enough workarounds exist that my company's been able to produce a full
>> WebDAV level 2 provider that runs on 1.0/1.1, but it uses custom
>> Restlets instead of fitting well into the REST part of the Restlet
>> model, and it's got dependencies on our repository layer, so no good for
>> anybody else.
>>
>> - Rob
>>
>>
>> On 2/7/08, *Yousef Ghandour* <[EMAIL PROTECTED]
>> <mailto:[EMAIL PROTECTED]>> wrote:
>>
>>    Hey
>>    WebDav restlet
>>    I'm planning to use restlet to expose our file system using webdav
>>    standards. I'm already using it for normal API calles, but faced some
>>    problems with webdav.
>>
>>
>

Reply via email to