Extension:CrossCat

From MediaWiki.org
Jump to: navigation, search
Language: English  • français
MediaWiki extensions manual - list
Crystal Clear action run.png
CrossCat

Release status: experimental

Implementation Hook, Page action
Description The CrossCat extension provides a panel which allows user to explore category intersections.
Author(s) Juju2004talk
Last version 0.35 (22 sept. 2011)
MediaWiki 1.17
License GPL
Download Download current version
User:Juju2004/Extensions/CrossCat/README
User:Juju2004/Extensions/CrossCat/CHANGELOG
Parameters

$wgCrossCatAllowIntersectionArticle, $wgCrossCatInclusiveIntersection, $wgCrossCatOldNavigatorCols, $wgCrossCatOldNavigationStyle, $wgCrossCatUseJSToDisplayIntersectionNavigator, $wgCrossCatSuggestions, $wgCrossCatSoftSplit, $wgCrossCatDistinguishCategoryPageCats, $wgCrossCatXDisplaysY

Hooks used
ArticleFromTitle

EditPage::importFormData
EditFormPreloadText
EditFormInitialText
SearchGetNearMatchComplete
OutputPageBeforeHTML

Check usage and version matrix

Warning Warning: This extension is under development and should not be used in a production environment.

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.

Contents

Usage [edit]

Article [edit]

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 [edit]

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 [edit]

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 [edit]

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 [edit]

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

Installation [edit]

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

require_once("$IP/extensions/CrossCat/CrossCat.php");

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

Configuration parameters [edit]

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

See also [edit]

Extension:DynamicPageList