[pmwiki-users] PageLists of database contents
Patrick R. Michaud
pmichaud at pobox.com
Wed Oct 4 17:37:30 CDT 2006
On Wed, Oct 04, 2006 at 03:00:59PM -0700, Martin Fick wrote:
> --- "Patrick R. Michaud" <pmichaud at pobox.com> wrote:
> > The key to making this more efficient will be to
> > reduce the overall number of "pages" (records) that
> > MakePageList has to perform its searches on. I'm
> > thinking the best approach to this will
> > be for us to provide either (1) options to
> > ListPages() and ls() or (2) alternate methods
> > entirely so that we can tell a
> > PageStore/DataStore object "we want the names of
> > 'pages' that might match these criteria" as opposed
> > to "give me a list of all pages". Then we can
> > optimize things quite a bit.
>
> You probably know my thougths on this: yes, yes, yes.
> More "Searching" should be done at the pagestore level
> so that optimizations can be implemented easily (and
> past on to DBs potentially. With this, it seems like
> the page-index should move into the pagestore instead
> of the pagelist script.
...except then we have page *indexes*, not a single
pageindex. And we have to figure out where to keep the
pageindex for a directory that the webserver cannot
write to (e.g., wikilib.d/).
This isn't to imply it's not a good idea or can't
be done, just that doing this would require a fair
amount of rearchitecture to the existing PageStore.
> > I'm also needing to re-think a few of PmWiki's
> > internals here, especially the $PCache array.
>
> Yes, yes, attributes should also be done at the
> pagestore level... this migh break a lot of recipes?
Only those recipes that are directly accessing
$PCache, which I've tried to discourage over time.
Everything else ought to be plug compatible (or made to
be that way).
> > I wasn't planning to revamp
> > $PCache for 2.2... but with the pagelist and page
> > variable changes it's becoming far more relevant,
>
> Break it now, pmwiki will be awesome! Even though it
> might break recipes, many of them could be eliminated
> or greatly enhanced/simplified with these features
> anyway,
I don't think I'll do this for 2.2. PageStores need to be
substantially redesigned anyway to handle non-ASCII
characters in filenames, and case-insensitive pagnames
on case-sensitive filesystems, and spaces in pagenames,
and a bunch of other things that need addressing.
So, if changing PCache and search are going to require
substantial modifications to PageStore, it'll probably
have to wait for 2.3, because unless I suddenly have a
bunch of breakthrough ideas on some of these other
PageStore-related items it would hold up the 2.2
releases for far too long.
Besides, a deprecation cycle for $PCache would give
recipes an opportunity to migrate away from using
it before making a switch.
Pm
More information about the pmwiki-users
mailing list