Very interesting approach.

I think that's a good idea to develop WebDAV implementation within an extension.

For compatibility problems, it would be better to not develop specificities in the "standard WebDAV" extension, but rather in other extensions.

For example :
- com.restlet.ext.webdav.mswebfolder
- com.restlet.ext.webdav.webdrive
- etc.

I am waiting for the creation of issue about this extension.

The first job to do, is the creation of JUnit test cases, covering Webdav features.


Is it planned to use Maven for Restlet 1.2?

It would be very very useful to speed up our developments (particulary TDD - Test Driver Development)




Rob Heittman wrote:

It is definitely better to start something new for implementation in
Restlet, but the good news is it should be easy. The GoGoEgo WebDAV
implementation is very closely tied to the GoGoEgo VFS layer and doesn't
really use the Directory abstraction of Restlet as a Restlet user would
expect. However, it does give an example of a working WebDAV on Restlet,
and illustrates that very little is required to achieve basic DAV
interoperability.

The direction I had been hoping for was to build sufficient DAV 1
features and hacks straight into the Directory plumbing (COPY, MOVE,
PROPFIND, PROPPATCH) that any Restlet Directory could be trivially used
with Web Folders, WebDrive, OS X, wdfs and the like. I think this
integration would be very useful to many people.

I feel that an extension would be the right place to land a more
completely feature-filled WebDAV implementation that actually supports
custom properties in PROPFIND/PROPPATCH, LOCK/UNLOCK, and so forth. This
requires concepts that are not in HTTP (see some of the critical
analysis linked to the RFE) and can be argued are not even RESTful. This
almost certainly needs to live in an extension.

A small digression (which I should put in the RFE) ...

Operating systems' native WebDAV client implementations are typically
afterthoughts and not really meant to be platform-interoperable. Windows
Web Folders is meant to work well connecting to IIS and not particularly
anything else. OS X and even Linux also tend to have their own
expectations of compliant server behavior; for example, Nautilus "likes"
Apache mod_webdav but sometimes cannot navigate on other WebDAV servers
(this is on my list of things to investigate some day).

Anyway, the hacks which enable each client to work well are frequently
ugly, and sometimes mutually exclusive. Restlet, as a body of work, has
been remarkably free of hacks. So if these clients are to all be
supported, care should be taken so that the hacks can be enabled or
disabled, and potentially limited to the afflicted user agents.

- R


On Wed, Jun 25, 2008 at 4:56 AM, Jerome Louvel <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:


    Hi Jean-Yves,

    There is indeed an existing plan to improve support for WebDAV in
    Restlet
    1.2. It would be great if you could participate and contribute some
    features. See this RFE:

    "Support WebDAV COPY and MOVE methods"
    http://restlet.tigris.org/issues/show_bug.cgi?id=346

    Rob Heittman, who is also behind GoGoEgo, created this RFE and
    proposed some
    enhancements. He might be interested in helping you out.

    There are two path regarding Restlet and WebDAV that we could
    explore IMO:

    1) Enhance the current Directory class to support COPY and MOVE and
    maybe
    other 'simple' features by default.

    2) Add a new "com.restlet.ext.webdav" extension that would provide more
    complete and compliant Client and Server WebDAV connectors.

    What do you think?

    Best regards,
    Jerome


    -----Message d'origine-----
    De : news [mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>] De
    la part de Jean-Yves Cronier
    Envoyé : mercredi 25 juin 2008 00:12
    À : [email protected] <mailto:[email protected]>
    Objet : Re: Standard status-line in Status

    I am playing to development of an lightweight (and very partial)
    implementation of WebDAV protocol.

    (By the way, about this, I wonder how would it make more sense to
    develop it, so that I can give it to the RESTlet community)

    In short, in the specifications WebDAV, to describe the content of
    "collections", I need for each resource, to indicate its status:
    http://www.webdav.org/specs/rfc2518.html#ELEMENT_status

    Is there an issue (in your bugtracker) (targetting for RESTlet 1.2 ?)
    covering the implementation of WebDAV and with advices on how to
    implement it? If yes, I will be happy to work on it!

    Can we try to be inspired with GoGoEGO's code ? Or is it better to start
    a totaly new one ?






    Jerome Louvel wrote:
     > Hi Jean-Yves,
     >
     > Internally the NRE (Restlet engine) does convert the Status
    instance to
    the
     > standard format (see
     > com.noelios.restlet.http.HttpServerCall#writeResponseHead () method).
     >
     > The Status#toString() method just provides a convenient/simple string
    value.
     > Do you have a specific use case that requires this value to
    conform to the
     > HTTP spec?
     >
     > Best regards,
     > Jerome
     >
     > -----Message d'origine-----
     > De : news [mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>] De la part de Jean-Yves Cronier
     > Envoyé : lundi 23 juin 2008 01:09
     > À : [email protected] <mailto:[email protected]>
     > Objet : Standard status-line in Status
     >
     > As defined in RFC2616 (6.1)
     > http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1
     >
     > Is it better to change org.restlet.data.Status#toString() to
    comform to
     > [HTTP-Version SP Status-Code SP Reason-Phrase CRLF] ?
     >
     > If no: What is the best way to build "Status-Line" of a
     > org.restlet.data.Status ?
     >
     >



Reply via email to