[xwiki-devs] [GSOC] [WEBDAV] Test of the current version
I've tested the current version of the webdav prototype with the changes from today (r313). I've been able to navigate the webdav directories with DAVExplorer, Mac Folders, Windows XP Web Folders. I was able to view content with all of these webdav clients. Windows XP opened everything in Internet Explorer (wiki.txt and images). With DavExplorer I was able to get wiki.txt on my mac desktop, modify it and publish it again. With Mac Folders I was able to directly open wiki.txt in my desktop application. But I was not able to save it back (I get a first message saying it has been modified on the server to which I say "ok save anyway" and then I get an error. I did a drag and drop of a modified wiki.txt which gave no error but did not modify the document. With Windows XP I was not able to open wiki.txt from notepad. I got an error when choosing the wiki.txt file. I was not able to drag and drop a modified wiki.txt either. Compatibility is going to be the number 1 problem ! Ludovic -- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
Hi Ludovic, 2008/7/13 Ludovic Dubost <[email protected]>:
I've tested the current version of the webdav prototype with the changes from today (r313).
I've been able to navigate the webdav directories with DAVExplorer, Mac Folders, Windows XP Web Folders. I was able to view content with all of these webdav clients. Windows XP opened everything in Internet Explorer (wiki.txt and images).
With DavExplorer I was able to get wiki.txt on my mac desktop, modify it and publish it again.
With Mac Folders I was able to directly open wiki.txt in my desktop application. But I was not able to save it back (I get a first message saying it has been modified on the server to which I say "ok save anyway" and then I get an error. I did a drag and drop of a modified wiki.txt which gave no error but did not modify the document.
With Windows XP I was not able to open wiki.txt from notepad. I got an error when choosing the wiki.txt file. I was not able to drag and drop a modified wiki.txt either.
Compatibility is going to be the number 1 problem !
How should we tackle this issue ? I kind of am puzzled why it works like that and how to go about fixing it. I have following things on my list, 1. Refactor the code (modularise). 2. Implement Locking / Versionning operations. 3. Document the code (currently it's bit poor) 4. Test and make sure it works on all platforms. How should i proceed ? what should be given priority ? Since now i'm familiar with code base and WebDAV protocol itself, i think i can pick up the phase a little, but i strongly believe it is better to set some deadlines (milestones) so that i too can measure my work. Thanks. - Asiri
Ludovic
-- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Asiri Rathnayake wrote:
Hi Ludovic,
2008/7/13 Ludovic Dubost <[email protected]>:
Compatibility is going to be the number 1 problem !
How should we tackle this issue ? I kind of am puzzled why it works like that and how to go about fixing it.
I think the reason there are issues is that you can't just have a partial webdav implementation. For example without locking you have some applications that will behave weirdly. Also since we are not exposing a "real" disk drive, you might also hit some issues with applications trying to save "temporary" files to the disk. We need to detect the most common ones and handle these in the server memory. I think what you first need to do is write some good tests proving that you are implementing the basic functions properly, including locking (and versioning if it is necessary). One we are sure the basic operation work, then we can look at client compatibility and for this we will need a good logging of the operations sent by the client so that we can understand their behavior. Having a test environment with some webdav server that works well could also be usefull to see the normal list of operations sent by clients.
I have following things on my list,
1a implement tests
1. Refactor the code (modularise) and document
2. Implement Locking / Versionning operations. 4. Test and make sure it works on all platforms.
How should i proceed ? what should be given priority ?
Compatibility with at least Mac and Windows standard tools is key. We need to be able to edit a document in Notepad or MSWord on Windows and one in OpenOffice on mac. You should have sufficient time to work on this. 1a implement tests 1w july 21th 1b refactor code 1w july 28th 2 implement locking 1w August 5th 3 test and fix compatibility 2w August 19th 4 document 5 implement versioning WDYT ?
Since now i'm familiar with code base and WebDAV protocol itself, i think i can pick up the phase a little, but i strongly believe it is better to set some deadlines (milestones) so that i too can measure my work.
Thanks.
- Asiri
Ludovic
-- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
Hi Ludovic, On Sun, Jul 13, 2008 at 7:03 PM, Ludovic Dubost <[email protected]> wrote:
Asiri Rathnayake wrote:
Hi Ludovic,
2008/7/13 Ludovic Dubost <[email protected]>:
Compatibility is going to be the number 1 problem !
How should we tackle this issue ? I kind of am puzzled why it works like that and how to go about fixing it.
I think the reason there are issues is that you can't just have a partial webdav implementation. For example without locking you have some applications that will behave weirdly.
Also since we are not exposing a "real" disk drive, you might also hit some issues with applications trying to save "temporary" files to the disk. We need to detect the most common ones and handle these in the server memory.
I think what you first need to do is write some good tests proving that you are implementing the basic functions properly, including locking (and versioning if it is necessary).
Agreed but i'm kind of not sure what sort of tests they should be. I believe JUnit testing is not what you meant. Please advice me on this, i'm kind of not sure what sort of approach i should be taking towards implementing tests but i agree with you that we should have tests.
One we are sure the basic operation work, then we can look at client compatibility and for this we will need a good logging of the operations sent by the client so that we can understand their behavior.
Having a test environment with some webdav server that works well could also be usefull to see the normal list of operations sent by clients.
I will look into tomcat and see what i can learn from it.
I have following things on my list,
1a implement tests
1. Refactor the code (modularise) and document
2. Implement Locking / Versionning operations. 4. Test and make sure it works on all platforms.
How should i proceed ? what should be given priority ?
Compatibility with at least Mac and Windows standard tools is key. We need to be able to edit a document in Notepad or MSWord on Windows and one in OpenOffice on mac. You should have sufficient time to work on this.
1a implement tests 1w july 21th 1b refactor code 1w july 28th 2 implement locking 1w August 5th 3 test and fix compatibility 2w August 19th 4 document 5 implement versioning
WDYT ?
Cool, i will update the devs list at least twice per week so that we can keep track of my progress along the lines of above dead-lines. Thanks. - Asiri
Since now i'm familiar with code base and WebDAV protocol itself, i think i can pick up the phase a little, but i strongly believe it is better to set some deadlines (milestones) so that i too can measure my work.
Thanks.
- Asiri
Ludovic
-- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Asiri Rathnayake wrote:
Hi Ludovic,
On Sun, Jul 13, 2008 at 7:03 PM, Ludovic Dubost <[email protected]> wrote:
Asiri Rathnayake wrote:
Hi Ludovic,
2008/7/13 Ludovic Dubost <[email protected]>:
Compatibility is going to be the number 1 problem !
How should we tackle this issue ? I kind of am puzzled why it works like that and how to go about fixing it.
I think the reason there are issues is that you can't just have a partial webdav implementation. For example without locking you have some applications that will behave weirdly.
Also since we are not exposing a "real" disk drive, you might also hit some issues with applications trying to save "temporary" files to the disk. We need to detect the most common ones and handle these in the server memory.
I think what you first need to do is write some good tests proving that you are implementing the basic functions properly, including locking (and versioning if it is necessary).
Agreed but i'm kind of not sure what sort of tests they should be. I believe JUnit testing is not what you meant. Please advice me on this, i'm kind of not sure what sort of approach i should be taking towards implementing tests but i agree with you that we should have tests.
My take: - you should find some webdav client library that you can use in your tests (DavExplorer or SLIDE) and use it to send simple commands to your module. Maybe the developers have better ideas ? -- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
On Mon, Jul 14, 2008 at 12:28 PM, Ludovic Dubost <[email protected]> wrote:
Asiri Rathnayake wrote:
Hi Ludovic,
On Sun, Jul 13, 2008 at 7:03 PM, Ludovic Dubost <[email protected]> wrote:
Asiri Rathnayake wrote:
Hi Ludovic,
2008/7/13 Ludovic Dubost <[email protected]>:
Compatibility is going to be the number 1 problem !
How should we tackle this issue ? I kind of am puzzled why it works like that and how to go about fixing it.
I think the reason there are issues is that you can't just have a partial webdav implementation. For example without locking you have some applications that will behave weirdly.
Also since we are not exposing a "real" disk drive, you might also hit some issues with applications trying to save "temporary" files to the disk. We need to detect the most common ones and handle these in the server memory.
I think what you first need to do is write some good tests proving that you are implementing the basic functions properly, including locking (and versioning if it is necessary).
Agreed but i'm kind of not sure what sort of tests they should be. I believe JUnit testing is not what you meant. Please advice me on this, i'm kind of not sure what sort of approach i should be taking towards implementing tests but i agree with you that we should have tests.
My take:
- you should find some webdav client library that you can use in your tests (DavExplorer or SLIDE) and use it to send simple commands to your module.
Ok, i think i can use jackrabbit webdav client classes. Btw, i wish to perform refactoring (little by little) along with test writing task. I hope this is ok with you :) Thanks. - Asiri
Maybe the developers have better ideas ?
-- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Le 14-juil.-08 à 10:23, Asiri Rathnayake a écrit :
- you should find some webdav client library that you can use in your tests (DavExplorer or SLIDE) and use it to send simple commands to your module.
Ok, i think i can use jackrabbit webdav client classes. Btw, i wish to perform refactoring (little by little) along with test writing task. I hope this is ok with you :)
Asiri, I think webdav client classes are known to be: - highly wished by many (really) - not widespread enough or not mature (e.g. Slides' client seemed to have security issues) Very fine if you can influence the jackrabbit client to actually be wide usage, last I checked it not have a sufficient webDAV client (or server? I don't remember, RMI was haunting then). Please be aware though that WebDAV compliance is sometimes quite hard. At least I know the mod_svn had to work individually for each client to make sure that their auto-commit feature works (and it still doesn't on MacOSX webDAV I think). To my knowledge, the most old-fashioned and beloved client is Cadaver, you may want to make sure this one works at least. paul
Hi Paul, On Mon, Jul 14, 2008 at 2:06 PM, Paul Libbrecht <[email protected]> wrote:
Le 14-juil.-08 à 10:23, Asiri Rathnayake a écrit :
- you should find some webdav client library that you can use in your
tests (DavExplorer or SLIDE) and use it to send simple commands to your module.
Ok, i think i can use jackrabbit webdav client classes. Btw, i wish to perform refactoring (little by little) along with test writing task. I hope this is ok with you :)
Asiri,
I think webdav client classes are known to be: - highly wished by many (really) - not widespread enough or not mature (e.g. Slides' client seemed to have security issues)
Very fine if you can influence the jackrabbit client to actually be wide usage, last I checked it not have a sufficient webDAV client (or server? I don't remember, RMI was haunting then).
You are correct about jackrabbit-webdav client classes. Seems like there are only a handful of classes<http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-webdav/src/main/java/org/apache/jackrabbit/webdav/client/methods/>. But the jackrabbit webdav server library is a very complete implementation according to my understanding. But yes, the documentation is poor and managing cross-platform issues seems to be the hardest task.
Please be aware though that WebDAV compliance is sometimes quite hard.
True.
At least I know the mod_svn had to work individually for each client to make sure that their auto-commit feature works (and it still doesn't on MacOSX webDAV I think).
To my knowledge, the most old-fashioned and beloved client is Cadaver, you may want to make sure this one works at least.
I think for writing test cases we need a java based WebDAV client library. I will look into DAVExplorer ad see what i can find there. Thanks. - Asiri
paul _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
Hi Lodovic, 2008/7/13 Ludovic Dubost <[email protected]>:
Windows XP opened everything in Internet Explorer (wiki.txt and images).
I think http://jakarta.apache.org/slide/xp.html is the proper approach to be used in XP :)
With Mac Folders I was able to directly open wiki.txt in my desktop application. But I was not able to save it back (I get a first message saying it has been modified on the server to which I say "ok save anyway" and then I get an error. I did a drag and drop of a modified wiki.txt which gave no error but did not modify the document.
Need to check with the latest version.
With Windows XP I was not able to open wiki.txt from notepad. I got an error when choosing the wiki.txt file.
I tried this and i got across the same issue but i'm pretty sure it is not something we can help, because notepad is incapable of handling dav protocol as it seems (i'm concluding this because server doesn't even report a request for the file).
I was not able to drag and drop a modified wiki.txt either.
Fixed :) Thanks, waiting for some feed-back .. ;) - Asiri
Compatibility is going to be the number 1 problem !
Ludovic
-- Ludovic Dubost Blog: http://blog.ludovic.org/ XWiki: http://www.xwiki.com Skype: ldubost GTalk: ldubost
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
participants (4)
-
Asiri Rathnayake -
Ludovic Dubost -
Ludovic Dubost -
Paul Libbrecht