[pmwiki-users] Cacheing pagelist results within the same page for duplicate searches?

Christian Ridderström christian.ridderstrom at gmail.com
Fri Aug 22 02:08:55 CDT 2008


We've found it convenient to present pagelists sorted in several ways, e.g 
by listing the pages in a table as follows:

| Sorted by         | Sorted by         | Sorted         |
| creation time     | modification time | alphabetically |
|                   |                   |                |

This is quite nice as it makes it quite a lot easier for us to find the 
page you're interested in (we're using the wiki as a knowledge repository, 
and often you have some relative idea of when the page was created and/or 
last modified). Here's an example of the markup:

!!!! Pages sorted by creation time, modification time and alphabetically

(:cellnr:)Sorted by creation time (most recent first)
(:cell:)Sorted by modification time (most recent first)
(:cell:)Sorted alphabetically
(:cellnr:)(:pagelist group={$Group} fmt=#namespaced $:obsolete=-yes order=-ctime :)
(:cell:)(:pagelist   group={$Group} fmt=#namespaced $:obsolete=-yes order=-time :)
(:cell:)(:pagelist   group={$Group} fmt=#namespaced $:obsolete=-yes :)

It might look complicated, but it's just a pagelist that presents the 
results using the format 'namespaced', and excludes pages that have a page 
text variable 'obsolete' set to 'yes'.

The problem here is related to speed: Since we use the pagelist three 
times and the number of pages in the group is large and increasing, we've 
found that it makes the page slow to render.

However, as the actual search criteria are identical for the three 
pagelists, and the pagelists occur on the same page, I started to wonder 
if it would be possible for pagelist to automatically cache the matching 
list of pages?

What do people think of this idea?  Or are there better ways to present 
the result of a pagelist sorted differently?


Christian Ridderström, +46-8-768 39 44            http://www.md.kth.se/~chr

More information about the pmwiki-users mailing list