Good Wikitech-l Folk,
I write in the hopes of getting some input or ideas about an extension I've written that attempted to solve a particular maintenance and navigation problem I think I have. I most interested in whether it's anything like The MediaWiki Way of doing things.
My problem: I have a lot of documents with a fairly straight-forward a priori order (these are digitized notebooks and papers of family memorabilia), where lots is hundreds of individual page-sides. I wanted a couple of things:
To put them in a wiki to allow for them to be viewed, commented on, linked, &c.
To lay down the original order the page-sides occured.
Sure, my audience is going to come along and add other connections, but this is the first path they can start with.
One way I could have done this was to have each page contain a link to the next and previous pages explicitly. Straihghtforward, and fairly easy to have a bot go through and programmatically add the links. But this approach also struck me as a maintenance problem: suppose I got something wrong the first automation, and wrong in a tedious way to fix? Suppose new information comes along later than makes us want to re-arrange this order? Suppose I don't want to just write a bot to do this for me?
If, on the other hand, instead of explicit links, something like MediaWiki's Categories were added to each page, something that placed the specific page in a broader context through code, then that would be preferable. Categories, though, didn't quite answer, they are really for grouping things that have some trait in common together, not for sequencing many things.
Suppose one page in the wiki contained a map of some other pages? If I included a tag in a page that refered to some map page, then my extension could look up the map, find the context of the referring page, and print out suitable navigation links.
Some crufting around later, Nav.php was born: at a little sandbox mediawiki 1.5.4 at http://www.nigelk.org/wiksand/index.php?title=Nav_Map_Demonstration, find a couple of demonstrations of this Nav.php extension I've written.
Is there a built-in or better way of trying to solve this problem I think I have? Would it be thought of differently by the mediawiki developers here? Is this kind of lashup of interest to anyone? Is my php completely horrible? Any thoughts or inputs, either here on the list or in discussion at that sandbox above, is appreciated.
Respectfully submitted, Nigel Kerr nigelk@nigelk.org