Extension:Taxonomy

What can this extension do?
To manage the structure of the articles, MediaWiki uses categories, which excels at the web structure. It can also be used to represent hierarchies, using internal links and subcategories, but it has some weakness:
 * The hierarchy must be constructed in bottom up fashion.
 * Selecting all articles belongs to a top category is slow.

This extension solve the problems by :
 * Adding a new table for storing the taxonomy in nested hierarchy structure.
 * Providing a taxonomy-tree tag to define the taxonomy tree in a page using a top down approach.
 * Providing a taxonomy tag to show the dynamic article list in any page, using the faster nested hierarchy technique.

Usage
After installation (see below), there are three general steps to use it.

Define The Taxonomy Tree

 * Create a new taxonomy page (e.g: Taxonomy:Main)
 * In the page, write the taxonomy definition, for example :

This is the definition of "Main" taxonomy.  
 * Information Technology
 * Hardware
 * Computer
 * Networking
 * Software
 * Operating System
 * Middle ware
 * Applications

Note that each line contains the bulleted tags (*) to express the hierarchy depth, then the category name. When the page is saved, the extension creates the standard Mediawiki categories as needed (including the Main category). However, it won't necessarilly create the category page. (Technically speaking, it insert new records in the 'taxonomy' and 'category' tables, but not in the 'page' nor in the 'categorylinks' table).

The taxonomy-tree tag support the following parameters:

Attach Pages to the Categories
Attach any page to the category using the standard Mediawiki tag, e.g:

Show the dynamic page list
In any page, just add the taxonomy tag as follow: Main

or use the parser instead (recomended for a template):

The following parameters might be used

Download instructions
The source code can be found below.

Installation
This extension requires 4 steps of installation.

Add the Taxonomy Table
Please create the taxonomy table in your Mediawiki database, using the following SQL code (This is for MySQL database).

Put the Taxonomy.php file
Copy the Taxonomy.php source code below, and place it in. Note: $IP stands for the root directory of your MediaWiki installation, the same directory that holds LocalSettings.php.

Put the Taxonomy.i18n.php file
Copy the Taxonomy.i18n.php source code below, and place it in. If necessary, edit that file to add your localization.

Edit the LocalSettings.php
Add the following lines

Acknowledgments
This program took some code from Extension:Hierarchy by Fernando Correia and Extension:Dynamic_Article_List by Shannon McNaught.