Manual:MediaWiki feature list

You may wonder if you should use MediaWiki for your own wiki.. This depends on what kind of wiki you want to run. Wikipedia's software has many useful features that grew out of the needs of the users and the ideas of the developers -- but features also mean complexity. The functionality can be overwhelming, even though we try to do everything we can to keep things easy to use. Complexity also means that there are lots of places where you may have to customize the script for your own use..

Before you decide to use the Wikipedia script, please do take a look at other Wiki Engines and see if one of them might meet your requirements better. For small wikis, UseMod is always a safe bet -- it supports free links (as opposed to CamelCase) and does not need (or support) a database. This is, of course, also a bottleneck in terms of functionality.

Look and feel

 * Side bar: A bar on the left or right of the screen with short-cuts
 * Skins: Different ways to present the site, can be expanded using PHPTal templates.
 * Monobook, a modern skin with accesskeys and tooltips
 * User styles: Users can adapt the look and feel of the site through custom CSS on their user pages.
 * "Stub" threshold: Users can see links to articles below a certain size rendered in a different color
 * Printable versions of articles can be generated
 * Auto-number headings in an article (optional)
 * Generate a table of contents for long articles (optional)
 * Automagically turn ISBN numbers into links to an editable list of booksellers
 * XHTML-compatible output (or darn close to it), tidy integration

Multimedia and extensions

 * File upload feature allows to upload graphics or sound files, see special:Upload. Uploaded files are listed on Recent Changes and they are also logged on log:Uploads.
 * Mathematical formulas using LaTeX syntax: see texvc
 * Automatic resizing of images using ImageMagick or libgd, simple syntax for image captions and image alignment
 * WikiHiero for Egyptian hieroglyphs
 * EasyTimeline for time charts

Keeping track of edits

 * Watchlist Every page has a link "Watch this article for me". Use special:Watchlist to track changes on the articles you declared an interest in; watched articles are also bolded in the Recent changes list.
 * User contributions in the sidebar of each user page list all articles the user has worked on, according to the database.
 * Extended recent changes with dynamic collapsing of edits to the same article and quick links to diff the edit, show the article history, show the user page, show the user talk page, or block the user (for sysops)
 * "Related changes": View a filtered version of Recent Changes to the pages linked from the current page.
 * Side-by-side diffs - the diffs are shown side-by-side, and changed portions of lines are highlighted, making it much easier to see what's what. Additionally, a diff is shown during an edit conflict so you can see exactly what you need to reintegrate.
 * Real names. Users can (optionally) specify a "real name" they want to use for author credits.
 * On-page credits. Administrators can enable an on-page paragraph giving credit to editors who've worked on a page.

Structure and syntax

 * Editing syntax based on UseMod, with support for mixing wiki-syntax and HTML. Only free links are supported for linking, not CamelCase (deliberate design decision).
 * Namespaces allow content separation (to address the namespace, use the Namespace:Page title syntax).
 * Discussion (Talk:) pages are separate from article pages, "meta" project pages can be separated from content pages, image pages are used for image descriptions.
 * MediaWiki: namespace contains all user interface texts, so that they can be edited like any other wiki page
 * Template: namespace for custom messages. Templates may contain string variables which are replaced with certain values passed to the template from the calling page.
 * Transclusion of arbitrary pages in any namespace.
 * Word-extension linking: If you include a link of the form wars, or wartime , the system will automatically display it as if you had typed wars or wartime , respectively, saving some typing.
 * Parenthetical hiding If you include a link of the form kernel (mathematics), the parenthetical portion will be hidden in the link: kernel. This is useful for disambiguating different meanings of a word without making linking too difficult or cluttering up the text of articles. This also works with cropping out namespaces when you want a cleaner-looking link: copyrights becomes copyrights
 * Link to individual sections of an article, e.g. MediaWiki roadmap (these links may become invalid if sections are retitled or removed)
 * Support for subpages (link to "Foo/Bar" from "Foo" by just typing "/Bar", "Foo/Bar" contains a backlink to "Foo"), these can be enabled or disabled by namespace (e.g., Wikipedia currently supports subpages on discussion pages, to make archiving easy, and on user pages, to give users space for personal pages)
 * Special keywords for inserting dynamic data such as the name of the current page, the current date, the number of articles, etc.

Editing

 * Section editing. Users can enable an option that allows them to edit individual sections of an article (separated by headlines) instead of loading the entire article.
 * Edit toolbar (JavaScript-based) for formatting text as bold, italic etc. (fully works in Mozilla and IE, other browsers use it to show the syntax, but cannot format text inside the textarea because their JavaScript implementation does not support it). If JavaScript is disabled, the toolbar is not shown.
 * Edit summary which is shown in "Recent changes". Will be prefilled with section title when section editing.
 * Double click editing: Users can enable an option that allows them to edit articles by double clicking them.
 * Edit preview (can be shown before or after edit box)
 * Handle edit conflicts (page being saved by a user while still being edited by another one, then saved again). MediaWiki will merge changes automatically if possible and otherwise require the user to do a manual merge.
 * Mark edits as minor; users can decide to hide such edits from the Recent Changes list. Only signed in users can mark edits as minor..

Discussions

 * Talk pages: Each user (including every anonymous user) and every article has an associated page where messages can be left. These are separate namespaces (see above), "Talk:" and "User talk:".
 * Message notification (user gets a "You have new messages" notice if someone else has edited his user discussion page); this also works for anonymous users
 * Automatic signature: Just type three tildes (~) when you edit, and on saving the page, it will be replaced with your user name and a link to your user page. If you use four tildes, the current date will be added as well. Mainly intended for Talk pages.
 * Support for emailing users through the wiki (email address not shown to the user)

Multilanguage support

 * Translated into many languages (see en:Wikipedia:Multilingual coordination for details)
 * Interlanguage links: handy method for linking articles between wikis in different languages (each language requires its own database)
 * UTF-8 support

Backend

 * Database-driven (MySQL, no other databases currently supported)
 * Smart caching: rendered pages are (optionally) saved as static HTML files and served as such unless modified; support for Squid proxies
 * Cookie-based account and login system, but anonymous users can also edit pages.
 * All revisions of an article are stored (optionally compressed).
 * RSS syndication available for many special pages, such as Special:Newpages.
 * RDF metadata

Permissions

 * Different rights for anonymous users, signed in users, sysops, bureaucrats and developers.
 * Signed in users can:
 * move and rename pages
 * upload files
 * Sysops can:
 * protect pages from editing
 * delete and undelete pages
 * edit protected pages
 * ban users by IP address
 * ban users by username, if this option is enabled
 * run SQL queries on the database, if this option is enabled
 * "Bureaucrats" can:
 * create sysops
 * Developers (admins) can:
 * lock the database
 * run various maintenance tasks
 * Other permission schemes (e.g. only signed in users can edit pages) can be configured

Search and Queries

 * Full text search
 * "Go" button allows direct viewing of a specified article's contents (tries near match if no exact hit)
 * "What links here": View pages that link to the current page (backlinks)
 * Special report pages:
 * New pages: List of newly created articles
 * Ancient pages: Articles sorted by timestamp, ascending
 * List of images
 * List of users
 * Site statistics
 * Orphaned articles (articles that have no links pointing to them)
 * Orphaned images
 * Popular articles (articles by number of visits, works only if counters are enabled)
 * Most wanted articles (non-existent articles sorted by number of links pointing to them)
 * Short articles
 * Long articles
 * List of all pages by title

Misc.

 * Random article display function
 * Users can configure their timezone, which is used on all report timestamps
 * The attributes of many report pages (number of results etc.) can be set in the user preferences

Coming soon
See MediaWiki roadmap.