Extension:CrossCat

The CrossCat extension allows user to navigate through categories and categories intersections and to create an article in an intersection of categories. It implements some of the features requested in en:Wikipedia:Category_intersection.

It has be designed to be compatible with the Extension:CategoryTree extension, although the purpose of CrossCat is to change the way category pages are used and displayed in MediaWikis.

Article
Unsing CrossCat, The "categorylinks" panel at the bottom of the article pages provides now checkboxes that allows user to select or unselect a category in the intersection of categories which contains the article. Press the "Exlore" button and you will be directed to the intersection page.

Category page
A category page provides a link to the corresponding intersection page.

You can create a subcategory or put the category in a supercategory : just fill an input box and click the button.

A category page doesn't show articles anymore (unless you use an option for forcing it) because CrossCat uses crowed categories : all intersections are made dynamically and then do not exists as subcategories.

Intersection page
An intersection page looks like a category page, but the purpose is different. It displays the articles, and not subcategories (unless you want to do the transition). You can create an article that is subcategorized in all the categories, just filling a text box. As in article pages, you can use check boxes to view a new intersection. You can also navigate in parent(s) or children of the categories, or add a category to intersect with the others.

To access directly an intersection page, just type : "Intersection:Cat1::Cat2::Cat3" in the search box.

Performance
Make intersections of categories is a major load for the data server. But before making this intersection, CrossCat must find all the descendants of categories that are intersected. The presence of hard-intersections as subcategories, slows down this first step, or may cause it to fail due to lack of memory or timeout.

To get an average performance with CrossCat, it is imperative to clean up the category tree of the hard-intersections. For wikis with a large number of articles, this cleaning must be at least semi-automated. This is one of the areas for improvement of CrossCat.

Download instructions

 * Download the latest release from sourceforge
 * Extract to temporary folder
 * Read installation instructions in section below

Installation
To install this extension, add the following to LocalSettings.php:

Note: $IP stands for the root directory of your MediaWiki installation, the same directory that holds LocalSettings.php.

Configuration parameters

 * : if true, allows the creation of an intersection article (not recommended);
 * : if true, the intersection includes all the subcategories of intersected categories ;
 * : if true, old display of intersection navigator (not recommended) ;
 * : if true, parents and children are displayed as selects (not recommended) ;
 * : always true, to allow Javascript to display the intersection navigator in article pages ;
 * : if true, displays some suggestions in input boxes ;
 * : if true, categories are splitted when saving a page (EXPERIMENTAL : DO NOT SET TO TRUE) ;
 * : if true, distinguish between super-categories from a category and categories from a category page ;
 * : a matrix to determine which page displays what.