Hi Ludovic,
2008/8/1 Ludovic Dubost <ludovic(a)xwiki.com>
I've done some larger testing with a wiki with 4000 documents. The
integration worked well (except some plexus init change needed).
However the system is quite slow when getting to big directories. Although
we can improve the server part, I think it's a bad idea to have by design
large directories. Operating System WebDAV client can be very aggressive
(downloading files to generate thumbnails, making requests looking for
temporary files). I was able to improve the speed of error handling however
there are still way too many calls to the server.
For example the attachment view has more than 1000 documents. This makes
more than 2000 request to display with the MAC OSX WebDAV client.
So I propose to change our view to make it almost impossible to get to
large directories in our WebDAV view. The general principle is to breakdown
by space name and then breakdown by the first letters for the page name.
For example the attachment view instead of being
attachments/pagename/attachmentname
would beconde
attachments/spacename/firstletters/pagename/attachmentname
firstletters would be the first letters of pages existing in that view. It
could be one letter, two letters, three letters or could change based on the
number of pages in the view.
I have modified the attachments view according to these requirements and it
works fine on my local machine. Can you give it a try with your wiki ?
For example it could be one letter with less than 200 documents, two with
less 5000, three more than 5000.
We could go up to 100000 documents with folders of around 30 pages with a 3
letter subdirectory.
If you need to control this logic, i have isolated it into
XWikiAttachmentsBySpaceNameDavView::calculateSubViewNameLength() method.
Also, which other views need to follow this pattern ?
Please have a look at the code also, everything is inside
"com.xpn.xwiki.plugin.webdav.resources.views.attachments" package.
Thanks.
- Asiri
I've detailed the view proposal here:
http://dev.xwiki.org/xwiki/bin/view/Design/WebDAVService
WDYT ?
Ludovic
--
Ludovic Dubost
Blog:
http://blog.ludovic.org/
XWiki:
http://www.xwiki.com
Skype: ldubost GTalk: ldubost
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs