You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Janne Kario <ka...@mermit.fi> on 2005/08/02 14:27:43 UTC

Connecting WebDAV bridge to SVN

Hi,

Can I use the Jackrabbit WebDAV bridge to connect to Subversion 
repository to get a JSR-170 view of the subversion repo? I far as I know 
subversion 1.2 has pretty standard webdav support which enables eg. 
Windows XP webfolders to access the repo. In principal if the JR webdav 
client is a general purpose webdav client and does rely on any server 
extensions this should work?


* Janne Kario


Re: Connecting WebDAV bridge to SVN

Posted by Brian Moseley <bc...@osafoundation.org>.
Angela Schreiber wrote:

> thus no deltaV, searching, proppatch with the simple-servlet
> up to now.
> but it's a limitation of the simple/DavResourceImpl, which
> only implements the DavResouce interface. if you would need it,
> you could add that functionality or create your own resource
> implementation.

fyi, this is exactly what i've done for caldav - a subclass of 
DavResourceImpl that implements an interface for caldav resources and 
overrides a few DavResource methods.

i've had to make a bunch of DavResourceImpl's private methods protected 
and add a few accessor methods for private instance variables, but for 
more the most part it's been very straightforward and easy. when i'm 
reasonably certain that i won't be making any more changes to 
DavResourceImpl, i'll submit a patch to jackrabbit.

> in more detail:

ahh.. thanks for this diagram. it makes things a lot clearer :) i 
suggest adding that to a doc in the jcr-server root directory.

> beating? me? can't remember... :)

i can be thick sometimes and ask long chains of simple questions. you've 
been very patient and accomodating, and that's much appreciated :)

Re: Connecting WebDAV bridge to SVN

Posted by Angela Schreiber <an...@day.com>.
> the former (Simple) is a generic class 1&2 webdav protocol implementation, 

thus no deltaV, searching, proppatch with the simple-servlet
up to now.
but it's a limitation of the simple/DavResourceImpl, which
only implements the DavResouce interface. if you would need it,
you could add that functionality or create your own resource
implementation.

> the source code structure does not make it evident

what a pitty!
i hoped the last reorg would improve that :)

'jcr' packages always refer to classes used for the jcrserver
       thus the webdav-remoting stuff.
       how that's done is described in the document i mentioned
       before (nodes are collections, properties are non-collections
       to make it very short).

'simple' refers to the simple-webdav. we called it simple
          because it maps 'nt:file' to non-collection and
          any other node to collection. jcr properties are
          not mapped as resources. the aim was to provide a
          very simple, 'human-readable' way to look at a
          jcr repository with webdav.

in more detail:

+ jcr-webdav module   (library only)

   > org.apache.jackrabbit.webdav = webdav-library,
                                    nothing jcr-specific,
                                    no implementation

+ jcr-server module   (server and dav-impls used on server side)

   > org.apache.jackrabbit.server        = the server in general
   > org.apache.jackrabbit.server.jcr    = jcrserver specific server part
   > org.apache.jackrabbit.server.simple = <not used>
   > org.apache.jackrabbit.server.io     = the commands (currently
                                           used in simple)
   > org.apache.jackrabbit.webdav.simple = the simple webdav impl
   > org.apache.jackrabbit.webdav.jcr    = impl for the jcrserver

+ jackrabbit-server module (servlets)

   > org.apache.jackrabbit.j2ee          = servlets for both simple and
                                           jcrserver and related classes.

+ jcr-client module

   < nothing, will somewhen contain a general jcr-client and a webdav
     transport layer for the client. >

> angela had to beat it into my brain on the 

beating? me? can't remember... :)

regards
angela

Re: Connecting WebDAV bridge to SVN

Posted by Brian Moseley <bc...@osafoundation.org>.
Janne Kario wrote:

> I'm trying to evaluate whether the server part can act as generic webdav 
> interface to the jsr repository (Windows/Max OS X desktop integration). 
> I don't necessarily need the JSR-170 client -> WebDAV -> JSR-170 server 
> bridge although that would be really neat and we would definitively find 
> use for that.
> 
> I'm about to play with the jackrabbit webdav in the near future and can 
> contribute my findings back here/JIRA.

you want to look at the SimpleWebdavServlet rather than 
JCRWebdavServerServlet.

the former is a generic class 1&2 webdav protocol implementation, while 
the latter is something different. it's the server end of "remote jcr 
over webdav", an alternative to "remote jcr over rmi". webdav is just 
the transport layer. you aren't meant to point a webdav client at the 
jcr server, but rather a jcr client.

SimpleWebdavServlet is what you want when you're looking to use an 
arbitrary webdav client against a webdav server which uses a jcr 
repository as its content store.

this distinction took a while for me to understand. the source code 
structure does not make it evident, and there's little or no 
documentation to explain it. angela had to beat it into my brain on the 
mailing list a few months back :)

Re: Connecting WebDAV bridge to SVN

Posted by Janne Kario <ka...@mermit.fi>.
Angela Schreiber wrote:
> hi janne
> 
>> Ok. How about the status of the WebDav serverside 
>> (JCRWebdavServerServlet)? I can see that there is a lot of code there 
>> and event som DeltaV stuff. Has anyone confirmed which clients 
>> (Windows/Mac OS X) are working?
> 
> 
> the aim of the jcrserver was to provide a webdav based
> jsr170 server protocol (mapping jsr170 api to webdav).
> on the other hand i tried to cover webdav functionality
> as much as possible. some more details are availble
> here:
> 
> http://www.day.com/jsr170/server/JCR_Webdav_Protocol.zip
> 
> this has mostly been completed, but i made few tests
> only (with slide-commandline client, DavExplorer 0.91,
> windows built in client). however, i don't see so
> much benefit of this as long as the counterpiece
> (jcr-client) is missing.
> 
> what exactly are you looking for?

Hi,

I'm trying to evaluate whether the server part can act as generic webdav 
interface to the jsr repository (Windows/Max OS X desktop integration). 
I don't necessarily need the JSR-170 client -> WebDAV -> JSR-170 server 
bridge although that would be really neat and we would definitively find 
use for that.

I'm about to play with the jackrabbit webdav in the near future and can 
contribute my findings back here/JIRA.

* Janne Kario


Re: Connecting WebDAV bridge to SVN

Posted by Angela Schreiber <an...@day.com>.
hi janne

> Ok. How about the status of the WebDav serverside 
> (JCRWebdavServerServlet)? I can see that there is a lot of code there 
> and event som DeltaV stuff. Has anyone confirmed which clients 
> (Windows/Mac OS X) are working?

the aim of the jcrserver was to provide a webdav based
jsr170 server protocol (mapping jsr170 api to webdav).
on the other hand i tried to cover webdav functionality
as much as possible. some more details are availble
here:

http://www.day.com/jsr170/server/JCR_Webdav_Protocol.zip

this has mostly been completed, but i made few tests
only (with slide-commandline client, DavExplorer 0.91,
windows built in client). however, i don't see so
much benefit of this as long as the counterpiece
(jcr-client) is missing.

what exactly are you looking for?

regards
angela







Re: Connecting WebDAV bridge to SVN

Posted by Janne Kario <ka...@mermit.fi>.
Brian Moseley wrote:
> Angela Schreiber wrote:
> 
>> we planned to provide a general purpose jcr-client. the jcr
>> webdav client would in that situation be an example.
>> the intension was to extend the webdav library in
>> order to provide the means for a general purpose webdav
>> client.
>> unfortunately, the client has not been completed yet and
>> the client part is pretty empty (shifted priority). there are
>> only a few classes in the client module, that have been commited 
>> unintentionally.
> 
> 
> a shame, too, since the only alternative java webdav client library i'm 
> aware of is the slide one, which is... not stellar.
> 

Ok. How about the status of the WebDav serverside 
(JCRWebdavServerServlet)? I can see that there is a lot of code there 
and event som DeltaV stuff. Has anyone confirmed which clients 
(Windows/Mac OS X) are working?

* Janne Kario


Re: Connecting WebDAV bridge to SVN

Posted by Brian Moseley <bc...@osafoundation.org>.
Angela Schreiber wrote:

> we planned to provide a general purpose jcr-client. the jcr
> webdav client would in that situation be an example.
> the intension was to extend the webdav library in
> order to provide the means for a general purpose webdav
> client.
> unfortunately, the client has not been completed yet and
> the client part is pretty empty (shifted priority). there are
> only a few classes in the client module, that have been commited 
> unintentionally.

a shame, too, since the only alternative java webdav client library i'm 
aware of is the slide one, which is... not stellar.

Re: Connecting WebDAV bridge to SVN

Posted by Angela Schreiber <an...@day.com>.
hi janne

> In principal if the JR webdav client is a general purpose webdav client 
 > and does rely on any server extensions this should work?

we planned to provide a general purpose jcr-client. the jcr
webdav client would in that situation be an example.
the intension was to extend the webdav library in
order to provide the means for a general purpose webdav
client.
unfortunately, the client has not been completed yet and
the client part is pretty empty (shifted priority). there are
only a few classes in the client module, that have been commited 
unintentionally.

kind regards
angela