[pmwiki-users] pmwiki-2.2.0-beta3 released (new pagelist code)

Patrick R. Michaud pmichaud at pobox.com
Tue Sep 26 16:24:32 CDT 2006

I've just released pmwiki-2.2.0-beta3, now available at:


This release incorporates a substantially rewritten pagelist.php
script, which is more modular and should allow greater customization
by recipe writers.

However, since there's a lot of new code in pagelist.php, it may
still have some bugs or unexpected incompatibilities with previous
versions of pagelist.  Therefore, I recommend treating this release
as being a "development" or "experimental" release until the code
has had an opportunity to be tested a bit further.

On the other hand, this is the version that is running on pmwiki.org,
so it's at least good enough to be used somewhere and hopefully we'll
find any problems quickly.  :-)

One feature that the new pagelist code adds immediately is the
ability to sort pagelists based on page text variables.  For example,
to order pages based on the {$:BookTitle} page text variable, one
can use:

    (:pagelist order=$:BookTitle ... :)

As yet there's not a way to _select_ pages using page text variables;
I'm still working on potential implementations for that.

Note, however, that we're collectively starting to ask the (:pagelist:) 
command to do an lot of dynamic work, and using lots of page text 
variables and pagelist template markups in a query can really slow 
things down.  (:pagelist:) has been designed for ease of use and
flexibility, with speed a somewhat distant consideration.  It will
take some time for us to learn the limits of what we can do.  At 
some stage we may be able to come up with a significant redesign 
of PmWiki's internals that can speed up pagelist operations, but 
for now I really can't make any guarantees about how fast things 
will be if you start using a a complex pagelist template to 
search through a list of 10,000 pages that are being sorted
by a sequence of page text variables...

Another new feature is that group= and name= parameters now 
combine with trail=, so that

    (:pagelist trail=SomeTrail group=XYZ:)

only returns the pages on SomeTrail that are in group XYZ.

There will be other additions and improvements to (:pagelist:)
over the next few releases.

Any comments, especially reports of problems with the new code,
are greatly appreciated.


More information about the pmwiki-users mailing list