|
Description: |
We noticed that on large wikis the with lots of blogs and blogs posts the 'All Blogs Panel' (Blog.AllBlogsPanel) panel takes a long time to load and sometimes it doesn't even load as the server returns a connection timeout error.
Note that the panel slowness has an impact on the Panels wizard loading, in the way that it prevents the panels wizard from loading quickly and sometimes from just loading.
We are reproducing on an XWiki instance with the following amount of data :
* Total number of pages : 258083 * Number of blogs : 262 * Number of blog posts : 37470
When checking the [code|https://github.com/xwiki-contrib/application-blog/blob/master/application-blog-ui/src/main/resources/Blog/AllBlogsPanel.xml#L129] of the panel we can see that there is no limit applied on the XWQL query used to get the list of blogs pages available on the wiki, so, the panel is listing all existing blog pages which is causing the slowness when there is a lot of blogs.
So, to fix the issue, the panel should be improved to paginate the query results.
The {{documentTree /} macro, which has pagination, could be used with the "filterByClass" parameter to only return blog pages. |
|