Hi Sergiu,
On Tue, Sep 30, 2008 at 4:13 AM, Sergiu Dumitriu <sergiu(a)xwiki.com> wrote:
Asiri Rathnayake wrote:
Hello devs,
Following couple of weeks i've been working on integrating xwiki-webdav
in
the xwiki ui and i'm confident now it's
time to move out this effort from
sandbox to our main xwiki source tree. Before discussing about where to
put
the xwiki-webdav and associated modules in the
main source tree,
following
is a brief status update on what's going with
xwiki-webdav.
* xwiki-webdav can be deployed on it's own (with a preconfigured hsqldb)
or
more likely be integrated into an existing XE
installation. Once
deployed,
various webdav clients (provided by your
operating system or thirdparty
applications) will be able to brows through an XE repository pretty
easily.
- It's worth to mention at this point that there are so many webdav
clients out there and they vary in bahaviour a lot. This is the
MOST-PAINFUL
problem we're currently facing. And to get
xwiki-webdav into shape, we
need
to test it a LOT! :)
* xwiki-webdav is configured as a maven project (
http://svn.xwiki.org/svnroot/xwiki/sandbox/xwiki-webdav/) and it can be
deployed (for testing) pretty easily through maven-jetty-plugin. Also we
have added quite a few integration tests to make sure of the basic dav
functionality.
* For interoperability with XP's built-in webdav client we had to put up
a
separate root servlet, this project is currently
located at
http://svn.xwiki.org/svnroot/xwiki/sandbox/xwiki-rootwebapp/.
xwiki-rootwebapp handles redirection and proper reply for the PROPFIND
request at root level of webserver.
* xwiki-webdav is integrated into xwiki ui with two approaches, one by
provding an 'Edit' link in the attachments view of a page (for editing
attachments via webdav) and the other is thorugh foxwiki's context menu.
* To implement the 'Edit' link in the attachments view, we created the
xwiki-webdav-plugin (
http://svn.xwiki.org/svnroot/xwiki/sandbox/xwiki-webdav-plugin/) which
is
responsible for providing webdav urls given
document attachments. The
actual
editing of attachments is carried either via
foxwiki (if you are running
firefox) or via IE's built-in capabilities of openning webdav urls with
native editors.
Does this plugin do anything else?
I can't think of any other use, may be ludovic has a different opinion ? :)
* As mentioned above we had to revamp foxwiki to
make it easy for us to
integrate xwiki-webdav in the xwiki-ui. But we have the added bonus of
all
previous foxwiki features too :). Presently
foxwiki is configured as a
maven
project (
http://svn.xwiki.org/svnroot/xwiki/sandbox/xwiki-clients/FoXWiki/)
and it can be built and tested pretty easily
(refer to README).
* A fully configured test server is located at
http://91.121.237.216/xwiki/bin/view/Main/ (along with instructions) so
that
you may test out xwiki-webdav:xwiki-ui
integration yourself :)
* So altogether we have 4 projects
[xwiki-rootwebapp],[xwiki-webdav],[xwiki-webdav-plugin],[foxwiki] and
follwing is our task break down for days to come :
1. Cleanup the source code and make it upto xwiki standards (2 more
days
work remaining, need to add javadoc comments).
2. Create a maven build (Done).
3. Discuss proper places to land these projects (on trunk).
4. Send a vote to move these projects into trunk.
5. Create JIRA projects as necessary. (i'm not sure if we would have
four separate projects or not)
6. Release a first version.
* Now to start with, we need to discuss where to place these projects
under
the main source tree, following are some initial
suggessions but i'm not
certain about these :)
[xwiki-rootwebapp] : No Idea.
How about
http://svn.xwiki.org/svnroot/xwiki/platform/xwiki-tools/trunk/xwiki-rootweb…
I was about to add a similar root webapp, but a simple
one that would
just redirect calls to /xwiki/, in order to solve
http://jira.xwiki.org/jira/browse/XE-289 . I could merge my (silly
simple) code with yours sometime later.
Mine is silly simple too :)
<code>
protected void doOptions(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException
{
response.setStatus(HttpServletResponse.SC_OK);
response.setHeader("MS-Author-Via", "DAV");
response.setHeader("Content-Language", "en");
response.setHeader("DAV", "1,2");
response.setHeader("Allow", "OPTIONS, GET, HEAD, PROPFIND, LOCK,
UNLOCK");
response.setHeader("Content-Length", "0");
response.flushBuffer();
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
resp.sendRedirect("/xwiki/");
}
</code>
That's all!.
Maybe.
[xwiki-webdav-plugin] :
http://svn.xwiki.org/svnroot/xwiki/platform/xwiki-plugins/trunk/xwiki-webda…
be we should change the name ?)
The proper place, but since all other plugin modules are named without
the leading xwiki-, maybe it should just be named webdav.
Another idea would be to make this not a plugin, but a
component, like
in
http://dev.xwiki.org/xwiki/bin/view/Drafts/CreatingComponents in
which case it could as well be included in the xwiki-webdav module.
++1 for this :P
I was waiting for a chance to write a plexus component myself. Anyway, i'm
not sure if that is indeed necessary (complete newbie to plexus).
- Asiri
It's not exactly a product, since it is quite small. Could it go in
xwiki-tools? Not sure, let's see what others have to say.
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs