Concept
Maintaining "infoboxes" in large wikis is a painful process.
It would be very convenient if the data in the boxes could be structured, so that the wiki engine could parse it and generate infoboxes automatically.
Structuring this data could also allow users to display tables of the infoboxes from a large number of wiki pages for quick browsing. These tables could be edited like spreadsheets as well.
I propose a simple way of inserting structured "data tables" into a wiki page. A wiki article could contain any number of these data tables.
Each data table has a type, which defines how the data is to be displayed (like templates). Optionally, the type can instruct the wiki software how to display a form for editing the data table, and how to show all the articles' data in a large table for quick sorting/filtering (and even editing).
Combat Shotgun Example
All the following examples use the Combat Shotgun page on the Left 4 Dead wiki.
Article
The main article could be reformatted thusly:
= Combat Shotgun = <<Type:WeaponInfo>> { name: Combat Shotgun icon: Image:Spas12_invert.png type: Shotgun magazine_capacity: 10 carry_capacity: 90 damage: 252 (9 pellets * 28 damage each) rate_of_fire: 200/minute damage_per_second: 836 damage_per_magazine: 2520 total_damage: 25200 } ...blah blah blah, text about the shotgun... etc..
Type
The "WeaponInfo" type would contain a template for displaying the weapon info:
== Weapon Info for {{WeaponInfo:name}} == Damage per second: {{WeaponInfo:damage_per_second}} etc...
Plugin Example: Summary Table
What if we wanted to query all the datatables, and generates a nice interactive sortable/filterable table of all the weapon statistics?
Well, we'd use the SummaryTable plugin, of course. Here's how it could look:
<<SummaryTable(WeaponInfo)>> { sort_by: total_damage hide: icon }
Remembering all the options could be hard, of course, so the SummaryTable plugin would let the user sort the table, filter it, hide columns, and then give them a snippet of code that they can paste which looks like the code above.
