[pmwiki-users] Faster searches and categories
Patrick R. Michaud
pmichaud at pobox.com
Mon Sep 12 16:27:51 CDT 2005
On Mon, Sep 12, 2005 at 04:47:17PM -0400, Martin Fick wrote:
> Yes, the shell command line was already filled on my setup,
> thus the use of the environment variable. :)
The use of the environment variable doesn't eliminate
the shell command line restrictions; in
F=`...`; grep ... $F
the shell still has to expand and parse $F for the grep command
(and the result has to fit within the command line length).
> With the indexes, what happens if users change wiki pages
> manually on disk, could the results be wrong? I may be
> taking a leap in assuming that some users expect to be able
> to just drop in files which may overwrite older/newer
> versions of those files. I think this ability currently
> makes pmwiki elegant and much simpler than other
> alternative wikis, like the ones that use a db to store
> page data. Might this be an unintended sacrifice?
Changing pages manually on disk is something I wanted to
preserve; the existing implementation only runs into problems
if someone manually replaces an existing page with one that
has different targets. It works fine if a new page is
added or removed, or if a page is renamed. And even when
the existing page is replaced it's a problem only until the
next time the page is saved again (at which point the index
is corrected), or when a pagelist with "link=" to one of the
old targets is encountered.
In detail, given that SomePage targets "TargetA" and "TargetB",
and an administrator manually replaces SomePage with something
that targets "TargetB" and "TargetC", then
(:pagelist link=TargetB:)
works -- still shows SomePage as linking to TargetB
(:pagelist link=TargetC:)
error -- fails to show SomePage as linking to TargetC
(:pagelist link=TargetA:)
works -- doesn't show SomePage as linking to TargetA, but
also updates the index
So, the only case in which this fails is if an existing page is
replaced by a new one, and even then it only fails to show the page
for any new targets -- existing and old targets still display
correctly.
All in all, it seems like a very small, rare, and edge-case sort
of sacrifice for the performance obtained.
Pm
More information about the pmwiki-users
mailing list