You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Eugeny N Dzhurinsky <bo...@redwerk.com> on 2007/09/03 14:05:27 UTC

WebDAV component usage example

Hello!

Could somebody please explain how can I get some information/examples/guides
about utilizing JackRabbit's WebDAV capabilities? What we need is to provide
access to legacy storage using WebDAV protocol, keeping in mind there's new
branch of software which already has JackRabbit at the back end. So we have
some set of interfaces to access storage (content, version, folders,
properties etc), and we need to write some implementation which could be us=
ed
by JackRabbit's WebDAV front-end servlet/whatever as a storage.

Is that possible at all?

Thank you in advance.

-- 
Eugene N Dzhurinsky

Re: WebDAV component usage example

Posted by Enis Soztutar <en...@gmail.com>.
Hi, i've seen this post by chance, if you are still interested i can 
share my xp with you.

I have implemented an adapter between our(hadoop's) FileSystem 
interface(having concrete implementations as local file system, s3 
filesystem, and distributed filesystem) and webdav. I used jackrabbit to 
do this. The webdav servlet in JR does pretty much all the front end 
things concerning webdav and you can implement a different backend then JCR.


see

[1] https://issues.apache.org/jira/browse/HADOOP-496
[2] http://lucene.apache.org/hadoop/




Eugeny N Dzhurinsky wrote:
> On Wed, Sep 05, 2007 at 04:14:27PM +0100, Torgeir Veimo wrote:
>   
>> If you need a generic webdav servlet to connect to some backend which is
>> not jackrabbit specific, then there's also the webdav servlet that comes
>> with tomcat. Is uses jndi to read / write to the filesystem, but it's
>> quite easy to replace this with calls to whichever backend you have.
>>     
>
> I understand your point, but what if I want to employ JackRabbit's WebDAV
> functionality, just keeping in mind I need to create some kind of intermediate
> layer to not pass requests directly to JCR repository, but use some additional
> storages? We are going to use JackRabbit as a generic storage for CMS, but
> have to keep in mind there's old legacy storage we need to support as well?
> Something like lightweight bridge between JCR repository/legacy repository
> with WebDAV access?
>
>   

Re: WebDAV component usage example

Posted by Eugeny N Dzhurinsky <bo...@redwerk.com>.
On Wed, Sep 05, 2007 at 04:14:27PM +0100, Torgeir Veimo wrote:
> If you need a generic webdav servlet to connect to some backend which is
> not jackrabbit specific, then there's also the webdav servlet that comes
> with tomcat. Is uses jndi to read / write to the filesystem, but it's
> quite easy to replace this with calls to whichever backend you have.

I understand your point, but what if I want to employ JackRabbit's WebDAV
functionality, just keeping in mind I need to create some kind of intermediate
layer to not pass requests directly to JCR repository, but use some additional
storages? We are going to use JackRabbit as a generic storage for CMS, but
have to keep in mind there's old legacy storage we need to support as well?
Something like lightweight bridge between JCR repository/legacy repository
with WebDAV access?

-- 
Eugene N Dzhurinsky

Re: WebDAV component usage example

Posted by Torgeir Veimo <to...@pobox.com>.
On Wed, 2007-09-05 at 18:05 +0300, Eugeny N Dzhurinsky wrote:
> On Wed, Sep 05, 2007 at 10:42:13AM -0400, Darren Hartford wrote:
> > If you don't want Jackrabbit, I would recommend getting on the
> Jakarta
> > Slide list instead for WebDAV.
> 
> I don't want JackRabbit at this stage, but since new version of
> software will
> use JackRabbit - I don't see why i need to employ Slide.
> 
> > Otherwise, yes the WebDAV servlet would be where you would need to
> > extend. 

If you need a generic webdav servlet to connect to some backend which is
not jackrabbit specific, then there's also the webdav servlet that comes
with tomcat. Is uses jndi to read / write to the filesystem, but it's
quite easy to replace this with calls to whichever backend you have.

-- 
-Tor


Re: WebDAV component usage example

Posted by Eugeny N Dzhurinsky <bo...@redwerk.com>.
On Wed, Sep 05, 2007 at 10:42:13AM -0400, Darren Hartford wrote:
> If you don't want Jackrabbit, I would recommend getting on the Jakarta
> Slide list instead for WebDAV.

I don't want JackRabbit at this stage, but since new version of software will
use JackRabbit - I don't see why i need to employ Slide.

> Otherwise, yes the WebDAV servlet would be where you would need to
> extend. 

Okay, thanks.

-- 
Eugene N Dzhurinsky

RE: WebDAV component usage example

Posted by Ard Schrijvers <a....@hippo.nl>.
The Jakarta Slide list is kind of dorming (trying to be subtle) if you ask me. I read this jira issue the other day [1], about somebody implementing WebDav layer for Hadoop [2]. Think you need something similar, and results were that he used the JR webdav block/APIs

Enis Soztutar:
"Slide seems good enough at first, but it depends on lots of other libraries, it is poorly documented(at least for a newcomer like myself), and i think the development slowed down after 2004."

I think you might want to take a look at [2] for the attachments

[1] https://issues.apache.org/jira/browse/HADOOP-496
[2] http://lucene.apache.org/hadoop/

Regards Ard


Darren Hartford wrote: 
If you don't want Jackrabbit, I would recommend getting on the Jakarta
Slide list instead for WebDAV.

Otherwise, yes the WebDAV servlet would be where you would need to
extend. 

> -----Original Message-----
> From: Eugeny N Dzhurinsky [mailto:bofh@redwerk.com] 
> Sent: Wednesday, September 05, 2007 10:33 AM
> To: users@jackrabbit.apache.org
> Subject: Re: WebDAV component usage example
> 
> On Wed, Sep 05, 2007 at 09:12:21AM -0400, Darren Hartford wrote:
> > http://wiki.apache.org/jackrabbit/JackRabbitOnTomcat
> > http://wiki.apache.org/jackrabbit/JackrabbitOnJBoss
> > 
> > Should be able to get the Jackrabbit Webapp WAR that you 
> can just drop 
> > into place from the downloads section:
> > http://jackrabbit.apache.org/downloads.cgi
> > 
> > The WebDAV component is just a servlet that talks to the Jackrabbit 
> > Repository.
> 
> The thing is I don't need to talk to JackRabbit's repository, 
> I need to intercept WebDAV requests and pass them to custom 
> storage, some kind of adapter, in examined sources of 
> SimpleWebdavServlet and found it is possible to provide 
> custom ResourceFactory to the servlet, which seem to deal 
> with repository, and I guess this is extension point where I 
> could plug my own implementation of the factory, which deals 
> with custom repository? Am I on the right way?
> 
> --
> Eugene N Dzhurinsky
> 




RE: WebDAV component usage example

Posted by Darren Hartford <dh...@ghsinc.com>.
If you don't want Jackrabbit, I would recommend getting on the Jakarta
Slide list instead for WebDAV.

Otherwise, yes the WebDAV servlet would be where you would need to
extend. 

> -----Original Message-----
> From: Eugeny N Dzhurinsky [mailto:bofh@redwerk.com] 
> Sent: Wednesday, September 05, 2007 10:33 AM
> To: users@jackrabbit.apache.org
> Subject: Re: WebDAV component usage example
> 
> On Wed, Sep 05, 2007 at 09:12:21AM -0400, Darren Hartford wrote:
> > http://wiki.apache.org/jackrabbit/JackRabbitOnTomcat
> > http://wiki.apache.org/jackrabbit/JackrabbitOnJBoss
> > 
> > Should be able to get the Jackrabbit Webapp WAR that you 
> can just drop 
> > into place from the downloads section:
> > http://jackrabbit.apache.org/downloads.cgi
> > 
> > The WebDAV component is just a servlet that talks to the Jackrabbit 
> > Repository.
> 
> The thing is I don't need to talk to JackRabbit's repository, 
> I need to intercept WebDAV requests and pass them to custom 
> storage, some kind of adapter, in examined sources of 
> SimpleWebdavServlet and found it is possible to provide 
> custom ResourceFactory to the servlet, which seem to deal 
> with repository, and I guess this is extension point where I 
> could plug my own implementation of the factory, which deals 
> with custom repository? Am I on the right way?
> 
> --
> Eugene N Dzhurinsky
> 

Re: WebDAV component usage example

Posted by Eugeny N Dzhurinsky <bo...@redwerk.com>.
On Wed, Sep 05, 2007 at 09:12:21AM -0400, Darren Hartford wrote:
> http://wiki.apache.org/jackrabbit/JackRabbitOnTomcat
> http://wiki.apache.org/jackrabbit/JackrabbitOnJBoss
> 
> Should be able to get the Jackrabbit Webapp WAR that you can just drop
> into place from the downloads section:
> http://jackrabbit.apache.org/downloads.cgi
> 
> The WebDAV component is just a servlet that talks to the Jackrabbit
> Repository.

The thing is I don't need to talk to JackRabbit's repository, I need to
intercept WebDAV requests and pass them to custom storage, some kind of
adapter, in examined sources of SimpleWebdavServlet and found it is possible
to provide custom ResourceFactory to the servlet, which seem to deal with
repository, and I guess this is extension point where I could plug my own
implementation of the factory, which deals with custom repository? Am I on the
right way?

-- 
Eugene N Dzhurinsky

RE: WebDAV component usage example

Posted by Darren Hartford <dh...@ghsinc.com>.
http://wiki.apache.org/jackrabbit/JackRabbitOnTomcat
http://wiki.apache.org/jackrabbit/JackrabbitOnJBoss

Should be able to get the Jackrabbit Webapp WAR that you can just drop
into place from the downloads section:
http://jackrabbit.apache.org/downloads.cgi

The WebDAV component is just a servlet that talks to the Jackrabbit
Repository.

 

> -----Original Message-----
> From: Eugeny N Dzhurinsky [mailto:bofh@redwerk.com] 
> Sent: Wednesday, September 05, 2007 9:06 AM
> To: users@jackrabbit.apache.org
> Subject: Re: WebDAV component usage example
> 
> On Tue, Sep 04, 2007 at 07:59:30AM -0400, Darren Hartford wrote:
> > Some information for WebDAV access was started here:
> > http://wiki.apache.org/jackrabbit/WebDAV
> > 
> > Unfortunately, some more examples related to node creation, 
> indexing, 
> > and populating those indexes through WebDAV need to be updated by 
> > someone who understands those pieces of Jackrabbit.
> 
> In fact I didn't find any information of how can I do that. 
> Which package I should use, how should I configure JackRabbit 
> etc? Something, which would allow me to start from scratch, 
> setup that webdav module in JackRabbit and test is, and 
> probably some generic examples of how to use it?
> 
> --
> Eugene N Dzhurinsky
> 

Re: WebDAV component usage example

Posted by Eugeny N Dzhurinsky <bo...@redwerk.com>.
On Tue, Sep 04, 2007 at 07:59:30AM -0400, Darren Hartford wrote:
> Some information for WebDAV access was started here:
> http://wiki.apache.org/jackrabbit/WebDAV
> 
> Unfortunately, some more examples related to node creation, indexing,
> and populating those indexes through WebDAV need to be updated by
> someone who understands those pieces of Jackrabbit.

In fact I didn't find any information of how can I do that. Which package I
should use, how should I configure JackRabbit etc? Something, which would
allow me to start from scratch, setup that webdav module in JackRabbit and
test is, and probably some generic examples of how to use it?

-- 
Eugene N Dzhurinsky

RE: WebDAV component usage example

Posted by Darren Hartford <dh...@ghsinc.com>.
Some information for WebDAV access was started here:
http://wiki.apache.org/jackrabbit/WebDAV

Unfortunately, some more examples related to node creation, indexing,
and populating those indexes through WebDAV need to be updated by
someone who understands those pieces of Jackrabbit.
 

> -----Original Message-----
> From: Eugeny N Dzhurinsky [mailto:bofh@redwerk.com] 
> Sent: Monday, September 03, 2007 8:05 AM
> To: users@jackrabbit.apache.org
> Subject: WebDAV component usage example
> 
> Hello!
> 
> Could somebody please explain how can I get some 
> information/examples/guides about utilizing JackRabbit's 
> WebDAV capabilities? What we need is to provide access to 
> legacy storage using WebDAV protocol, keeping in mind there's 
> new branch of software which already has JackRabbit at the 
> back end. So we have some set of interfaces to access storage 
> (content, version, folders, properties etc), and we need to 
> write some implementation which could be us= ed by 
> JackRabbit's WebDAV front-end servlet/whatever as a storage.
> 
> Is that possible at all?
> 
> Thank you in advance.
> 
> --
> Eugene N Dzhurinsky
>