[pmwiki-users] Turbo powered pagelists

The Editor editor at fast.st
Fri Feb 6 11:54:52 CST 2009


For what it's worth I've been doing this for quite a while in BoltWire
and it does make search results lightning fast.  Basically I have a
function that automatically adds values to a data page like:

page1: some value
page2: some other value
page3: some third value

Just a regular wiki page, but the info is generated whenever there is
a change in whatever info I'm tracking. Theres also an option to mine
a group of pages and extract the data from them into a page like this.

Then I have another little function that simply scans the specified
data page, finds the matching values and returns the pages, which are
then pumped directly into the templating routine. Doesn't have to open
a single page to read it's data values or ptv's (other than the one
data file), or even the search index. And even if your entire wiki is
indexed, because you control which pages and which data you are
tracking, your in-wiki index is far smaller, and parses more quickly.

I don't know how much hacking around it would take to do something
like this in PmWiki, but I do know it works. I use it for things like
tracking how many comments there are in a forum page or with page
counters (most popular pages) etc., and the results are easily 10x
faster. Sometimes much more.

So it's a great idea. I'm sure Pm can suggest some way to do something
comparable in PmWiki.

Cheers,
Dan


On Fri, Feb 6, 2009 at 9:56 AM, kirpi at kirpi.it <kirpi at kirpi.it> wrote:
>> with different page stores (flat files, sqlite, others?)
>
> I am not sure that I meant a change of page store.
> Actually, keeping the standard way of storing pages into files is
> generally a nice (reassuring?) thing.
>
> What if there is a way to delegate sqlite to retrieve just the
> relevant data for pagelists?
> Could such an engine (just to throw an idea) be based on a custom
> variation of recent Eemeli's PageTopStore, where the second copy of
> the pagelist-involved pages are kept (just the required parts of them,
> that is) into sqlite?
>
> So, in case I set up a simple 'sqlitepagelist' like this one
>
>   (:sqlitepagelist group=Group $:Birthday=- list=normal fmt=#pippo:)
>   (:if false:)
>   [[#pippo]]
>   [[Group/{=$Name}]] - {(ftime fmt="%F" when="{{=$FullName}$:Birthday}")}
>   [[#pippoend]]
>   (:if:)
>
> the 'sqlitepagelist' engine gathers the involved data and fills the
> database. Any future modification to certain pages will just need an
> update of the specific records, and not the whole set.
> So, any read access is directly made through the database, which is
> certainly much faster and lighter than going the traditional way.
>
>
> Really, how funny it is to write something about which I know and
> understand less than nothing!
> ;-)
> Luigi
>
> _______________________________________________
> pmwiki-users mailing list
> pmwiki-users at pmichaud.com
> http://www.pmichaud.com/mailman/listinfo/pmwiki-users
>



More information about the pmwiki-users mailing list