[xwiki-devs] xwiki-webdav : xwiki-ui integration
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. * 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. [xwiki-webdav] : http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-webdav [xwiki-webdav-plugin] : http://svn.xwiki.org/svnroot/xwiki/platform/xwiki-plugins/trunk/xwiki-webdav... be we should change the name ?) [foxwiki] : http://svn.xwiki.org/svnroot/xwiki/foxwiki WDYT ? - Asiri
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?
* 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-rootweba... 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.
[xwiki-webdav] : http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-webdav
Maybe.
[xwiki-webdav-plugin] : http://svn.xwiki.org/svnroot/xwiki/platform/xwiki-plugins/trunk/xwiki-webdav... 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.
[foxwiki] : http://svn.xwiki.org/svnroot/xwiki/foxwiki
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/
Hi Sergiu, On Tue, Sep 30, 2008 at 4:13 AM, Sergiu Dumitriu <[email protected]> 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-rootweba...
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!.
[xwiki-webdav] : http://svn.xwiki.org/svnroot/xwiki/platform/core/trunk/xwiki-webdav
Maybe.
[xwiki-webdav-plugin] :
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
[foxwiki] : http://svn.xwiki.org/svnroot/xwiki/foxwiki
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 [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Asiri Rathnayake wrote:
Hi Sergiu,
On Tue, Sep 30, 2008 at 4:13 AM, Sergiu Dumitriu <[email protected]> wrote:
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!.
So you already did the redirect to /xwiki/ on doGet. Merge done! -- Sergiu Dumitriu http://purl.org/net/sergiu/
participants (2)
-
Asiri Rathnayake -
Sergiu Dumitriu