-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I've asked this before, and got some vaguely positive answers, so I'll try again...
Whould we add tables to the database that store the values of variables passed to templates for each page? Like:
template_used : ID of page, ID of template page, unique ID template_values : ID of template_used, variable name, value name
This would allow for searching the meta data that is stored in the templates. My prime example would be the "Personendaten" (person data) template on the German wikipedia. For "Albert Einstein", it looks like this:
{{Personendaten| NAME=Einstein, Albert |ALTERNATIVNAMEN= |KURZBESCHREIBUNG=[[Physiker]] |GEBURTSDATUM=[[14. März]] [[1879]] |GEBURTSORT=[[Ulm]] |STERBEDATUM=[[18. April]] [[1955]] |STERBEORT=[[Princeton (New Jersey)|Princeton]], [[USA]] }}
so one could generate a list of all people sorted by *last* name, with key information like description, alternative names, time and place of birth/death.
I thought of this again when I was contacted yesterday about a way to improve wiktionary. I gathered that short of rewriting the whole MediaWiki, one could (by default) change the edit function to display a "real" input form, in contrast to the Big Text Box (tm) for a more data-driven wiki site like wiktionary. The form info could then be merged into a single text using a template, and taken apart again when the page is edited further.
That would allow for changing the data display by merely editing the template. Also, with the template variable/value mechanism described above, (simple) search queries could be run through a special page, and automatic processing of data sets (was:pages;-) would be possible/more easy than now.
I would implement the database side, if there are no concernes about the database getting Yet More Bloated, and MySQL Even More Sluggish (both (TM) MediaWiki;-).
Magnus