Extension:CategorySuggest

What can this extension do?
Adds input box to edit and upload page which allows users to assign categories to the article. When a user starts typing the name of a category, the extension queries the database to find categories that match the user input.

This extension has been extracted from the code in Extension:SelectCategoryTagCloud.

Download instructions
Please download the extension from SVN or unzip the zip place the files into the extensions folder:. Note: $IP stands for the root directory of your mediawiki installation, the same directory that holds LocalSettings.php.

Installation
To install this extension, add the following to LocalSettings.php: Configure the MediaWiki database credentials in CategorySuggestSuggest.php. If necessary, customise the location of the CategorySuggestSuggest.php file on your webserver in CategorySuggest.js. (Obsolete, Lindele 17:49, 10 March 2008 (UTC))

To Do

 * Categories disappear after clicking on 'Preview' (Completed, Lindele 18:04, 10 March 2008 (UTC))
 * Modify SQL query to allow search for multiple terms (currently search ignores everything after a user entered a space character) (Completed, Lindele 17:49, 10 March 2008 (UTC))
 * Add event to resultsdiv so that hitting ESC clears the div (Completed. ESC not working, but a mouse click outside the results area will clear it (Kudos to Jared Milbank), Lindele 17:49, 10 March 2008 (UTC))
 * Change resultsdiv to display in block (one single column) (Completed, Lindele 17:49, 10 March 2008 (UTC))
 * Make resultsdiv navigateable. Google suggest and other sites allow users to navigate the results list with the arrow keys.
 * Highlight matching characters of user input with results list (user types MI and all results matching MI have the MI part of the word in bold or different color) (Completed (Kudos to Jared Milbank), Lindele 17:49, 10 March 2008 (UTC))
 * Move CategorySuggestSuggest.php page to a Mediawiki Query API based solution. Need to extend API to enable that feature. (Completed (Kudos to Jared Milbank), Lindele 17:49, 10 March 2008 (UTC))
 * Optimise for large category sets. If this extension would be run against Wikipedia, it would be choked by the large number of categories.
 * Adds a space after a < /nowiki> tag for each time the page is edited (Completed, Lindele 17:49, 10 March 2008 (UTC))
 * Adds a line break before each  tag for each time the page is edited,
 * It is tricky to use with and tags, (perhaps there should be a user preference to turn it off, so they can prevent pages being parsed)
 * Categories with characters other than spaces, letters and numbers are not found on the page (e.g. ".", "-") (Completed, Lindele 17:49, 10 March 2008 (UTC))
 * Category lookup is case-sensitive (Completed, Lindele 17:49, 10 March 2008 (UTC))
 * Hard to use with | to reorder categories,
 * Sometimes does not show categories that have just been added (caching issue),
 * does not look up categories including some special characters when you type them (e.g. &),
 * Inserts some special characters in markup format (e.g. & becomes &amp ;),
 * Form should be created by javascript extension so it is not presented to users without javascript (Completed (Kudos Jared Milbank), Lindele 17:49, 10 March 2008 (UTC))
 * Soeren notes that the suggestions are currently sent with no charset specified (Changed to use AJAX API, retest of this bug required, Lindele 17:49, 10 March 2008 (UTC))