[pmwiki-users] SelectQuery development: database records as pages?
Patrick R. Michaud
pmichaud at pobox.com
Tue Sep 26 20:56:32 CDT 2006
On Tue, Sep 26, 2006 at 05:15:44PM -0500, Ben Stallings wrote:
> To be honest, I haven't used pagelists yet. I'm going to go read up on
> them now. But my gut reaction to this idea is that database information
> is fundamentally more structured than wiki information, and rightly
> so... my purpose in writing SelectQuery and UpdateForm was to use the
> wiki as a *front end* for the data, not to actually bring the data into
> the wiki. [...]
> I'd like a second opinion from someone who knows more about what
> pagelists can do... would it be useful to do what Pico is suggesting?
> Or would it open a whole new can of worms?
I think the most important point to be made here is that pagelists
are all about doing things with lists of *pages*. At the heart of
the pagelist command is the idea that we're creating a list of
pages of some sort, and then doing some processing on each page
in that list.
Somehow I think this is really different from SelectQuery, which
is really about allowing arbitrary queries into MySQL databases,
and such queries will probably always be more powerful than (:pagelist:).
Still, I can see how using (:pagelist:) to access records in a MySQL
table could be somewhat useful. It wouldn't be that hard to do, either--
here are the key points:
- Each record in the MySQL table is conceptually a "page" in PmWiki
- Each record can be referenced by some unique identifier that
fits the PmWiki pagename format
- There's a way to get a list of all of the identifiers (pagenames)
from the table
- When PmWiki requests reading of a particular page (i.e., record),
the PageStore object returns a "page" where the text of the page
is a series of page text variable definitions.
For example, if we have a table with columns "name", "address", "city",
then the custom PageStore object would query the table for a record
and return markup text that looks like:
name: Alice Adams
address: 123 Any Street
city: Anywhere, USA
Then (:pagelist:) would be able to make lists of records using
pagelist templates and the page text variables.
But as you mentioned, this is really more of "looking at a database
as if it were a series of pages" instead of "providing an easy way to
query a database".
Hope this helps,
Pm
More information about the pmwiki-users
mailing list