Hi,
On Thu, Oct 9, 2008 at 12:51 AM, Artem Melentyev <amelentev(a)gmail.com>wrote;wrote:
Asiri Rathnayake wrote:
Hi Devs,
I think it's fair to call our current webdav implementation a generic
webdav
server implementation for xwiki because it
directly utilizes the xwiki
core
and presents a custom webdav view of an xwiki
repository for users. At
the
time we began working on webdav, this is the only
option we had. But with
the xwiki-jcr component in town we can have a different sort of a webdav
server which is kind of a ready made one which is capable of exposing any
jcr repository via webdav (ex. jackrabbit jcr server). Now the conflict
is
now we have two webdav server implemntations,
what are we going to do now
?
Please excuse me for any errors since my current understanding of JCR is
poor.
comparison:
generic webdav:
pro:
already is & works
generic: works on any storage systems.
jcr-based webdav:
work by get/put all info directly in JCR repository, without any
additional info, without bothering the core.
pro:
minimal effort needed for basic features.
contra:
works ONLY on JCR implementations.
possible problems:
authentication & rights:
jcr uses own authentication system. But we could try to intercept
request and check rights by self.
direct write via webdav ignores the core: need to notify the core via
jcr observations (for cache, versioning) => complicates storage system.
careful jcr hierarchy design is needed. jcr hierarchy is directly
mapped to webdav urls. But we could try to rewrite/filter some requests.
I'm not sure all webdav features will work as expected. Testing needed.
In addition to these, as pointed by ludovic, the views provided by the
generic-webdav implementation is different from what will be provided by a
standard JCR backed webdav implementation. Our implementation of webdav
interface is documented here :
http://dev.xwiki.org/xwiki/bin/view/Design/WebDAVService. I don't think
it'll be possible to provide the same exact interface via the JCR backed
webdav server.
Anyway, i wanted to mention that implementing a JCR backed webdav server is
comparatively easy and there is less maintanance because jackrabbit will be
taking care of most of the server development.
IMHO, we should continue to work on the generic webdav server and once JCR
storage is ready we should implement the JCR backed webdav server separately
(this should be easy AFAIK). Then we can actually have a better
understanding and may be we can provide both implementations (users will
pick what they prefer).
WDYT ?
- Asiri
I don't think we could drop current hibernate store so easyly. Generic
webdav is the only way for this.
I'm trying to complete first version of JCR Storage before 1.7M1, so we
can test webdav on it.
I think we should keep generic webdav (at least for some time), but it
depends on how hard to support it.
--
Artem Melentyev
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs