The Full Wiki

MediaWiki: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

MediaWiki logo
Developer(s) Wikimedia Foundation,
Tim Starling (release manager)
Initial release 25 January 2002
Stable release 1.15.2  (March 8, 2010; 11 day(s) ago (2010-03-08)) (see older versions) [+/−]
Preview release 1.16beta  (March 12, 2010; 7 day(s) ago (2010-03-12)) (see older versions) [+/−]
Written in PHP
Operating system Cross-platform
Available in over 300 languages
Type Wiki
License GPLv2+

MediaWiki is a web-based wiki software application used by all projects of the Wikimedia Foundation, and many other wikis. Originally developed to serve the needs of the free content Wikipedia encyclopedia, today it has also been deployed by companies for internal knowledge management, and as a content management system. Notably, Novell uses it to operate several of its high-traffic websites.[1]

MediaWiki is written in the PHP programming language, and can use either the MySQL or PostgreSQL relational database management system.


License and development

MediaWiki is free and open source software and is distributed under the terms of the GNU General Public License version 2 or any later version while its documentation is released under the Creative Commons BY-SA 3.0 license and partly in the public domain.[2] It has an active volunteer community for development and maintenance and at the core there is a small group of paid programmers for daily maintenance (bug fixing) and development for the projects of the Wikimedia foundation. The open source software model of MediaWiki, a not-for-profit model, permits free download and use, even commercially.


The current software was originally written for Wikipedia by Lee Daniel Crocker, based on the user interface design of Magnus Manske, a developer and student of the University of Cologne. Wikipedia had originally used a small wiki engine called UseModWiki written in Perl. Wikipedia was later switched to Manske's PHP-based software to offer more functionality. Increasing usage caused load problems, leading Crocker to re-write the software with a more scalable MySQL database backend. Later, Brion Vibber, the Chief Technical Officer of the Wikimedia Foundation,[3] took up the role of release manager and most active developer.[4][5] Since the release of the first version of Manske's script, the software had been given multiple nicknames representing the state of development—"the PHP script," "phase II," "phase III," "the new codebase"—but no product name. After the Wikimedia Foundation was announced on June 20, 2003, the name "MediaWiki" was coined by Wikipedia contributor Daniel Mayer as a play on "Wikimedia",[6] and the name was gradually phased in beginning in August 2003. The name has frequently caused confusion due to its intentional similarity to the "Wikimedia" name (which itself is similar to "Wikipedia"). The product logo was created by Erik Möller using a flower photograph taken by Florence Nibart-Devouard, and was originally submitted to an international logo contest for a new Wikipedia logo held in mid-2003.[7] The logo came in third place, and was chosen to represent MediaWiki instead of Wikipedia, with the second place logo used for the Wikimedia Foundation.[8] The double square brackets around the photo of a sunflower symbolize the syntax MediaWiki uses for creating hyperlinks to other wiki pages.

Key features

Editing interface of MediaWiki 1.7, showing the edit toolbar and some examples of wiki syntax.

MediaWiki provides a rich core feature set and a mechanism to attach extensions to provide additional functionality.

Due to the strong emphasis on multilingualism in the Wikimedia projects, internationalization and localization has received significant attention by developers. The user interface has been fully or partially translated into more than 300 languages,[9] and can be further customized by site administrators (the entire interface is editable through the wiki).

Because Wikipedia is one of the world's largest websites, achieving scalability through multiple layers of caching and database replication has also been a major concern for developers. Wikipedia and other Wikimedia projects continue to define a large part of the requirement set for MediaWiki.

One of the earliest differences between MediaWiki (and its predecessor, UseModWiki) and other wiki engines was the use of "free links" instead of CamelCase. When MediaWiki was created, it was typical for wikis to require text like "WorldWideWeb" in order to create a link to a page about the World Wide Web: links in MediaWiki, on the other hand, are created by surrounding words with double square brackets, and any spaces between them are left intact, e.g. [[World Wide Web]]. This change was logical for the purpose of creating an encyclopedia, where accuracy in titles is important.

To make editing long pages easier, MediaWiki allows the editing of a subsection of a page (as identified by its header).

MediaWiki has the user interface in different languages. A language for the wiki content itself can also be set, to be sent in the "Content-Language" HTTP header and "lang" HTML attribute.

Rich content

Images can be arranged in galleries, a feature that is used extensively for Wikimedia's media archive, Wikimedia Commons.

MediaWiki supports rich content generated through specialized syntax. For example, the software comes with support for rendering mathematical formulas using LaTeX and a special parser written in OCaml. Similar functionality for other content, ranging from graphical timelines over mathematical plotting and musical scores to Egyptian hieroglyphs, is available in the form of extensions and also aesthetic sense has improved considerably.

The software has become more powerful at dealing with a wide variety of uploaded media files. Its richest functionality is in the area of images, where image galleries and thumbnails can be generated with relative ease. There is also support for Exif metadata. The use of MediaWiki to operate the Wikimedia Commons, one of the largest free content media archives, has driven the need for further functionality in this area.

MediaWiki currently provides no native WYSIWYG support, though it does come with a graphical toolbar for simplifying the process of learning the wiki syntax. Various extensions exist for handling WYSIWYG editing to different degrees, some using variations of the popular CKEditor. MediaWiki also has an interface to allow the transparent use of external editors for uploaded files and wiki pages.


MediaWiki provides many features beyond hyperlinks for structuring content. One of the earliest features is namespaces. One of Wikipedia's earliest problems had been the separation of encyclopedic content from pages pertaining to maintenance and communal discussion, as well as personal pages about encyclopedia editors. Namespaces are prefixes before a page title (such as "User:" or "Talk:") that serve as descriptors for the page's purpose and allow multiple pages with different functions to exist under the same title. For instance, a page titled "[[The Terminator]]", in the default namespace, could describe the 1984 movie starring Arnold Schwarzenegger, while a page titled "[[User:The Terminator]]" could be a profile describing a user who chooses this name as a pseudonym. More commonly, each page and each namespace has an associated "Talk:" page, which can be used to discuss its contents, such as "User talk:" or "Template talk:". The purpose of having discussion pages is to allow content to be separated from discussion surrounding the content.[10][11]

Namespaces can be viewed as folders that separate different basic types of information or functionality. Custom namespaces can be added by the site administrators. There are 16 namespaces by default for content, with 2 "pseudo-namespaces" used for dynamically generated "Special:" pages and links to media files. Each namespace on MediaWiki is numbered: content page namespaces have even numbers and talk page namespaces have odd numbers.[12]

In addition to namespaces, content can be ordered using subpages. This simple feature provides automatic breadcrumbs from a page of the pattern [[Page title/Subpage title]] to the component before the slash (in this case, "Page title").


Users can configure custom JavaScript that is executed on every pageview. This has led to JavaScript tools that users can "install", the "navigation popup" tool shown here displays a small preview of an article when hovering over a link title.

If the feature is enabled, users can customize their stylesheets and configure client-side JavaScript to be executed with every pageview. On Wikipedia, this has led to a large number of additional tools and helpers developed through the wiki and shared among users. For instance, Lupin's navigation popups is a custom JavaScript tool that shows previews of articles when the user hovers over links, and also provides shortcuts for common maintenance tasks.[13] Another example is wikEd, a full-featured MediaWiki-integrated text editor that provides syntax highlighting and search and replace functions.[14]

The entire MediaWiki user interface can be edited through the wiki itself by users with the necessary permissions (typically so-called "administrators"). This is done through a special namespace with the prefix "MediaWiki:", where each page title identifies a particular user interface message.


The "MediaWiki:" namespace was also originally used for creating custom text blocks that could then be dynamically loaded into other pages using a special syntax. This content was later moved into its own namespace, "Template:".

Templates are text blocks that can be dynamically loaded inside another page whenever that page is requested. The template is a special link in double curly brackets (for example "{{Disputed|date=October 2008}}"), which calls the template (in this case located at Template:Disputed) to load in place of the template. Templates support parameters, so that parts of the text can be substituted for each specific use case. A related method, called template substitution (called by adding subst: at the beginning of a template link) inserts (like a copy and paste operation) the contents of the template into the target page, instead of loading the template contents dynamically whenever the page is loaded. This can lead to inconsistency when using templates, but may be useful in certain cases, and in most cases requires less server resources (the actual amount of savings can vary depending on wiki configuration and the complexity of the template).

Templates have found many different uses, such as:

  • Creating complex table layouts that are used consistently across multiple pages, and where only the content of the tables gets inserted using template parameters.
  • Identifying problems with a Wikipedia article by putting a template in the article. This template will then output a graphical box stating that the article is disputed, and also categorize it so that articles of this nature can be located.
  • Sending users standard messages when they are blocked from editing, when their behavior is considered inappropriate, and so on.
The Semantic MediaWiki extension


The MediaWiki codebase contains various "hooks" using callback functions to add additional PHP code in an extensible way. This allows developers to write extensions without modifying the core or having to submit their code for review. Installing an extension typically consists of adding a line to the configuration file, though in some cases additional changes such as database updates are required.

Bugs and feature requests

Bugs in the MediaWiki software can arise for a variety of reasons, including developmental oversight and unforeseen changes as the result of new releases. These bugs are reported to, a Bugzilla (alternatively known as Mediazilla) bug tracker project for Wikimedia founded in August 2004, where they are assigned a bug number and later resolved by MediaWiki developers. Minor feature requests and enhancements to the software are also requested on


MediaWiki can be made more advanced and useful for various purposes through its extensions. Many of the available extensions are simple scripts to allow embedding content such as Adobe Flash files or HTML forms. Others add complex new behavior to the wiki syntax, such as Semantic MediaWiki, which provides the ability to add structured and searchable relations and attributes to wiki pages, and WikiTrust, which implements a system for checking the author, origin, and reliability of wiki text. Examples of extensions that could improve a wiki are:

  • Category suggestion extension
  • Flash inclusion
  • Ratings extension
  • RSS feed inclusion
  • YouTube inclusion

The Wikimedia Foundation operates a Subversion server where many extensions are hosted, and a directory of them can be found on the MediaWiki website. Some other sites also are known for development of - or support for extensions:

Access and groups

While MediaWiki comes with a basic set of features related to restricting access and defining user groups, page access control does not tend to be given high priority in development. For instance, it is extremely difficult to create a wiki where only certain users can read and access some pages. Here, wiki engines like TWiki, MoinMoin and WikkaWiki provide more flexibility by supporting advanced security mechanisms like access control lists.


Because it is used to run one of the highest-traffic sites on the Web, Wikipedia, MediaWiki performance and scalability have been highly optimized.[5] MediaWiki supports Squid caches, load-balanced database replication, client-side caching, memcached or table-based caching for frequently accessed processing of query results, a simple static file cache, feature-reduced operation, revision compression, and a job queue for database operations.

The software is suitable for the operation of large scale wiki farms such as Wikimedia, which had about 750 wikis as of December 2007. However, MediaWiki comes with no built-in GUI to manage such installations.


The parser serves as the de facto standard for the MediaWiki syntax as no formal syntax has been defined. Since the syntax has no formal definition (for example, in Extended Backus–Naur form (EBNF)) there is an inherent difficulty in creating a WYSIWYG editor or complete porting of the syntax to another language. Work is in progress to formalise the grammar in ANTLR.[15][16]

Community and support

MediaWiki developers are spread around the world, though with a majority in the United States and Europe. Face-to-face meetings and programming sessions occur at the annual Wikimania conference,[17] an event that is mostly Wikipedia-focused. One event exclusively for MediaWiki developers has been held so far, in Berlin in April 2009.[18]

For MediaWiki users, an unofficial forum exists for support at, as well as a mailing list, mediawiki-l.

See also


  1. ^ e.g.: ; ;
  2. ^ " Project:Copyrights". Retrieved 2009-08-17. 
  3. ^ David Weinberger (2007). Everything Is Miscellaneous: The Power of the New Digital Disorder. Times Books. pp. 99. ISBN 0805080430. 
  4. ^ "MediaWiki history". MediaWiki website. Retrieved 2007-07-19. 
  5. ^ a b "Wikipedia and MediaWiki". Presentation MediaWiki development (video). 28 April 2006. Retrieved 2009-09-23. 
  6. ^ Mayer, Daniel. "Phase IV, and (was Wikis and uniformity)". Wikipedia-L mailing list archives. 
  7. ^ Wikimedia contributors (10 January 2007). "International logo contest/results". Meta-wiki. Wikimedia Foundation. Retrieved 2007-03-14. 
  8. ^ Wikimedia contributors (17 January 2007). "Historical/Logo history". Meta-wiki. Wikimedia Foundation. Retrieved 2007-03-14. 
  9. ^ See also: Translation statistics and Multilingual MediaWiki.
  10. ^ Newman, Aaron, Adam Steinberg, and Jeremy Thomas (2008). Enterprise 2. 0 Implementation. McGraw-Hill Professional. p. 185. ISBN 9780071591607. 
  11. ^ Malcolm, Jeremy (2008). Multi-Stakeholder Governance and the Internet Governance Forum. Terminus Press. pp. 188, 280. ISBN 9780980508406. 
  12. ^ Ebersbach, Anja, Markus Glaser, Richard Heigl, and Gunter Dueck (2006). Wiki. Springer. pp. 55, 80–82, 109, 120–121, 156. ISBN 9783540259954. 
  13. ^ "Lupin". "Wikipedia:Tools/Navigation popups". 
  14. ^ "Cacycle". "wikEd". 
  15. ^ Wikitext-L mailing list
  16. ^ Markup spec project (
  17. ^ 2009 Wikimania Codeathon
  18. ^ Developer meet-up 2009

External links

Study guide

Up to date as of January 14, 2010

From Wikiversity

MediaWiki logo.png

MediaWiki is wiki software, released under the GPL, that is used by Wikimedia projects and others. It is an implementation of a wiki, a content pool that anyone can freely edit. It is developed using MediaZilla (our version of BugZilla).






See also

Not to be confused with

  • Wikimedia - a host of hosts of sites running on MediaWiki with educational missions; to which Wikiversity belongs


Up to date as of January 15, 2010

Definition from Wiktionary, a free dictionary

Wikipedia has an article on:





CamelCase compound of media and wiki.


  • IPA: ˈmiːdiəˌwɪki

Proper noun


  1. (Wiktionary and WMF jargon) A wiki software used by many websites, including the Wikimedia projects such as Wikipedia, Wiktionary, etc.




Up to date as of January 23, 2010

From Wikibooks, the open-content textbooks collection

Books related to MediaWiki--the software that runs Wikipedia and Wikibooks:

Simple English

symbolise the way internal links are created when editing pages]]

Developer:Wikimedia Foundation,
Tim Starling (release manager)
Initial release:25 January 2002
Latest release:1.16.1[1] / 2011-01-04
Preview release:1.17alpha+ / February 2010
1.18alpha+[2] / December 2010
Available language(s):More than 300 languages
Use: Wiki


MediaWiki is the name of the software that runs all of the Wikimedia projects. MediaWiki was released in 2003. The software is licensed under the GPL. This means it is free content, or open source.

MediaWiki is free server-based software which is licensed under the GNU General Public License (GPL). It is designed to be run on a large server farm for a website that gets millions of hits per day. MediaWiki is a very powerful, scalable software and a feature-rich wiki implementation, that uses PHP to process and display data stored in its MySQL database.

Pages use MediaWiki's Wikitext format, so that users without knowledge of XHTML or CSS can edit them easily.

When a user submits an edit to a page, MediaWiki writes it to the database, but without deleting the previous versions of the page, thus allowing easy reverts in case of vandalism or spamming. MediaWiki can manage image and multimedia files, too, which are stored in the filesystem. For large wikis with lots of users, MediaWiki supports caching and can be easily coupled with Squid proxy server software.

All Wikimedia projects run on MediaWiki version 1.14.0 (r3016).[3]



As MediaWiki is more flexible, therefore many websites use MediaWiki rather than other types of wiki software. Except Wikimedia, Wikia is also another company that uses MediaWiki greatly for people to contribute information.

There are also some websites that uses MediaWiki as a content management system.[4]


In MediaWiki, a system administrator can choose to install extension provided on the main MediaWiki website. Some are from the MediaWiki developers, while others are from programmers from all around the world.

Most extensions can be download from Wikimedia's Subversion repository. However, there are some other extensions that other people host themselves.

Some extensions had been added to the main software along the development of MediaWiki.[5] For example, the Makesysop extension is an extension to promote a user into an administrator or a bureaucrat.

There is a total of 1750 extensions as of December 31, 2010.[6]


In the default installation of MediaWiki, the software has 17 namespaces[7](18 actually, but one does not have a namespace), namely:

  • Article (No namespace, like this page)
  • Talk - for main namespace talk page
  • User - the user page, also from Special:MyPage
  • User talk - the user talk page, also from Special:MyTalk
  • Project - The project namespace(like on this wiki, is Wikipedia)
  • Project talk - The project page talk page
  • File - Page for images and sounds
  • File talk - Talk about the media
  • MediaWiki - Software pages, can only be changed from an administrator
  • MediaWiki talk - Talk about the software page, anyone can write in this namespace
  • Template - for templates
  • Template talk - talk about the template
  • Help - Help pages(like Help:Contents)
  • Help talk - talk about the help page
  • Category - Categorising pages
  • Category talk - talk about the category
  • Special - Special pages of the MediaWiki software
  • Media - Namespace to directly link to the file

Additional namespaces can be added using the settings file from the installation of MediaWiki.[8]


As MediaWiki is a complex software, there would always be bugs in the software, especially for new extensions. Therefore, Wikimedia has create a bugzilla website for people who meet a bug to tell the developers of MediaWiki.

Some extensions of MediaWiki use the bugzilla of Wikimedia, while some just use the talk page of the extension page.


[[File:|thumb|300px|The vector skin on English Wikipedia.]] During the development of MediaWiki, different skins have came into the main software. For example, Wikipedia used to be using Nostalgia[9]. But it changed to Monobook before the new Vector skin came up in 1.16.[10]

A survey done by Wikimedia showed that more people prefer the Vector skin more.[11]

More information

More information about the software


Other websites

Got something to say? Make a comment.
Your name
Your email address