kids encyclopedia robot

MediaWiki facts for kids

Kids Encyclopedia Facts
Quick facts for kids
MediaWiki
MediaWiki-2020-logo.svg
MediaWiki-2020-logo-(white-wordmark).svgShow dark mode logo
MediaWiki-2020-logo.svgShow light mode logo
Screenshot
English Wikipedia screenshot.png
The Main Page of the English Wikipedia running an alpha version of MediaWiki 1.40
Original author(s)
  • Magnus Manske
  • Lee Daniel Crocker
Developer(s) Wikimedia Foundation
Initial release January 25, 2002; 23 years ago (2002-01-25)
Stable release
Lua error in Module:Wd at line 1575: attempt to index field 'wikibase' (a nil value). / Lua error in Module:Wd at line 1571: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. (Lua error in Module:Wd at line 1571: attempt to index field 'wikibase' (a nil value).)
Written in PHP
Operating system Windows, macOS, Linux, FreeBSD, OpenBSD, Solaris
Size 79.05 MiB (compressed)
Available in 459 languages
Type Wiki software
License GPLv2+

MediaWiki is a special type of computer program called wiki software. It's free to use and change, meaning anyone can get it and make it better. It was first created by Magnus Manske for Wikipedia in 2002. Later, Lee Daniel Crocker helped improve it. Now, the Wikimedia Foundation helps guide its development.

MediaWiki powers many websites on the internet that are like wikis. This includes most websites run by the Wikimedia Foundation, such as Wikipedia, Wiktionary (a dictionary), Wikimedia Commons (for images and videos), and Wikidata (a knowledge base). It's also used by other popular wiki sites like Fandom and wikiHow. Big organizations like Intellipedia and Diplopedia use it too, to manage their information.

This software is written in a programming language called PHP. It stores all the text and information in a database. MediaWiki is designed to handle very large projects, like Wikipedia, which has tons of content and millions of people looking at it every second. Because of this, developers work hard to make sure it runs smoothly and quickly. MediaWiki is also available in over 400 languages, making it useful all around the world. It has many settings and over 1,000 extra tools, called extensions, that can add new features or change how it works.

Contents

Cool Features of MediaWiki

MediaWiki has many built-in features. You can also add special tools called "extensions" to make it do even more cool things.

Languages for Everyone

The people who make MediaWiki care a lot about different languages. This is because Wikimedia projects, like Wikipedia, are used by people all over the world. The way you see the website (its "user interface") has been translated into more than 400 languages. This work is done on a website called translatewiki.net. Website managers can also change the language settings even more.

There are also special extensions that help MediaWiki work even better with many languages.

How to Set Up MediaWiki

To set up MediaWiki, you need to have special permissions on a computer server. This server also needs to be running PHP and a database program like MySQL.

You use a web browser to start the setup process. It asks you for some basic information. After that, you can change more settings in a file called LocalSettings.php. This file lets you do things like allow people to upload pictures or add a special logo for your website. Some parts of MediaWiki can also be changed using special pages on the wiki itself. For example, you can set up "abuse filters" to stop bad edits. The MediaWiki community has a helpful guide to show you how to install it.

Wiki Markup: The Secret Code

One of the first things that made MediaWiki different from other wiki programs was how it created links. In older wikis, you had to write words together like "WorldWideWeb" to make a link. But in MediaWiki, you just put double square brackets around words, like World Wide Web. This makes it much easier to create links, especially for an encyclopedia where exact titles are important.

MediaWiki uses a simple "wiki markup" language. It's like a secret code that's easier to learn than HTML (another computer language for websites). This code helps you format text, like making it bold or creating lists. There are even tools to change content between wiki markup and HTML.

Here's a quick look at how wiki markup compares to HTML and what you see on the screen:

MediaWiki syntax
(the "behind the scenes" code
used to add formatting to text)
HTML equivalent
(another type of "behind the scenes" code
used to add formatting to text)
What you see
(seen onscreen by a site viewer)
====A dialogue====
"Take some more [[tea]]," the March Hare said to Alice, very earnestly.

"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."

"You mean you can't take ''less''," said the Hatter: "it's '''very''' easy to take ''more'' than nothing."
<h4>A dialogue</h4>

<p>"Take some more <a href="/wiki/Tea" title="Tea">tea</a>," the March Hare said to Alice, very earnestly.</p> <br>
<p>"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."</p> <br>
<p>"You mean you can't take <i>less</i>," said the Hatter: "it's <b>very</b> easy to take <i>more</i> than nothing."</p>
A dialogue

"Take some more tea," the March Hare said to Alice, very earnestly.

"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."

"You mean you can't take less," said the Hatter: "it's very easy to take more than nothing."

(Quotation above from Alice's Adventures in Wonderland by Lewis Carroll)

Editing Pages Easily

MediaWiki has tools to help you edit pages. Sometimes, learning the special wiki markup can be a bit tricky at first. For example, people might find it hard to add an image or make a link with specific words.

To make editing long pages simpler, MediaWiki lets you edit just a small part of a page, like a single section. If you have an account and are logged in, you can also mark your edits as "minor." Fixing a typo is a minor edit, but adding a whole new paragraph is not.

Sometimes, two people try to save changes to the same part of a page at the same time. This causes an "edit conflict." MediaWiki helps the second person combine their changes with what the first person saved.

MediaWiki's editing tools are available in many languages. There's also a newer editing tool called VisualEditor that lets you edit pages more like a word processor, so "what you see is what you get."

How MediaWiki Connects with Other Programs

MediaWiki has a special way for other computer programs to talk to it. This is called an API. It lets programs log in, get information, and even make changes to the wiki. For example, tools that help fight vandalism on Wikipedia use this API.

The API can be used by programs written in different languages, like Python. It can also send information back in various formats, like XML or JSON. This makes it very flexible for developers.

Keeping Track of Changes

MediaWiki has great features to help you see what changes have been made.

Recent Changes

The "Recent Changes" page shows a list of all the latest edits on the wiki. It tells you who made the edit, a short summary of what they changed, and which page they edited. It can also show special "tags" if an edit might be unhelpful, like "possible vandalism." On very busy wikis, there are special tools and bots that help people check these recent changes.

Watchlists

Every user who is logged in has a "watchlist." You can add any page you want to your watchlist. Then, if someone edits that page, you'll see a summary of the change on your watchlist the next time you check it. This makes it easy to keep an eye on pages you care about.

User Contributions

You can also see all the edits made by any specific user. This is helpful if you see a problem edit and want to check if that user has made other similar changes.

MediaWiki also lets you link to specific versions of articles. This is useful for scientists or researchers who want to refer to a trusted version of an article after it has been reviewed and improved.

Getting Around the Wiki

Wikilinks

You navigate through a wiki mostly by clicking on "wikilinks." These are the links that take you from one page to another within the same wiki. MediaWiki makes these links blue if the page exists and red if it doesn't. If you click a red link, it asks you if you want to create a new page with that title. This makes it easy to create articles that link to other topics, even if those other articles haven't been written yet.

Interwiki Links

Interlanguage links prior to Wikidata
An example of interlanguage links

Interwiki links are like shortcuts to other wikis. For example, if you type wikiquote:Jimbo Wales, it will take you to the "Jimbo Wales" article on Wikiquote. These links don't turn red if the page doesn't exist on the other wiki, so you can't tell if they are broken just by looking at them.

Interlanguage Links

Interlanguage links used to be small links in the sidebar that connected an article to the same article in different languages on other Wikipedias. Now, this is handled by Wikidata, which helps connect information across all the different language Wikipedias.

Organizing Information

Page Tabs and Related Pages

MediaWiki Vector skin tabs
MediaWiki page tabs, using the "Vector 2010" skin. The red coloration of the "discussion" tab indicates that the article does not yet have a talk page. As with any other red wikilink, clicking on it prompts the user to create the page.

At the top of each page, you'll see "page tabs." These tabs let you do different things or see pages related to the one you're on. For example, you can view the page, edit it, or discuss it. What tabs you see depends on if you're logged in or if you have special permissions. For instance, only logged-in users can usually move a page or add it to their watchlist. Website managers can also add or remove tabs.

Every page also has a "history" page. Here, you can see every version of the page that has ever existed. You can even compare two different versions to see what changed. You can also see all the contributions a user has made. This is helpful for teachers who want to see how much each student contributed to a project.

Namespaces: Organizing Content

MediaWiki has a clever way to organize content called "namespaces." Think of namespaces as different folders for different types of pages. For example, a page titled The Terminator in the main namespace might be about the 1984 movie. But a page titled User:The Terminator would be a profile about a user who chose that name.

Each namespace often has a "Talk:" namespace linked to it. This is where people can discuss the content of the main page. For example, [[User talk:]] is for discussing a user's profile. This helps keep discussions separate from the main content.

There are 16 default namespaces for content, plus two "pseudo-namespaces" for special pages and media files. Each namespace has a number. Website managers can also create their own custom namespaces.

Category Tags

Users can create new categories and add pages or files to them. You do this by adding one or more "category tags" to the bottom of a page. These tags create links at the bottom of the page. If you click on a category link, it takes you to a list of all pages in that category. This makes it easy to find related articles. It's like a mix of tagging things online and organizing books in a library.

Subpages

You can also organize content using "subpages." This creates a clear path, like breadcrumbs, showing you where you are. For example, Page title/Subpage title means "Subpage title" is a part of "Page title."

Making MediaWiki Your Own

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

If allowed, users can change how their wiki looks and add their own special code (called client-side JavaScript) that runs every time they view a page. On Wikipedia, this has led to many extra tools that users can share. For example, "navigation popups" is a tool that shows you a small preview of an article when you hover your mouse over a link.

Screenshot-skin-material
A screenshot of a wiki using MediaWiki with a customized skin

The entire MediaWiki website look can be changed by users with special permissions, usually called "administrators." They do this by editing pages in a special "MediaWiki:" namespace. Each page in this namespace controls a specific part of the website's text or design.

Templates: Reusable Content

MediaWiki has a powerful feature called "templates." These are blocks of text or code that can be used over and over again on different pages. You call a template by putting its name in double curly brackets, like . When someone views the page, the content of the template (in this case, from a page called "Template:Disputed") appears where the template call is.

Templates can have "parameters," which are like blanks you fill in. For example, in , "date" is the parameter and "October 2018" is its value.

A common type of template is an "infobox." These are used on Wikipedia to show important facts about a topic in a neat box, usually at the top right of the page.

You can also use parts of other pages as templates. For example,

MediaWiki
MediaWiki-2020-logo.svg
MediaWiki-2020-logo-(white-wordmark).svgShow dark mode logo
MediaWiki-2020-logo.svgShow light mode logo
Screenshot
English Wikipedia screenshot.png
The Main Page of the English Wikipedia running an alpha version of MediaWiki 1.40
Original author(s)
  • Magnus Manske
  • Lee Daniel Crocker
Developer(s) Wikimedia Foundation
Initial release January 25, 2002; 23 years ago (2002-01-25)
Stable release
Lua error in Module:Wd at line 1575: attempt to index field 'wikibase' (a nil value). / Lua error in Module:Wd at line 1571: attempt to index field 'wikibase' (a nil value).; Error: first parameter cannot be parsed as a date or time. (Lua error in Module:Wd at line 1571: attempt to index field 'wikibase' (a nil value).)
Written in PHP
Operating system Windows, macOS, Linux, FreeBSD, OpenBSD, Solaris
Size 79.05 MiB (compressed)
Available in 459 languages
Type Wiki software
License GPLv2+

MediaWiki is a special type of computer program called wiki software. It's free to use and change, meaning anyone can get it and make it better. It was first created by Magnus Manske for Wikipedia in 2002. Later, Lee Daniel Crocker helped improve it. Now, the Wikimedia Foundation helps guide its development.

MediaWiki powers many websites on the internet that are like wikis. This includes most websites run by the Wikimedia Foundation, such as Wikipedia, Wiktionary (a dictionary), Wikimedia Commons (for images and videos), and Wikidata (a knowledge base). It's also used by other popular wiki sites like Fandom and wikiHow. Big organizations like Intellipedia and Diplopedia use it too, to manage their information.

This software is written in a programming language called PHP. It stores all the text and information in a database. MediaWiki is designed to handle very large projects, like Wikipedia, which has tons of content and millions of people looking at it every second. Because of this, developers work hard to make sure it runs smoothly and quickly. MediaWiki is also available in over 400 languages, making it useful all around the world. It has many settings and over 1,000 extra tools, called extensions, that can add new features or change how it works.

Cool Features of MediaWiki

MediaWiki has many built-in features. You can also add special tools called "extensions" to make it do even more cool things.

Languages for Everyone

The people who make MediaWiki care a lot about different languages. This is because Wikimedia projects, like Wikipedia, are used by people all over the world. The way you see the website (its "user interface") has been translated into more than 400 languages. This work is done on a website called translatewiki.net. Website managers can also change the language settings even more.

There are also special extensions that help MediaWiki work even better with many languages.

How to Set Up MediaWiki

To set up MediaWiki, you need to have special permissions on a computer server. This server also needs to be running PHP and a database program like MySQL.

You use a web browser to start the setup process. It asks you for some basic information. After that, you can change more settings in a file called LocalSettings.php. This file lets you do things like allow people to upload pictures or add a special logo for your website. Some parts of MediaWiki can also be changed using special pages on the wiki itself. For example, you can set up "abuse filters" to stop bad edits. The MediaWiki community has a helpful guide to show you how to install it.

Wiki Markup: The Secret Code

One of the first things that made MediaWiki different from other wiki programs was how it created links. In older wikis, you had to write words together like "WorldWideWeb" to make a link. But in MediaWiki, you just put double square brackets around words, like World Wide Web. This makes it much easier to create links, especially for an encyclopedia where exact titles are important.

MediaWiki uses a simple "wiki markup" language. It's like a secret code that's easier to learn than HTML (another computer language for websites). This code helps you format text, like making it bold or creating lists. There are even tools to change content between wiki markup and HTML.

Here's a quick look at how wiki markup compares to HTML and what you see on the screen:

MediaWiki syntax
(the "behind the scenes" code
used to add formatting to text)
HTML equivalent
(another type of "behind the scenes" code
used to add formatting to text)
What you see
(seen onscreen by a site viewer)
====A dialogue====
"Take some more [[tea]]," the March Hare said to Alice, very earnestly.

"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."

"You mean you can't take ''less''," said the Hatter: "it's '''very''' easy to take ''more'' than nothing."
<h4>A dialogue</h4>

<p>"Take some more <a href="/wiki/Tea" title="Tea">tea</a>," the March Hare said to Alice, very earnestly.</p> <br>
<p>"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."</p> <br>
<p>"You mean you can't take <i>less</i>," said the Hatter: "it's <b>very</b> easy to take <i>more</i> than nothing."</p>
A dialogue

"Take some more tea," the March Hare said to Alice, very earnestly.

"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."

"You mean you can't take less," said the Hatter: "it's very easy to take more than nothing."

(Quotation above from Alice's Adventures in Wonderland by Lewis Carroll)

Editing Pages Easily

MediaWiki has tools to help you edit pages. Sometimes, learning the special wiki markup can be a bit tricky at first. For example, people might find it hard to add an image or make a link with specific words.

To make editing long pages simpler, MediaWiki lets you edit just a small part of a page, like a single section. If you have an account and are logged in, you can also mark your edits as "minor." Fixing a typo is a minor edit, but adding a whole new paragraph is not.

Sometimes, two people try to save changes to the same part of a page at the same time. This causes an "edit conflict." MediaWiki helps the second person combine their changes with what the first person saved.

MediaWiki's editing tools are available in many languages. There's also a newer editing tool called VisualEditor that lets you edit pages more like a word processor, so "what you see is what you get."

How MediaWiki Connects with Other Programs

MediaWiki has a special way for other computer programs to talk to it. This is called an API. It lets programs log in, get information, and even make changes to the wiki. For example, tools that help fight vandalism on Wikipedia use this API.

The API can be used by programs written in different languages, like Python. It can also send information back in various formats, like XML or JSON. This makes it very flexible for developers.

Keeping Track of Changes

MediaWiki has great features to help you see what changes have been made.

Recent Changes

The "Recent Changes" page shows a list of all the latest edits on the wiki. It tells you who made the edit, a short summary of what they changed, and which page they edited. It can also show special "tags" if an edit might be unhelpful, like "possible vandalism." On very busy wikis, there are special tools and bots that help people check these recent changes.

Watchlists

Every user who is logged in has a "watchlist." You can add any page you want to your watchlist. Then, if someone edits that page, you'll see a summary of the change on your watchlist the next time you check it. This makes it easy to keep an eye on pages you care about.

User Contributions

You can also see all the edits made by any specific user. This is helpful if you see a problem edit and want to check if that user has made other similar changes.

MediaWiki also lets you link to specific versions of articles. This is useful for scientists or researchers who want to refer to a trusted version of an article after it has been reviewed and improved.

Getting Around the Wiki

Wikilinks

You navigate through a wiki mostly by clicking on "wikilinks." These are the links that take you from one page to another within the same wiki. MediaWiki makes these links blue if the page exists and red if it doesn't. If you click a red link, it asks you if you want to create a new page with that title. This makes it easy to create articles that link to other topics, even if those other articles haven't been written yet.

Interwiki Links

Interlanguage links prior to Wikidata
An example of interlanguage links

Interwiki links are like shortcuts to other wikis. For example, if you type wikiquote:Jimbo Wales, it will take you to the "Jimbo Wales" article on Wikiquote. These links don't turn red if the page doesn't exist on the other wiki, so you can't tell if they are broken just by looking at them.

Interlanguage Links

Interlanguage links used to be small links in the sidebar that connected an article to the same article in different languages on other Wikipedias. Now, this is handled by Wikidata, which helps connect information across all the different language Wikipedias.

Organizing Information

Page Tabs and Related Pages

MediaWiki Vector skin tabs
MediaWiki page tabs, using the "Vector 2010" skin. The red coloration of the "discussion" tab indicates that the article does not yet have a talk page. As with any other red wikilink, clicking on it prompts the user to create the page.

At the top of each page, you'll see "page tabs." These tabs let you do different things or see pages related to the one you're on. For example, you can view the page, edit it, or discuss it. What tabs you see depends on if you're logged in or if you have special permissions. For instance, only logged-in users can usually move a page or add it to their watchlist. Website managers can also add or remove tabs.

Every page also has a "history" page. Here, you can see every version of the page that has ever existed. You can even compare two different versions to see what changed. You can also see all the contributions a user has made. This is helpful for teachers who want to see how much each student contributed to a project.

Namespaces: Organizing Content

MediaWiki has a clever way to organize content called "namespaces." Think of namespaces as different folders for different types of pages. For example, a page titled The Terminator in the main namespace might be about the 1984 movie. But a page titled User:The Terminator would be a profile about a user who chose that name.

Each namespace often has a "Talk:" namespace linked to it. This is where people can discuss the content of the main page. For example, [[User talk:]] is for discussing a user's profile. This helps keep discussions separate from the main content.

There are 16 default namespaces for content, plus two "pseudo-namespaces" for special pages and media files. Each namespace has a number. Website managers can also create their own custom namespaces.

Category Tags

Users can create new categories and add pages or files to them. You do this by adding one or more "category tags" to the bottom of a page. These tags create links at the bottom of the page. If you click on a category link, it takes you to a list of all pages in that category. This makes it easy to find related articles. It's like a mix of tagging things online and organizing books in a library.

Subpages

You can also organize content using "subpages." This creates a clear path, like breadcrumbs, showing you where you are. For example, Page title/Subpage title means "Subpage title" is a part of "Page title."

Making MediaWiki Your Own

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

If allowed, users can change how their wiki looks and add their own special code (called client-side JavaScript) that runs every time they view a page. On Wikipedia, this has led to many extra tools that users can share. For example, "navigation popups" is a tool that shows you a small preview of an article when you hover your mouse over a link.

Screenshot-skin-material
A screenshot of a wiki using MediaWiki with a customized skin

The entire MediaWiki website look can be changed by users with special permissions, usually called "administrators." They do this by editing pages in a special "MediaWiki:" namespace. Each page in this namespace controls a specific part of the website's text or design.

Templates: Reusable Content

MediaWiki has a powerful feature called "templates." These are blocks of text or code that can be used over and over again on different pages. You call a template by putting its name in double curly brackets, like . When someone views the page, the content of the template (in this case, from a page called "Template:Disputed") appears where the template call is.

Templates can have "parameters," which are like blanks you fill in. For example, in , "date" is the parameter and "October 2018" is its value.

A common type of template is an "infobox." These are used on Wikipedia to show important facts about a topic in a neat box, usually at the top right of the page.

You can also use parts of other pages as templates. For example, Template loop detected: MediaWiki would show the content of the "MediaWiki" article itself. You can even choose which parts of a page to include or exclude when it's used as a template.

Templates are used for many things. They help create consistent layouts for tables across many pages. They are often used to mark problems with an article, like putting a box that says the content is "disputed." They also help organize articles into categories. Templates are also used on user pages to send standard messages, like welcoming new users or giving awards.

User Groups and Permissions

MediaWiki lets you create different groups of users and give them different powers. For example, you could create a "ninja" group that can block users or delete pages. There are also default groups like "bureaucrats" (who can change other users' powers) and "sysops" (who can protect pages or block users). MediaWiki's controls are good enough for managing important documents, like instructions in a hospital.

However, MediaWiki was not originally designed to keep some pages secret from certain users. So, if you need a wiki where only specific people can read certain pages, MediaWiki might not be the best choice. Other wiki programs are better for very strict security.

Adding New Features (Extensibility)

MediaWiki is built in a way that makes it easy for developers to add new features without changing the main program code. This is done using "hooks" and "extensions." Installing an extension usually just means adding one line of code to a settings file.

Developers can create new "tags" (like <newtag>...</newtag>) or "parser functions" (like ...) to add new commands. They can also create "special pages" that do specific things, like showing all pages that link to an external website. "Skins" are extensions that let you change the entire look and feel of MediaWiki.

Popular Extensions

Changing Text with Extensions

One very popular extension is called ParserFunctions. It lets you show different content based on certain conditions. For example, it can check if a setting is empty, compare text, or do math. This was created to make things run faster than older, less efficient ways of doing the same thing.

Another extension, StringFunctions, was made to do things like check the length of text or find text within other text. Many wiki communities wanted this feature. Much of its power was later added to the ParserFunctions extension.

Lua Extension

Since 2012, there's been an extension called Scribunto. It lets people write special code called "modules" using the Lua programming language. These modules can then be used inside templates and regular wiki pages. Scribunto is used a lot on Wikipedia and other Wikimedia sites because Lua code runs much faster than the old wiki markup code.

Tools for Footnotes and Schoolwork

Another very popular extension helps you add footnotes and citations to pages. This is great for school projects or academic work. While it can be a bit tricky to learn the syntax, tools like RefToolbar help make it easier to create citations. MediaWiki also has extensions for showing math equations and even molecules in 3D!

Connecting with Other Services

A general "Widgets" extension lets MediaWiki connect with almost anything. Other extensions can help you include Flash videos, YouTube videos, or RSS feeds. For example, a website called Metavid, which archives videos of the U.S. Senate, was built using MediaWiki extensions.

Fighting Spam

Many "spambots" try to add unwanted links to MediaWiki sites. Even though MediaWiki tries to stop this, some spam still gets through. To fight this, "anti-spam" extensions have been developed. These can use CAPTCHAs (those puzzles you solve to prove you're not a robot), block certain website links, or allow quick deletion of pages added by spammers.

Better Searches

MediaWiki comes with a basic search tool. But there are extensions that let MediaWiki use more advanced search engines like Elasticsearch (which Wikipedia uses) or Lucene.

Other extensions, like Semantic MediaWiki, allow for more complex searches. These can help you find information based on how it's connected, not just by keywords.

Rich Content: Images and More

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

MediaWiki extensions support many types of "rich content." This means you can add things like math formulas, timelines, musical scores, and even Egyptian hieroglyphs using special code.

The software supports many types of uploaded media files. It's easy to create image galleries and thumbnails. It also works with Exif data, which is information stored in photos. MediaWiki runs Wikimedia Commons, which is one of the biggest collections of free images and videos.

For "what you see is what you get" (WYSIWYG) editing, VisualEditor is available and makes editing much simpler. It has been included with MediaWiki since version 1.35.

How MediaWiki Stores Information (Database)

MediaWiki database schema latest
A schematic of the MediaWiki database structure

MediaWiki can use different types of databases to store its information, like MySQL, MariaDB, or SQLite. It used to support Oracle and Microsoft SQL Server, but that support was removed in MediaWiki 1.34.

A MediaWiki database has many tables. For example, there's a "page" table that holds page titles and other details. There's also a "revision" table. Every time someone makes an edit, a new row is added to this table. This row includes details like the page ID, a short summary of the change, the user's name (or IP address if they're not logged in), and the time the edit was made.

MediaWiki is designed to be very efficient. It can handle huge amounts of data and many users at once. It uses different methods to speed things up, like caching (saving frequently used information so it can be accessed faster).

Things MediaWiki Doesn't Do As Well

MediaWiki is great for many things, but it's not perfect for everything.

One challenge is that there isn't a strict rulebook for its special wiki markup. This has made it hard to create "what you see is what you get" (WYSIWYG) editors, though VisualEditor has helped a lot.

MediaWiki is also not designed to be a replacement for online forums or blogging software, even though some extensions exist to add those features.

New users sometimes make mistakes, like forgetting to sign their posts on discussion pages. However, some educators like the way MediaWiki discussion pages work because they allow for more detailed conversations than traditional forums. You can link to specific parts of a page, making discussions easier to follow.

By default, MediaWiki doesn't easily create pages that automatically gather information from other pages. The Semantic MediaWiki extension adds these features, and it's used on over 1,600 other MediaWiki sites, though not on Wikipedia itself.

Updating MediaWiki is usually automatic and doesn't require changes to your website's content.

Keeping MediaWiki Safe (Security)

MediaWiki developers work hard to make sure the software is secure. They use special functions to check and clean up information to prevent common attacks like "cross-site scripting" and "SQL injection."

Many security problems have been fixed after a MediaWiki version is released. That's why it's very important to keep your software updated. You can subscribe to their announcements to know when new security updates are available.

Getting Help with MediaWiki

If you need help with MediaWiki, there are several places to go:

  • MediaWiki.org: This is the official website, and it has a "Support Desk."
  • Mediawiki-l: This is an official email list where you can ask questions.
  • Books: There are several books about managing MediaWiki, including some free ones online.

License and How It's Shared

MediaWiki is free and open-source software. This means anyone can use it, change it, and share it under the rules of the GNU General Public License. The instructions and help pages on its official website are shared under the Creative Commons BY-SA 4.0 license. Some help pages are even in the public domain, meaning they can be freely copied without legal issues. MediaWiki development also prefers using open-source media formats.

How MediaWiki Is Developed

MediaWiki has many volunteers who help develop and maintain it. These developers are from all over the world. They sometimes meet in person to work on the software.

Anyone can suggest changes or improvements to the project's code. There are also paid programmers who work for the Wikimedia Foundation to develop MediaWiki. MediaWiki also participates in programs like Google Summer of Code, where students work on MediaWiki projects with mentors.

Before November 2012, about 200 developers had contributed to MediaWiki. Major new versions of MediaWiki are released about every six months. Smaller updates, called "point releases," are sent out when needed to fix bugs, especially security problems.

MediaWiki uses a "continuous integration" method, meaning changes to the software are regularly put into use on Wikimedia sites. It also has a public system for tracking bugs and requests for new features.

History of MediaWiki

Magnus Manske
Magnus Manske in 2012

When Wikipedia first started in January 2001, it used an older wiki program called UseModWiki. This program stored all pages in simple text files. But Wikipedia grew very fast, and UseModWiki couldn't keep up. It wasn't powerful enough.

In mid-2001, Magnus Manske, a student and Wikipedia editor, started creating new software specifically for Wikipedia. This new program was written in PHP and stored information in a MySQL database. Most of it was ready by August 2001.

The new software was first fully used on the Meta Wikipedia website in November 2001. People wanted it on the English Wikipedia right away, but Magnus Manske was worried about bugs during his final exams. So, it was launched on the English Wikipedia on January 25, 2002. This new software was called "the PHP script" or "phase II." The old UseModWiki was then called "phase I."

Soon, even this new software had trouble keeping up with Wikipedia's growth. So, another rewrite began, this time by Lee Daniel Crocker. This was called "phase III." It was also written in PHP with a MySQL database. It kept the basic look of the "phase II" software but was much better at handling a lot of users and content. "Phase III" went live on Wikipedia in July 2002.

The Wikimedia Foundation was created in June 2003. In July, a Wikipedia contributor suggested the name "MediaWiki" for the software, playing on "Wikimedia." The name "MediaWiki" was slowly introduced starting in August 2003. The similar names sometimes cause confusion. The first official version of MediaWiki, 1.1, was released in December 2003.

MediaWiki logo
MediaWiki logo until April 1, 2021

The old MediaWiki logo was created by Erik Möller. It used a photo of a sunflower taken by Florence Devouard. This logo was originally entered in a contest for a new Wikipedia logo in 2003. It came in third place and was chosen to represent MediaWiki instead of Wikipedia. The double square brackets in the logo ([[ ]]) represent how MediaWiki creates links to other wiki pages. The sunflower shows the many different types of content on Wikipedia, how it's always growing, and its wild, free nature.

Later, Brion Vibber, who was the chief technical officer of the Wikimedia Foundation, became the person in charge of MediaWiki releases.

Some big steps in MediaWiki's development include: the category system (2004), parser functions (2006), Flagged Revisions (2008), the "ResourceLoader" for delivering website styles and scripts (2011), and the VisualEditor (2013).

A contest for a new logo started in June 2020 because the old logo didn't look good at different sizes. After two rounds of voting, the new logo, designed by Serhio Magpie, was chosen in October 2020 and officially adopted on April 1, 2021.

Websites Using MediaWiki

Wikia Block user
Fandom also makes use of MediaWiki.

MediaWiki is most famous for powering Wikipedia and other Wikimedia Foundation projects. Fandom, a website that hosts many wikis, also uses MediaWiki. Other public wikis that use it include wikiHow and SNPedia. WikiLeaks started as a MediaWiki site, but it's not a wiki anymore.

Many other online encyclopedias, like Citizendium and Scholarpedia, also use MediaWiki. Many companies, such as Novell and Intel, use MediaWiki internally to manage their own information.

Governments also use MediaWiki. For example, Intellipedia is used by the United States Intelligence Community, Diplopedia is used by the United States Department of State, and milWiki is part of milSuite for the United States Department of Defense. Organizations like the United Nations Development Programme chose MediaWiki because it runs Wikipedia, meaning it's well-tested and will continue to be developed.

The Free Software Foundation uses MediaWiki for its LibrePlanet website.

How MediaWiki Compares to Other Collaboration Tools

Many people are familiar with MediaWiki because of Wikipedia. In 2006, experts noted that MediaWiki looks good and has an easy-to-change side menu. However, some thought other programs like Confluence were better for managing many wikis.

A 2009 study compared TWiki to MediaWiki. TWiki was seen as a tool for school papers, while MediaWiki was known for Wikipedia. Students found MediaWiki easier and more fun to use than TWiki. Most students strongly recommended MediaWiki for group projects. Both TWiki and MediaWiki allow you to add extra features.

Another study in 2009 compared MediaWiki to Google Docs. Students found Google Docs much easier to use.

A 2021 study looked at a MediaWiki system for managing knowledge. It found that MediaWiki was easy to use because it was designed for the general public (like Wikipedia users) and had received a lot of feedback over time.

Images

See also

Kids robot.svg In Spanish: MediaWiki para niños would show the content of the "MediaWiki" article itself. You can even choose which parts of a page to include or exclude when it's used as a template.

Templates are used for many things. They help create consistent layouts for tables across many pages. They are often used to mark problems with an article, like putting a box that says the content is "disputed." They also help organize articles into categories. Templates are also used on user pages to send standard messages, like welcoming new users or giving awards.

User Groups and Permissions

MediaWiki lets you create different groups of users and give them different powers. For example, you could create a "ninja" group that can block users or delete pages. There are also default groups like "bureaucrats" (who can change other users' powers) and "sysops" (who can protect pages or block users). MediaWiki's controls are good enough for managing important documents, like instructions in a hospital.

However, MediaWiki was not originally designed to keep some pages secret from certain users. So, if you need a wiki where only specific people can read certain pages, MediaWiki might not be the best choice. Other wiki programs are better for very strict security.

Adding New Features (Extensibility)

MediaWiki is built in a way that makes it easy for developers to add new features without changing the main program code. This is done using "hooks" and "extensions." Installing an extension usually just means adding one line of code to a settings file.

Developers can create new "tags" (like <newtag>...</newtag>) or "parser functions" (like ...) to add new commands. They can also create "special pages" that do specific things, like showing all pages that link to an external website. "Skins" are extensions that let you change the entire look and feel of MediaWiki.

Popular Extensions

Changing Text with Extensions

One very popular extension is called ParserFunctions. It lets you show different content based on certain conditions. For example, it can check if a setting is empty, compare text, or do math. This was created to make things run faster than older, less efficient ways of doing the same thing.

Another extension, StringFunctions, was made to do things like check the length of text or find text within other text. Many wiki communities wanted this feature. Much of its power was later added to the ParserFunctions extension.

Lua Extension

Since 2012, there's been an extension called Scribunto. It lets people write special code called "modules" using the Lua programming language. These modules can then be used inside templates and regular wiki pages. Scribunto is used a lot on Wikipedia and other Wikimedia sites because Lua code runs much faster than the old wiki markup code.

Tools for Footnotes and Schoolwork

Another very popular extension helps you add footnotes and citations to pages. This is great for school projects or academic work. While it can be a bit tricky to learn the syntax, tools like RefToolbar help make it easier to create citations. MediaWiki also has extensions for showing math equations and even molecules in 3D!

Connecting with Other Services

A general "Widgets" extension lets MediaWiki connect with almost anything. Other extensions can help you include Flash videos, YouTube videos, or RSS feeds. For example, a website called Metavid, which archives videos of the U.S. Senate, was built using MediaWiki extensions.

Fighting Spam

Many "spambots" try to add unwanted links to MediaWiki sites. Even though MediaWiki tries to stop this, some spam still gets through. To fight this, "anti-spam" extensions have been developed. These can use CAPTCHAs (those puzzles you solve to prove you're not a robot), block certain website links, or allow quick deletion of pages added by spammers.

Better Searches

MediaWiki comes with a basic search tool. But there are extensions that let MediaWiki use more advanced search engines like Elasticsearch (which Wikipedia uses) or Lucene.

Other extensions, like Semantic MediaWiki, allow for more complex searches. These can help you find information based on how it's connected, not just by keywords.

Rich Content: Images and More

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

MediaWiki extensions support many types of "rich content." This means you can add things like math formulas, timelines, musical scores, and even Egyptian hieroglyphs using special code.

The software supports many types of uploaded media files. It's easy to create image galleries and thumbnails. It also works with Exif data, which is information stored in photos. MediaWiki runs Wikimedia Commons, which is one of the biggest collections of free images and videos.

For "what you see is what you get" (WYSIWYG) editing, VisualEditor is available and makes editing much simpler. It has been included with MediaWiki since version 1.35.

How MediaWiki Stores Information (Database)

MediaWiki database schema latest
A schematic of the MediaWiki database structure

MediaWiki can use different types of databases to store its information, like MySQL, MariaDB, or SQLite. It used to support Oracle and Microsoft SQL Server, but that support was removed in MediaWiki 1.34.

A MediaWiki database has many tables. For example, there's a "page" table that holds page titles and other details. There's also a "revision" table. Every time someone makes an edit, a new row is added to this table. This row includes details like the page ID, a short summary of the change, the user's name (or IP address if they're not logged in), and the time the edit was made.

MediaWiki is designed to be very efficient. It can handle huge amounts of data and many users at once. It uses different methods to speed things up, like caching (saving frequently used information so it can be accessed faster).

Things MediaWiki Doesn't Do As Well

MediaWiki is great for many things, but it's not perfect for everything.

One challenge is that there isn't a strict rulebook for its special wiki markup. This has made it hard to create "what you see is what you get" (WYSIWYG) editors, though VisualEditor has helped a lot.

MediaWiki is also not designed to be a replacement for online forums or blogging software, even though some extensions exist to add those features.

New users sometimes make mistakes, like forgetting to sign their posts on discussion pages. However, some educators like the way MediaWiki discussion pages work because they allow for more detailed conversations than traditional forums. You can link to specific parts of a page, making discussions easier to follow.

By default, MediaWiki doesn't easily create pages that automatically gather information from other pages. The Semantic MediaWiki extension adds these features, and it's used on over 1,600 other MediaWiki sites, though not on Wikipedia itself.

Updating MediaWiki is usually automatic and doesn't require changes to your website's content.

Keeping MediaWiki Safe (Security)

MediaWiki developers work hard to make sure the software is secure. They use special functions to check and clean up information to prevent common attacks like "cross-site scripting" and "SQL injection."

Many security problems have been fixed after a MediaWiki version is released. That's why it's very important to keep your software updated. You can subscribe to their announcements to know when new security updates are available.

Getting Help with MediaWiki

If you need help with MediaWiki, there are several places to go:

  • MediaWiki.org: This is the official website, and it has a "Support Desk."
  • Mediawiki-l: This is an official email list where you can ask questions.
  • Books: There are several books about managing MediaWiki, including some free ones online.

License and How It's Shared

MediaWiki is free and open-source software. This means anyone can use it, change it, and share it under the rules of the GNU General Public License. The instructions and help pages on its official website are shared under the Creative Commons BY-SA 4.0 license. Some help pages are even in the public domain, meaning they can be freely copied without legal issues. MediaWiki development also prefers using open-source media formats.

How MediaWiki Is Developed

MediaWiki has many volunteers who help develop and maintain it. These developers are from all over the world. They sometimes meet in person to work on the software.

Anyone can suggest changes or improvements to the project's code. There are also paid programmers who work for the Wikimedia Foundation to develop MediaWiki. MediaWiki also participates in programs like Google Summer of Code, where students work on MediaWiki projects with mentors.

Before November 2012, about 200 developers had contributed to MediaWiki. Major new versions of MediaWiki are released about every six months. Smaller updates, called "point releases," are sent out when needed to fix bugs, especially security problems.

MediaWiki uses a "continuous integration" method, meaning changes to the software are regularly put into use on Wikimedia sites. It also has a public system for tracking bugs and requests for new features.

History of MediaWiki

Magnus Manske
Magnus Manske in 2012

When Wikipedia first started in January 2001, it used an older wiki program called UseModWiki. This program stored all pages in simple text files. But Wikipedia grew very fast, and UseModWiki couldn't keep up. It wasn't powerful enough.

In mid-2001, Magnus Manske, a student and Wikipedia editor, started creating new software specifically for Wikipedia. This new program was written in PHP and stored information in a MySQL database. Most of it was ready by August 2001.

The new software was first fully used on the Meta Wikipedia website in November 2001. People wanted it on the English Wikipedia right away, but Magnus Manske was worried about bugs during his final exams. So, it was launched on the English Wikipedia on January 25, 2002. This new software was called "the PHP script" or "phase II." The old UseModWiki was then called "phase I."

Soon, even this new software had trouble keeping up with Wikipedia's growth. So, another rewrite began, this time by Lee Daniel Crocker. This was called "phase III." It was also written in PHP with a MySQL database. It kept the basic look of the "phase II" software but was much better at handling a lot of users and content. "Phase III" went live on Wikipedia in July 2002.

The Wikimedia Foundation was created in June 2003. In July, a Wikipedia contributor suggested the name "MediaWiki" for the software, playing on "Wikimedia." The name "MediaWiki" was slowly introduced starting in August 2003. The similar names sometimes cause confusion. The first official version of MediaWiki, 1.1, was released in December 2003.

MediaWiki logo
MediaWiki logo until April 1, 2021

The old MediaWiki logo was created by Erik Möller. It used a photo of a sunflower taken by Florence Devouard. This logo was originally entered in a contest for a new Wikipedia logo in 2003. It came in third place and was chosen to represent MediaWiki instead of Wikipedia. The double square brackets in the logo ([[ ]]) represent how MediaWiki creates links to other wiki pages. The sunflower shows the many different types of content on Wikipedia, how it's always growing, and its wild, free nature.

Later, Brion Vibber, who was the chief technical officer of the Wikimedia Foundation, became the person in charge of MediaWiki releases.

Some big steps in MediaWiki's development include: the category system (2004), parser functions (2006), Flagged Revisions (2008), the "ResourceLoader" for delivering website styles and scripts (2011), and the VisualEditor (2013).

A contest for a new logo started in June 2020 because the old logo didn't look good at different sizes. After two rounds of voting, the new logo, designed by Serhio Magpie, was chosen in October 2020 and officially adopted on April 1, 2021.

Websites Using MediaWiki

Wikia Block user
Fandom also makes use of MediaWiki.

MediaWiki is most famous for powering Wikipedia and other Wikimedia Foundation projects. Fandom, a website that hosts many wikis, also uses MediaWiki. Other public wikis that use it include wikiHow and SNPedia. WikiLeaks started as a MediaWiki site, but it's not a wiki anymore.

Many other online encyclopedias, like Citizendium and Scholarpedia, also use MediaWiki. Many companies, such as Novell and Intel, use MediaWiki internally to manage their own information.

Governments also use MediaWiki. For example, Intellipedia is used by the United States Intelligence Community, Diplopedia is used by the United States Department of State, and milWiki is part of milSuite for the United States Department of Defense. Organizations like the United Nations Development Programme chose MediaWiki because it runs Wikipedia, meaning it's well-tested and will continue to be developed.

The Free Software Foundation uses MediaWiki for its LibrePlanet website.

How MediaWiki Compares to Other Collaboration Tools

Many people are familiar with MediaWiki because of Wikipedia. In 2006, experts noted that MediaWiki looks good and has an easy-to-change side menu. However, some thought other programs like Confluence were better for managing many wikis.

A 2009 study compared TWiki to MediaWiki. TWiki was seen as a tool for school papers, while MediaWiki was known for Wikipedia. Students found MediaWiki easier and more fun to use than TWiki. Most students strongly recommended MediaWiki for group projects. Both TWiki and MediaWiki allow you to add extra features.

Another study in 2009 compared MediaWiki to Google Docs. Students found Google Docs much easier to use.

A 2021 study looked at a MediaWiki system for managing knowledge. It found that MediaWiki was easy to use because it was designed for the general public (like Wikipedia users) and had received a lot of feedback over time.

Images for kids

See also

Kids robot.svg In Spanish: MediaWiki para niños

kids search engine
MediaWiki Facts for Kids. Kiddle Encyclopedia.