MediaWiki: Difference between revisions
VulcanSphere (talk | contribs) →Editing interface: Adding upright to screenshot |
|||
Line 1: | Line 1: | ||
{{Short description|Free and open-source wiki software}} |
|||
{{Redirect|MediaWiki namespace|help regarding the "MediaWiki" namespace on Wikipedia|Help:MediaWiki namespace|general information about Wikipedia namespaces|Wikipedia:Namespace}} |
|||
{{pp-vandalism|small=yes}} |
|||
{{Redirect2|Talk page|MediaWiki talk page|talk page ettiquette and general information about talk pages on Wikipedia|Wikipedia:Talk page guidelines|help regarding talk pages on Wikipedia|Help:Talk page}} |
|||
{{ |
{{Not to be confused with|Wikimedia}} |
||
{{Use mdy dates|date=August 2022}} |
|||
{{pp-move-indef}} |
|||
{{Selfref|}} |
|||
{{Selfref|}} |
|||
{{Infobox software |
{{Infobox software |
||
| name |
| name = MediaWiki |
||
| logo |
| logo = MediaWiki-2020-logo.svg |
||
| logo size = 150px |
|||
| screenshot = [[File:Wikipedia screenshot.png|220px]] |
|||
| screenshot = English Wikipedia screenshot.png |
|||
| collapsible = yes |
|||
| caption |
| caption = The [[Main Page]] of the [[English Wikipedia]] running an alpha version of MediaWiki 1.40 |
||
| collapsible = yes |
|||
| developer = [[Wikimedia Foundation]], <br /> Tim Starling (release manager) |
|||
| author = {{ubl|[[Magnus Manske]]|[[Lee Daniel Crocker]]}} |
|||
| released = 25 January 2002 |
|||
| developer = [[Wikimedia Foundation]] |
|||
| frequently updated = yes<!-- Release version update? Don't edit this page, just click on the version number! --> |
|||
| released = {{Start date and age|2002|01|25|mf=yes}} |
|||
| programming language = [[PHP]] |
|||
| latest_release_version = {{MediaWiki version}} |
|||
| operating system = [[Cross-platform]] |
|||
| latest_release_date = {{MediaWiki version|releasedate}} |
|||
| platform = |
|||
| latest preview version = |
|||
| language = [[#Key features|over 300 languages]] |
|||
| latest preview date = |
|||
| genre = [[Wiki]] |
|||
| discontinued = |
|||
| license = [[GPLv2]]+ |
|||
| programming language = [[PHP]]<ref>{{cite mailing list|mailing-list=mediawiki-announce|url=https://lists.wikimedia.org/pipermail/mediawiki-announce/2019-December/000242.html|title=Announcing MediaWiki 1.34.0|date=December 19, 2019|access-date=December 19, 2019|first=Sam|last=Reed|archive-date=December 19, 2019|archive-url=https://web.archive.org/web/20191219203840/https://lists.wikimedia.org/pipermail/mediawiki-announce/2019-December/000242.html|url-status=live}}</ref> |
|||
| website = {{url|mediawiki.org}} |
|||
| operating system = [[Microsoft Windows|Windows]], [[macOS]], [[Linux]], [[FreeBSD]], [[OpenBSD]], [[Solaris (operating system)|Solaris]] |
|||
| size = ~16.5 [[megabyte|MB]] |
|||
| platform = |
|||
| size = 79.05 [[Byte#Multiple-byte units|MiB]] (compressed)<!-- 1.42.0 .tar.gz --> |
|||
| language count = 459<ref>{{cite web |title=Names.php {{*}} mediawiki |url=https://github.com/wikimedia/mediawiki/blob/33440f23c6deab2c1fab0a9ca7ead30d64a3ea2e/languages/data/Names.php |website=github.com |date=April 8, 2021 |access-date=May 19, 2021 |url-status=live |archive-date=July 15, 2021 |archive-url=https://web.archive.org/web/20210715001937/https://github.com/wikimedia/mediawiki/blob/33440f23c6deab2c1fab0a9ca7ead30d64a3ea2e/languages/data/Names.php }}</ref> |
|||
| language footnote = |
|||
| genre = [[Wiki software]] |
|||
| license = [[GNU General Public License|GPLv2+]]<ref>{{cite web|url=https://www.mediawiki.org/wiki/Copyright|title=Copyright|work=mediawiki.org|access-date=September 7, 2015|archive-url=https://web.archive.org/web/20150919145522/https://www.mediawiki.org/wiki/Copyright|archive-date=September 19, 2015|url-status=live}}</ref> |
|||
| website = {{Official URL}} |
|||
| standard = |
|||
| AsOf = |
|||
| bodystyle = width:323px |
|||
}} |
}} |
||
'''MediaWiki''' is [[free and open-source]] [[wiki software]] originally developed by [[Magnus Manske]] for use on [[Wikipedia]] on January 25, 2002, and further improved by [[Lee Daniel Crocker]],<ref name="manske-php-wikipedia">[[mailarchive:wikipedia-l/2001-August/000382.html|Magnus Manske's announcement of "PHP Wikipedia"]], wikipedia-l, August 24, 2001</ref><ref name="Barrett">{{cite book|title=MediaWiki|author=Barrett, Daniel J.|publisher=O'Reilly Media|date=October 2008|isbn=978-0-596-51979-7|url=https://archive.org/details/isbn_9780596519797|access-date=April 23, 2010|author-link=Daniel J. Barrett|url-access=registration}}</ref> after which development has been coordinated by the [[Wikimedia Foundation]]. It powers several wiki hosting websites across the Internet, as well as most websites hosted by the Wikimedia Foundation including Wikipedia, [[Wiktionary]], [[Wikimedia Commons]], [[Wikiquote]], Meta-Wiki and [[Wikidata]], which define a large part of the set requirements for the software.<ref name="What_is_MediaWiki">{{cite web|date=January 9, 2021|title=What is MediaWiki?|url=https://www.mediawiki.org/wiki/Manual:What_is_MediaWiki%3F|url-status=live|archive-url=https://web.archive.org/web/20180722205421/https://www.mediawiki.org/wiki/Manual:What_is_MediaWiki%3F|archive-date=July 22, 2018|website=MediaWiki|access-date=March 27, 2021}}</ref> Besides its usage on Wikimedia sites, MediaWiki has been used as a [[knowledge management]] and [[content management system]] on websites such as [[Fandom (website)|Fandom]], [[wikiHow]] and major internal installations like [[Intellipedia]] and [[Diplopedia]]. |
|||
MediaWiki is written in the [[PHP]] [[programming language]] and stores all text content into a [[database]]. The software is optimized to efficiently handle large projects, which can have terabytes of content and hundreds of thousands of [[pageviews|views]] per second.<ref name="What_is_MediaWiki" /><ref>{{cite web |author=Česky |url=//en.wikipedia.org/enwiki/w/index.php?title=Wikipedia:Statistics&oldid=352738565 |title=Wikipedia:Statistics – Wikipedia, the free encyclopedia |publisher=Wikipedia|access-date=May 30, 2010 |archive-date=August 28, 2021 |archive-url=https://web.archive.org/web/20210828200519/https://en.wikipedia.org/enwiki/w/index.php?title=Wikipedia:Statistics&oldid=352738565 |url-status=live }}</ref> Because Wikipedia is one of the world's largest and most visited websites, achieving scalability through multiple layers of [[database caching|caching]] and [[database replication]] has been a major concern for developers. Another major aspect of MediaWiki is its internationalization; its interface is available in more than 400 languages.<ref name="translation statistics" /> The software has more than 1,000 configuration settings<ref>{{cite web |url=https://www.mediawiki.org/wiki/Category:MediaWiki_configuration_settings |title=Category:MediaWiki configuration settings |publisher=MediaWiki |date=September 11, 2016 |access-date=September 11, 2016 |archive-url=https://web.archive.org/web/20141110154304/https://www.mediawiki.org/wiki/Category:MediaWiki_configuration_settings |archive-date=November 10, 2014|url-status=live}}</ref> and more than 1,800 [[Software extension|extension]]s available for enabling various features to be added or changed.<ref name="media wiki1">{{cite web |url=https://www.mediawiki.org/wiki/Category:All_extensions |title=Extension Matrix |publisher=MediaWiki |access-date=September 6, 2017 |archive-url=https://web.archive.org/web/20160911222500/https://www.mediawiki.org/wiki/Category:All_extensions |archive-date=September 11, 2016|url-status=live}}</ref> |
|||
'''MediaWiki''' is a [[free software|free]] [[World Wide Web|web-based]] [[wiki software]] application. Developed by the [[Wikimedia Foundation]] and others, it is used to run all of its projects, including [[Wikipedia]], [[Wiktionary]] and [[Wikinews]]. Numerous other wikis around the world also use it to power their [[website]]s. It is written in the [[PHP]] programming language and uses a backend [[database]]. |
|||
The first version of the software was deployed to serve the needs of the [[free content]] [[Wikipedia]] encyclopedia in 2002.<ref name=MediaWiki_history/> It has been deployed since then by many companies as a [[content management system]] for internal [[knowledge management]].<ref>{{cite web|url=http://www.mediawiki.org/wiki/Sites_using_MediaWiki/corporate |title=Sites using MediaWiki/corporate |publisher=MediaWiki |date= |accessdate=2010-05-30}}</ref> Notably, [[Novell]] uses it to operate several of its high-traffic websites.<ref>{{cite web |url=http://developer.novell.com/ |title=Novell.com}}</ref><ref>{{cite web |url=http://en.opensuse.org/ |title=Opensuse.org}}</ref><ref>{{cite web |url=http://www.ifolder.com/ |title=IFolder.com}}</ref> Thousands of websites use MediaWiki.<ref name=Barrett/> Some educators have also assigned students to use MediaWiki for collaborative group projects.<ref name=Using>{{citation|author=Schacht, Paul|chapter=The Collaborative Writing Project|title=Using Wiki in Education|url=https://wiki.umontreal.ca/download/attachments/3693/UsingWikiInEducation_StewartMader.pdf}}</ref> |
|||
The software is optimized to correctly and efficiently handle projects of all sizes, including the largest wikis, which can have terabytes of content and hundreds of thousands of [[hit (internet)|hits]] per second.<ref>{{cite web|author=Česky |url=http://en.wikipedia.org/wiki/Wikipedia:Statistics |title=Wikipedia:Statistics – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |date= |accessdate=2010-05-30}}</ref> Because [[Wikipedia]] is one of the world's largest websites, achieving scalability through multiple layers of [[database cache|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. |
|||
The software is highly customizable, with more than 700 configuration settings<ref>{{cite web|url=http://www.mediawiki.org/wiki/Category:MediaWiki_configuration_settings |title=Category:MediaWiki configuration settings |publisher=MediaWiki |date=2011-02-07 |accessdate=2011-02-07}}</ref> and more than 1,800 [[extension (computing)|extensions]] available for enabling various features to be added or changed.<ref name="mediawiki1">{{cite web|url=http://www.mediawiki.org/wiki/Extension_Matrix |title=Extension Matrix |publisher=MediaWiki |date= |accessdate=2011-02-07}}</ref> More than 600 automated and semi-automated [[Internet bot|bots]] and other tools have been developed to assist in editing MediaWiki sites.<ref>{{cite web|author= |url=http://en.wikipedia.org/wiki/Wikipedia:Bots |title=Wikipedia:Bots – Wikipedia, the free encyclopedia |publisher=en.wikipedia.org |date=2011-02-07 |accessdate=2011-02-07}}</ref> |
|||
==License== |
==License== |
||
MediaWiki is |
MediaWiki is free and open-source and is distributed under the terms of the [[GNU General Public License]] version 2 or any later version. Its documentation, located at its official website at www.mediawiki.org, is released under the [[Creative Commons license|Creative Commons BY-SA 4.0]] license and partly in the [[public domain]].<ref>{{cite web |title=MediaWiki.org Project:Copyrights |url=https://www.mediawiki.org/w/index.php?title=Project:Copyrights&oldid=6078039 |url-status=live |archive-url=https://web.archive.org/web/20230823141546/https://www.mediawiki.org/enwiki/w/index.php?title=Project:Copyrights&oldid=6078039 |archive-date=August 23, 2023 |access-date=August 23, 2023}}</ref> Specifically, the manuals and other content at MediaWiki.org are [[Creative Commons]]-licensed, while the set of help pages intended to be freely copied into fresh wiki installations and/or distributed with MediaWiki software is public domain. This was done to eliminate legal issues arising from the help pages being imported into wikis with licenses that are incompatible with the Creative Commons license.<ref>{{cite web |url=https://www.mediawiki.org/w/index.php?title=Project:PD_help&oldid=320349 |title=Project:PD help |publisher=MediaWiki |access-date=May 30, 2010 |archive-date=October 29, 2020 |archive-url=https://web.archive.org/web/20201029184538/https://www.mediawiki.org/enwiki/w/index.php?title=Project:PD_help&oldid=320349 |url-status=live }}</ref> MediaWiki's development has generally favored the use of [[Open file format|open-source media format]]s.<ref>{{citation|url=https://news.cnet.com/8301-17939_109-10103177-2.html|title=Wikipedia gears up for flood of video and photo files|date=November 19, 2008|author=Rafe Needleman|publisher=C-Net|access-date=April 23, 2010|archive-url=https://web.archive.org/web/20090806080149/https://news.cnet.com/8301-17939_109-10103177-2.html|archive-date=August 6, 2009|url-status=live}}</ref> |
||
==Development== |
==Development== |
||
MediaWiki has an active volunteer community for development and maintenance. Users who have made meaningful contributions to the project by submitting [[ |
MediaWiki has an active volunteer community for development and maintenance. Users who have made meaningful contributions to the project by submitting [[patch (computing)|patches]] are generally, upon request, granted access to commit revisions to the project's [[Git]]/[[Gerrit (software)|Gerrit]] [[Repository (version control)|repository]].<ref>{{cite web |url=https://www.mediawiki.org/w/index.php?title=Development_policy&oldid=740327 |title=Development policy |publisher=MediaWiki |date=July 19, 2013 |access-date=August 4, 2013 |archive-date=May 10, 2017 |archive-url=https://web.archive.org/web/20170510130737/https://www.mediawiki.org/w/index.php?title=Development_policy&oldid=740327 |url-status=live }}</ref> |
||
There are also paid programmers who primarily develop projects for the [[Wikimedia Foundation]]. MediaWiki developers participate in the [[Google Summer of Code]] by facilitating the assignment of mentors to students wishing to work on MediaWiki core and extension projects.<ref>{{cite web |url=https://www.mediawiki.org/enwiki/w/index.php?title=Summer_of_Code&oldid=663742 |title=Summer of Code |publisher=MediaWiki |date=March 26, 2013 |access-date=August 4, 2013 |archive-date=May 10, 2017 |archive-url=https://web.archive.org/web/20170510130220/https://www.mediawiki.org/enwiki/w/index.php?title=Summer_of_Code&oldid=663742 |url-status=live }}</ref> |
|||
During the year prior to November 2012, there were about two hundred developers who had committed changes to the MediaWiki core or extensions.<ref>{{cite web |url=https://www.openhub.net/orgs/wikimedia |title=Wikimedia |publisher=Open Hub |access-date=November 15, 2012 |archive-url=https://web.archive.org/web/20170914173356/https://www.openhub.net/orgs/wikimedia |archive-date=September 14, 2017 |url-status=live }} Approximate counts (not deduplicated) as of November 4, 2012: 139 for core, 155 for extensions supported by WMF, 190 and 42 for extensions only hosted on WMF's Git and SVN repositories respectively.</ref> |
|||
MediaWiki has a public [[bug (computer)|bug]] tracker, ''[https://bugzilla.wikimedia.org/ bugzilla.wikimedia.org]'', which runs [[Bugzilla]]. The site is also used for feature and enhancements requests. Monkayyss |
|||
Major MediaWiki releases are generated approximately every six months by taking snapshots of the development branch, which is kept continuously in a runnable state;<ref name=":0">{{cite web |url=https://www.mediawiki.org/enwiki/w/index.php?title=Version_lifecycle&oldid=2870502 |title=Version lifecycle |publisher=MediaWiki |date=September 5, 2018 |access-date=October 21, 2018 |archive-date=June 17, 2020 |archive-url=https://web.archive.org/web/20200617015450/https://www.mediawiki.org/enwiki/w/index.php?title=Version_lifecycle&oldid=2870502 |url-status=live }}</ref> [[minor release]]s, or [[point release]]s, are issued as needed to correct [[Software bug|bugs]] (especially security problems). |
|||
MediaWiki is developed on a [[continuous integration]] development model, in which software changes are pushed live to Wikimedia sites on regular basis.<ref name=":0" /> |
|||
MediaWiki also has a public [[Bug tracking system|bug]] tracker, ''phabricator.wikimedia.org'', which runs [[Phabricator]]. The site is also used for [[Software feature|feature]] and [[Software enhancement|enhancement]] requests. |
|||
==History== |
==History== |
||
[[File:Magnus Manske.png|thumb|Magnus Manske |
[[File:Magnus Manske.png|thumb|[[Magnus Manske]] in 2012]] |
||
When Wikipedia was |
When Wikipedia was launched in January 2001, it ran on an existing [[wiki software]] system, [[UseModWiki]]. UseModWiki is written in the [[Perl]] programming language, and stores all wiki pages in text ([[Text file|.txt]]) files. This software soon proved to be limiting, in both functionality and performance. In mid-2001, [[Magnus Manske]]—a developer and student at the [[University of Cologne]], as well as a [[Wikipedia community|Wikipedia editor]]—began working on new software that would replace UseModWiki, specifically designed for use by Wikipedia. This software was written in the [[PHP]] scripting language, and stored all of its information in a [[MySQL]] database. The new software was largely developed by August 24, 2001, and a test wiki for it was established shortly thereafter. |
||
The first full implementation of this software was the new [[Meta-Wikipedia|Meta Wikipedia]] on November 9, 2001. There was a desire to have it implemented immediately on the English-language Wikipedia.<ref name="New script demand">{{cite web |last1=Bartlett |first1=Manning |title=Magnus's new script... |url=https://lists.wikimedia.org/pipermail/wikipedia-l/2001-November/000881.html |date=November 14, 2001 |website=Wikimedia Lists |publisher=Wikimedia Foundation |access-date=October 2, 2019 |archive-date=October 2, 2019 |archive-url=https://web.archive.org/web/20191002043502/https://lists.wikimedia.org/pipermail/wikipedia-l/2001-November/000881.html |url-status=live }}</ref> However, Manske was apprehensive about any potential [[Software bug|bugs]] harming the nascent website during the period of the final exams he had to complete immediately prior to Christmas;<ref name="Script response">{{cite web |last1=Manske |first1=Magnus |title=Magnus's new script... |url=https://lists.wikimedia.org/pipermail/wikipedia-l/2001-November/000882.html |date=November 14, 2001 |website=Wikimedia Lists |publisher=Wikimedia Foundation |access-date=October 2, 2019 |archive-date=October 2, 2019 |archive-url=https://web.archive.org/web/20191002043502/https://lists.wikimedia.org/pipermail/wikipedia-l/2001-November/000882.html |url-status=live }}</ref> this led to the launch on the English-language Wikipedia being delayed until January 25, 2002. The software was then, gradually, deployed on all the Wikipedia language sites of that time. This software was referred to as "the PHP script" and as "phase II", with the name "phase I", retroactively given to the use of UseModWiki. |
|||
Increasing usage soon caused load problems again, and soon afterward, another rewrite of the software began, done by [[Lee Daniel Crocker]], which was first known as "phase III". This new software was also written in PHP with a MySQL backend, and kept the basic interface of the phase II software, but was meant to be more scalable. It went live on Wikipedia in July 2002. |
|||
Increasing usage soon caused load problems to arise again, and soon after, another rewrite of the software began; this time being done by [[Lee Daniel Crocker]], which became known as "phase III". This new software was also written in PHP, with a MySQL backend, and kept the basic interface of the phase II software, but with the added functionality of a wider [[scalability]]. The "phase III" software went live on Wikipedia in July 2002. |
|||
The Wikimedia Foundation was announced on June 20, 2003, and in July, Wikipedia contributor Daniel Mayer suggested the name "MediaWiki" for the software, as a play on "Wikimedia".<ref>{{cite web|url=http://lists.wikimedia.org/pipermail/wikipedia-l/2003-July/011021.html|last=Mayer|first=Daniel|accessdate =|title=Phase IV, Wikibooks.org/.com and WikimediaFoundation.org/.com (was Wikis and uniformity)|work=Wikipedia-L mailing list archives}}</ref> 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").<ref>{{cite web|url=http://www.mediawiki.org/wiki/Wikipmediawiki |title=Wikipmediawiki |publisher=MediaWiki |date=2010-05-25 |accessdate=2010-05-30}}</ref> |
|||
The [[Wikimedia Foundation]] was announced on June 20, 2003. In July, Wikipedia contributor Daniel Mayer suggested the name "MediaWiki" for the software, as a play on "Wikimedia".<ref>{{cite web |url = https://lists.wikimedia.org/pipermail/wikipedia-l/2003-July/011021.html |last = Mayer |first = Daniel |title = Phase IV, Wikibooks.org/.com and WikimediaFoundation.org/.com (was Wikis and uniformity) |work = Wikipedia-L mailing list |date=Jul 19, 2003 |access-date = January 18, 2015 |archive-date = July 12, 2017 |archive-url = https://web.archive.org/web/20170712002739/https://lists.wikimedia.org/pipermail/wikipedia-l/2003-July/011021.html |url-status = live }}</ref> The MediaWiki 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").<ref>{{cite web |url = https://www.mediawiki.org/wiki/Wikipmediawiki |title = Differences between Wikipedia, Wikimedia, MediaWiki, and wiki |publisher = MediaWiki |access-date = May 30, 2010 |archive-url = https://web.archive.org/web/20090701102809/https://www.mediawiki.org/wiki/Wikipmediawiki |archive-date = July 1, 2009 |url-status = live |df = mdy-all }}</ref> |
|||
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.<ref>{{cite web | title = International logo contest/results| url = http://meta.wikimedia.org/enwiki/w/index.php?title=International_logo_contest/Results&oldid=509000 | author = Wikimedia contributors | work = Meta-wiki | publisher = [[Wikimedia Foundation]] | date = 10 January 2007 | accessdate = 2007-03-14}}</ref> 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.<ref>{{cite web | author = Wikimedia contributors | title = Historical/Logo history | url = http://meta.wikimedia.org/enwiki/w/index.php?title=Meta:Historical/Logo_history&oldid=513925 | publisher = [[Wikimedia Foundation]] | date = 17 January 2007 | accessdate = 2007-03-14 | work = Meta-wiki}}</ref> |
|||
The double square brackets around the photo of a [[sunflower]] symbolize the [[Syntax of programming languages|syntax]] MediaWiki uses for creating [[hyperlinks]] to other wiki pages. |
|||
[[File:MediaWiki logo.png|thumb|MediaWiki logo until April 1, 2021]] |
|||
Later, Brion Vibber, the [[Chief Technical Officer]] of the [[Wikimedia Foundation]],<ref>{{cite book|title=Everything Is Miscellaneous: The Power of the New Digital Disorder|author=David Weinberger|year=2007 |publisher=Times Books| isbn = 0-8050-8043-0|page=99}}</ref> took up the role of release manager and most active developer.<ref name=MediaWiki_history>{{cite web|url=http://www.mediawiki.org/wiki/MediaWiki_history|accessdate = 2010-06-11|title=MediaWiki history|work=MediaWiki website}}</ref><ref name="WikipediaandMediaWikiTalk">{{cite web|url=http://www.youtube.com/watch?v=DWef69ItVrU |date=28 April 2006 |accessdate = 2009-09-23|title=Wikipedia and MediaWiki|work=Presentation MediaWiki development (video)}}</ref> |
|||
The old [[Logo|product logo]] was created by [[Erik Möller]], using a flower photograph taken by [[Florence Devouard|Florence Nibart-Devouard]], and was originally submitted to the logo contest for a new [[metawiki:File talk:EloquenceSunflowerNew-Small.png|Wikipedia logo]], held from July 20 to August 27, 2003.<ref>{{Cite web|url=https://meta.wikimedia.org/wiki/International_logo_contest|title=International logo contest |website=Meta-Wiki |language=en|access-date=April 9, 2020|archive-date=May 9, 2020|archive-url=https://web.archive.org/web/20200509163823/https://meta.wikimedia.org/wiki/International_logo_contest|url-status=live}}</ref><ref>{{cite web |title = International logo contest/results |url = https://meta.wikimedia.org/enwiki/w/index.php?title=International_logo_contest/Results&oldid=509000 |work = Meta-wiki |publisher = [[Wikimedia Foundation]] |date = January 10, 2007 |access-date = March 14, 2007 |archive-date = November 4, 2015 |archive-url = https://web.archive.org/web/20151104145339/https://meta.wikimedia.org/enwiki/w/index.php?title=International_logo_contest%2FResults&oldid=509000 |url-status = live }}</ref> The logo came in third place, and was chosen to represent MediaWiki rather than Wikipedia, with the second place logo being used for the Wikimedia Foundation.<ref>{{cite web |title = Historical/Logo history |url = https://meta.wikimedia.org/enwiki/w/index.php?title=Meta:Historical/Logo_history&oldid=513925 |publisher = [[Wikimedia Foundation]] |date = January 17, 2007 |access-date = March 14, 2007 |work = Meta-wiki |archive-date = November 4, 2015 |archive-url = https://web.archive.org/web/20151104145339/https://meta.wikimedia.org/enwiki/w/index.php?title=Meta%3AHistorical%2FLogo_history&oldid=513925 |url-status = live }}</ref> The double square brackets ('''[[ ]]''') symbolize the [[Syntax of programming languages|syntax]] MediaWiki uses for creating [[hyperlink]]s to other wiki pages; while the [[sunflower]] represents the diversity of content on Wikipedia, its constant growth, and the wilderness.<ref>{{cite web |title = <nowiki>File talk:EloquenceSunflowerNew-Small.png</nowiki> – Meta |url = https://meta.wikimedia.org/enwiki/w/index.php?title=File_talk:EloquenceSunflowerNew-Small.png&oldid=9331 |author = Erik Möller |work = Meta-wiki |publisher = [[Wikimedia Foundation]] |date = July 26, 2003 |access-date = February 3, 2013 |archive-date = January 30, 2016 |archive-url = https://web.archive.org/web/20160130205926/https://meta.wikimedia.org/enwiki/w/index.php?title=File_talk:EloquenceSunflowerNew-Small.png&oldid=9331 |url-status = live }}</ref> |
|||
Later, {{Visible anchor|Brooke Vibber|Brion Vibber}}, the [[Chief technology officer|chief technical officer]] of the [[Wikimedia Foundation]],<ref>{{cite book |title = Everything Is Miscellaneous: The Power of the New Digital Disorder |author = David Weinberger | author-link = David Weinberger |year = 2007 |publisher = Times Books |isbn = 978-0-8050-8043-8 |page = [https://archive.org/details/everythingismisc00davi/page/99 99] |title-link = Everything Is Miscellaneous: The Power of the New Digital Disorder }}</ref> took up the role of [[release manager]].<ref name="MediaWiki_history">{{cite web |url = //www.mediawiki.org/enwiki/w/index.php?title=MediaWiki_history&oldid=618636 |access-date = August 4, 2013 |title = MediaWiki history |work = MediaWiki website |archive-date = October 27, 2020 |archive-url = https://web.archive.org/web/20201027154036/https://www.mediawiki.org/enwiki/w/index.php?title=MediaWiki_history&oldid=618636 |url-status = live }}</ref><ref name="WikipediaandMediaWikiTalk">{{cite web |url = https://www.youtube.com/watch?v=DWef69ItVrU |date = April 28, 2006 |access-date = September 23, 2009 |title = Wikipedia and MediaWiki |work = Presentation MediaWiki development (video) |archive-url = https://web.archive.org/web/20110414151917/https://www.youtube.com/watch?v=DWef69ItVrU |archive-date = April 14, 2011 |url-status = live |df = mdy-all }}</ref> |
|||
Major milestones in MediaWiki's development have included the categorization system, added in 2004; [[Parsing|parser functions]], added in 2006; and [[flagged revisions]], added in 2008.<ref name=Introducing>{{citation|title=Introducing new features to Wikipedia|author=M Schindler, D Vrandecic|publisher=Proceedings of WebSci|year=2009|url=http://lyhana8.homelinux.org/fac/ICPS%20-%20S8/Maiw/Introducing%20new%20features%20to%20Wikipedia%20-%20Case%20studies%20for%20Web%20science.pdf}}</ref> |
|||
Major milestones in MediaWiki's development have included: the [[Categorization|categorization system]] (2004); [[Parsing|parser]] functions, (2006); [[Flagged Revisions]], (2008);<ref name="Introducing">{{citation |title = Introducing new features to Wikipedia |author1 = M Schindler |author2 = D Vrandecic |publisher = Proceedings of WebSci |year = 2009 |url = https://www.researchgate.net/publication/224219255 |access-date = June 24, 2018 |archive-url = https://web.archive.org/web/20180624093211/https://www.researchgate.net/publication/224219255_Introducing_New_Features_to_Wikipedia_Case_Studies_for_Web_Science |archive-date = June 24, 2018 |url-status = live |df = mdy-all }}</ref> the "''ResourceLoader''", a delivery system for [[CSS]] and JavaScript (2011);<ref>{{cite web |url=https://www.mediawiki.org/wiki/ResourceLoader |title=MediaWiki ResourceLoader |publisher=Mediawiki.org |access-date=July 6, 2013 |archive-url=https://web.archive.org/web/20130308030735/https://www.mediawiki.org/wiki/ResourceLoader |archive-date=March 8, 2013 |url-status=live }}</ref> and the [[VisualEditor]], a "what you see is what you get" ([[WYSIWYG]]) editing platform (2013).<ref>{{Cite web|url = https://www.mediawiki.org/wiki/VisualEditor|publisher = MediaWiki|access-date = September 15, 2013|title = VisualEditor – MediaWiki|archive-url = https://web.archive.org/web/20130927190403/https://www.mediawiki.org/wiki/VisualEditor|archive-date = September 27, 2013|url-status = live|df = mdy-all}}</ref> |
|||
==Sites using MediaWiki== |
|||
{{see also|Category:MediaWiki websites}} |
|||
[[File:Wikia Block user.jpeg|thumb|[[Wikia]] also uses MediaWiki Software.]] |
|||
MediaWiki's most famous use has been in Wikipedia and, to a lesser degree, Wikimedia's other projects. But MediaWiki has also been used to power tens of thousands of other wikis, both public and private. |
|||
The contest of designing a new logo was initiated on June 22, 2020, as the old logo was a bitmap image and had "high details", leading to problems when rendering at high and low resolutions, respectively. After two rounds of voting, the new and current MediaWiki logo designed by [[Serhio Magpie]] was selected on October 24, 2020, and officially adopted on April 1, 2021.<ref name="new_logo">{{cite web |last1=Sarabadani |first1=Amir |title=Logo of MediaWiki has changed |url=https://lists.wikimedia.org/pipermail/mediawiki-l/2021-March/048685.html |publisher=Wikimedia Foundation |access-date=April 2, 2021 |date=March 31, 2021 |archive-date=April 2, 2021 |archive-url=https://web.archive.org/web/20210402053427/https://lists.wikimedia.org/pipermail/mediawiki-l/2021-March/048685.html |url-status=live }}</ref> |
|||
A number of alternative wiki encyclopedias to Wikipedia run on MediaWiki, including [[Citizendium]], [[Conservapedia]],<ref>{{cite web|url=http://www.conservapedia.com/Examples_of_Bias_in_Wikipedia |title=Examples of Bias in Wikipedia |publisher=Conservapedia |date= |accessdate=2010-05-30}}</ref> [[Metapedia (encyclopedia)|Metapedia]]<ref><nowiki>http://en.metapedia.org/wiki/Wikipedia</nowiki></ref> and [[Scholarpedia]]. |
|||
===Version history=== |
|||
[[Wikia]], the world's most popular [[wiki farm]], runs on MediaWiki. Among the notable wikis that Wikia hosts or has hosted are [[LyricWiki]], [[Memory Alpha]], [[Uncyclopedia]], [[WoWWiki]] and [[Wookieepedia]]. |
|||
{{main|MediaWiki version history}} |
|||
The first version of MediaWiki, 1.1, was released in December 2003. |
|||
==Sites using MediaWiki== |
|||
Other popular public wikis that run on MediaWiki include [[wikiHow]], [[AboutUs.org]], [[Mahalo.com]] and [[WikiLeaks]]. |
|||
{{See also|Category:MediaWiki websites}} |
|||
{{main|mw:Sites using MediaWiki}} |
|||
[[File:Wikia Block user.jpeg|thumb|[[Fandom (Website)|Fandom]] also makes use of MediaWiki.]] |
|||
MediaWiki's most famous use has been in [[Wikipedia]] and, to a lesser degree, the Wikimedia Foundation's other projects. [[Fandom (Website)|Fandom]], a [[wiki hosting service]] formerly known as Wikia, runs on MediaWiki. Other public wikis that run on MediaWiki include [[wikiHow]] and [[SNPedia]]. [[WikiLeaks]] began as a MediaWiki-based site, but is no longer a wiki. |
|||
MediaWiki is also used internally by a large number of companies, including [[Novell]] and [[Intel]].<ref>[ |
A number of alternative wiki encyclopedias to Wikipedia run on MediaWiki, including [[Citizendium]], [[Metapedia]], [[Scholarpedia]] and [[Conservapedia]]. MediaWiki is also used internally by a large number of companies, including [[Novell]] and [[Intel]].<ref>[https://www.mediawiki.org/wiki/MediaWiki_testimonials MediaWiki testimonials] {{Webarchive|url=https://web.archive.org/web/20120111223511/https://www.mediawiki.org/wiki/MediaWiki_testimonials |date=January 11, 2012 }}, mediawiki.org</ref><ref>{{cite web|url=https://socialmedia.biz/2010/07/08/the-story-of-intelpedia-a-model-corporate-wiki/|title=The story of Intelpedia: A model corporate wiki|work=Socialmedia.biz|access-date=August 16, 2013|archive-url=https://web.archive.org/web/20130916232246/https://socialmedia.biz/2010/07/08/the-story-of-intelpedia-a-model-corporate-wiki/|archive-date=September 16, 2013|url-status=live}}</ref> |
||
Notable usages of MediaWiki within governments include [[Intellipedia]], used by the [[United States Intelligence Community]], |
Notable usages of MediaWiki within governments include [[Intellipedia]], used by the [[United States Intelligence Community]], [[Diplopedia]], used by the [[United States Department of State]], and milWiki, a part of [[milSuite]] used by the [[United States Department of Defense]]. [[United Nations System|United Nations agencies]] such as the [[United Nations Development Programme]] and [[United Nations International Research and Training Institute for the Advancement of Women|INSTRAW]] chose to implement their wikis using MediaWiki, because "this software runs Wikipedia and is therefore guaranteed to be thoroughly tested, will continue to be developed well into the future, and future technicians on these wikis will be more likely to have exposure to MediaWiki than any other wiki software."<ref>{{cite web |url=https://journal.km4dev.org/journal/index.php/km4dj/article/view/99/159 |title=A stealth transformation: introducing wikis to the UN |author1=A. Maron |author2=M. Maron |publisher=Knowledge Management for Development Journal |year=2007 |access-date=October 9, 2010 |archive-url=https://web.archive.org/web/20110504030508/https://journal.km4dev.org/journal/index.php/km4dj/article/view/99/159 |archive-date=May 4, 2011 |url-status=dead }}</ref> |
||
The [[Free Software Foundation]] uses MediaWiki to implement the [[LibrePlanet]] site.<ref>{{cite web|url=https://www.libreplanet.org|title=LibrePlanet Homepage|access-date=December 10, 2018|archive-url=https://web.archive.org/web/20110318110137/https://libreplanet.org/|archive-date=March 18, 2011|url-status=live}}</ref> |
|||
==Key features== |
==Key features== |
||
MediaWiki provides a rich core feature set and a mechanism to attach [[Software extension|extension]]s to provide additional functionality. |
|||
MediaWiki provides a rich core feature set and a mechanism to attach [[extension (computing)|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,<ref>See also: [http://translatewiki.net/wiki/Translating:Statistics Translation statistics] and [[meta:Multilingual MediaWiki|Multilingual MediaWiki]].</ref> and can be further customized by site administrators (the entire interface is editable through the wiki). |
|||
===Internationalization and localisation=== |
|||
[[File:Translating the wiki way.webm|thumb|400px|thumbtime=16:00|alt=Niklas Laxström, "Translating the wiki way: Simple, fast, fun", Wikimania 2012|Niklas Laxström explains the features that allowed [[translatewiki.net]] to provide MediaWiki with more than 400 locales.]] |
|||
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 400 languages on [[translatewiki.net]],<ref name="translation statistics">{{Cite web |date=2023-08-20 |title=Message group statistics: MediaWiki core |url=https://translatewiki.net/wiki/Special:MessageGroupStats?group=core&messages=&suppressempty=1&x=D#sortable:3=desc |url-status=live |archive-url=https://web.archive.org/web/20230820231524/https://translatewiki.net/wiki/Special:MessageGroupStats?group=core&messages=&suppressempty=1&x=D |archive-date=2023-08-20 |access-date=2023-08-20 |website=translatewiki.net |quote=488 languages (not including languages that are supported but have no translations)}}</ref> and can be further customized by site administrators (the entire interface is editable through the wiki). |
|||
Several extensions, most notably those collected in the MediaWiki Language Extension Bundle, are designed to further enhance the multilingualism and internationalization of MediaWiki. |
|||
===Installation and configuration=== |
===Installation and configuration=== |
||
Installation of MediaWiki requires that the user have [[administrative privileges]] on a server running both PHP and a compatible type of SQL [[#Database|database]]. Some users find that setting up a [[virtual host]] is helpful if the majority of one's site runs under a framework (such as [[Zope]] or [[Ruby on Rails]]) that is largely incompatible with MediaWiki.<ref>{{citation|title=Installing and Customizing MediaWiki|url= |
Installation of MediaWiki requires that the user have [[administrative privileges]] on a server running both PHP and a compatible type of SQL [[#Database|database]]. Some users find that setting up a [[virtual host]] is helpful if the majority of one's site runs under a framework (such as [[Zope]] or [[Ruby on Rails]]) that is largely incompatible with MediaWiki.<ref>{{citation|title=Installing and Customizing MediaWiki|url=https://www.linuxjournal.com/article/8754?page=0,1|last=Lerner|first=Reuven M.|publisher=Linux Journal|date=February 23, 2006|access-date=April 23, 2010|archive-url=https://web.archive.org/web/20100406010012/https://www.linuxjournal.com/article/8754?page=0,1|archive-date=April 6, 2010|url-status=dead}}</ref> [[Cloud hosting]] can eliminate the need to deploy a new server.<ref>{{citation|title=Deploying PHP applications on IBM DB2 in the cloud: MediaWiki as a case study|url=https://portal.acm.org/citation.cfm?id=1723069|last=Petrazickis|first=Leons|publisher=Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research|year=2009|pages = 304–305|doi = 10.1145/1723028.1723069|s2cid = 27463043}}</ref> |
||
An installation PHP script is accessed via a [[web browser]] to initialize the wiki's settings. It prompts the user for a minimal set of required parameters, leaving further changes, such as enabling uploads,<ref>{{cite web|url= |
An installation PHP script is accessed via a [[web browser]] to initialize the wiki's settings. It prompts the user for a minimal set of required parameters, leaving further changes, such as enabling uploads,<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:$wgEnableUploads |title=Manual:$wgEnableUploads |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625234102/https://www.mediawiki.org/wiki/Manual:$wgEnableUploads |archive-date=June 25, 2010 |url-status=live }}</ref> adding a site logo,<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:$wgLogo |title=Manual:$wgLogo |publisher=MediaWiki |date=December 12, 2009 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625234904/https://www.mediawiki.org/wiki/Manual:$wgLogo |archive-date=June 25, 2010 |url-status=live }}</ref> and installing extensions, to be made by modifying configuration settings contained in a file called <code>LocalSettings.php</code>.<ref>{{cite web |url=https://www.mediawiki.org/wiki/LocalSettings.php |title=<nowiki>Manual:LocalSettings.php</nowiki> |publisher=MediaWiki |date=March 29, 2007 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625233619/https://www.mediawiki.org/wiki/LocalSettings.php |archive-date=June 25, 2010 |url-status=live }}</ref> Some aspects of MediaWiki can be configured through special pages or by editing certain pages; for instance, abuse filters can be configured through a special page,<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:AbuseFilter |title=Extension:AbuseFilter |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625224424/https://www.mediawiki.org/wiki/Extension:AbuseFilter |archive-date=June 25, 2010 |url-status=live }}</ref> and certain gadgets can be added by creating [[JavaScript]] pages in the MediaWiki namespace.<ref name="WikEd">{{cite web| url = https://en.wikipedia.org/wiki/User:Cacycle/wikEd| title = wikEd| author = Cacycle| archive-url = https://web.archive.org/web/20071123151215/https://en.wikipedia.org/wiki/User:Cacycle/wikEd| archive-date = November 23, 2007| url-status = live| df = mdy-all}}</ref> The MediaWiki community publishes a comprehensive installation guide.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Installation_guide |title=Manual:Installation guide |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625235352/https://www.mediawiki.org/wiki/Manual:Installation_guide |archive-date=June 25, 2010 |url-status=live }}</ref> |
||
===Markup=== |
===Markup=== |
||
One of the earliest differences between MediaWiki (and its predecessor, UseModWiki) and other wiki engines was the use of "[[free link]]s" instead of [[CamelCase]]. When MediaWiki was created, it was typical for wikis to require text like "WorldWideWeb" to create a link to a page about the [[World Wide Web]] |
One of the earliest differences between MediaWiki (and its predecessor, [[UseModWiki]]) and other wiki engines was the use of "[[free link]]s" instead of [[CamelCase]]. When MediaWiki was created, it was typical for wikis to require text like "WorldWideWeb" 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. <code>{{brackets|World Wide Web}}</code>. This change was logical for the purpose of creating an encyclopedia, where accuracy in titles is important. |
||
MediaWiki uses an extensible<ref>{{cite web|url= |
MediaWiki uses an extensible<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Extending_wiki_markup |title=Manual:Extending wiki markup |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20110501083425/https://www.mediawiki.org/wiki/Manual:Extending_wiki_markup |archive-date=May 1, 2011 |url-status=live }}</ref> [[lightweight markup|lightweight]] [[wiki markup]] designed to be easier to use and learn than [[HTML]]. Tools exist for converting content such as [[Table (information)|tables]] between MediaWiki markup and HTML.<ref>{{cite web |url=https://tools.wmflabs.org/magnustools/html2wiki.php |title=HTML to Wiki Converter – tables |publisher=WMF Labs |date=March 29, 2008 |access-date=June 12, 2014 |archive-url=https://web.archive.org/web/20140713040132/https://tools.wmflabs.org/magnustools/html2wiki.php |archive-date=July 13, 2014 |url-status=live }}</ref> Efforts have been made to create a MediaWiki markup spec, but a consensus seems to have been reached that Wikicode requires [[context-sensitive grammar]] rules.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Markup_spec |title=Markup spec |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20071219052149/https://www.mediawiki.org/wiki/Markup_spec |archive-date=December 19, 2007 |url-status=live }}</ref><ref>{{cite web |url=https://www.cs.rmit.edu.au/adcs2010/proceedings/pdf/paper%204.pdf |title=Extricating Meaning from Wikimedia Article Archives |access-date=January 2, 2011 |archive-url=https://web.archive.org/web/20110310023318/https://www.cs.rmit.edu.au/adcs2010/proceedings/pdf/paper%204.pdf |archive-date=March 10, 2011 |url-status=live }}</ref> The following side-by-side comparison illustrates the differences between wiki markup and HTML: |
||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|- |
||
! style="width:300px; height:94px; border-bottom-width:2px"|MediaWiki syntax <br /><span style="font-weight: normal; font-size: 98%">(the "behind the scenes" code<br /> used to add formatting to text)</span> |
|||
!MediaWiki syntax |
|||
! style="width:376px; border-bottom-width:2px"|HTML equivalent <br /><span style="font-weight: normal; font-size: 98%">(another type of "behind the scenes" code<br /> used to add formatting to text)</span> |
|||
!Equivalent HTML |
|||
! style="width:230px; border-bottom-width:2px"|Rendered output <br /><span style="font-weight: normal; font-size: 98%">(seen onscreen by a site viewer)</span> |
|||
!Rendered output |
|||
|- style="vertical-align:top;" |
|- style="vertical-align:top;" |
||
|<syntaxhighlight lang="wikitext"> |
|||
|<tt><nowiki>"Take some more [[tea]]," the March Hare said to Alice, very earnestly.</nowiki><br /><br /><nowiki>"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."</nowiki><br /><br />"You mean you can't take <nowiki>''less''</nowiki>," said the Hatter: "it's <nowiki>'''very'''</nowiki> easy to take <nowiki>''more''</nowiki> than nothing."</tt> |
|||
|<tt><p>"Take some more <a href="Tea" title="Tea">tea</a>," the March Hare said to Alice, very earnestly.</p><br /><br /> |
|||
====A dialogue==== |
|||
<p>"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."</p><br /><br /> |
|||
"Take some more [[tea]]," the March Hare said to Alice, very earnestly. |
|||
<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> |
|||
<br /></tt> |
|||
"I've had nothing yet," Alice replied in an offended tone: "so I can't take more." |
|||
|"Take some more [[tea]]," the March Hare said to Alice, very earnestly. |
|||
"You mean you can't take ''less''," said the Hatter: "it's '''very''' easy to take ''more'' than nothing."</syntaxhighlight> |
|||
|<syntaxhighlight lang="html"> |
|||
<h4>A dialogue</h4> |
|||
<p>"Take some more <a href="/enwiki/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></syntaxhighlight> |
|||
|<div style="font-weight: bold; margin-top: 24px; margin-bottom: 16px">A dialogue</div> |
|||
"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." |
"I've had nothing yet," Alice replied in an offended tone: "so I can't take more." |
||
Line 103: | Line 131: | ||
===Editing interface=== |
===Editing interface=== |
||
{{see also|VisualEditor}} |
|||
[[File:Mediawiki-edit.png|thumb|300px|Editing interface of MediaWiki 1.9, showing the edit toolbar and some examples of wiki syntax.]] |
|||
[[File:MediaWiki 1.44.0-wmf.4 source editing at English Wikipedia screenshot.webp|thumb|upright=1.2|Editing interface of MediaWiki 1.44.0-wmf.4 with [[syntax highlighting]], showing the edit toolbar of 2017 wikitext editor and some examples of wiki syntax]] |
|||
MediaWiki's page-editing tools have sometimes been described as somewhat challenging to learn.<ref>{{citation|publisher=Tech & Learning|url=http://www.techlearning.com/article/6164|title=Wild about Wikis|author=Jakes, David|date=August 15, 2006}}</ref> A survey of students assigned to use a MediaWiki-based wiki found that when they were asked an [[open question]] about main problems with the wiki, 24% cited technical problems with formatting, e.g. "Couldn't figure out how to get an image in. Can't figure out how to show a link with words; it inserts a number."<ref>{{citation|title=Wiki as a professional development tool|author=Brian Foley & Tae Chang|year=2008|publisher=Technology and Teacher Education|url=http://www.csun.edu/~bfoley/AERA_Wiki.pdf}}</ref> |
|||
MediaWiki's default page-editing tools have been described as somewhat challenging to learn.<ref>{{citation|publisher=Tech & Learning|url=https://www.techlearning.com/article/6164|title=Wild about Wikis|last=Jakes|first=David|date=August 15, 2006|access-date=April 23, 2010|archive-url=https://web.archive.org/web/20100502052101/https://www.techlearning.com/article/6164|archive-date=May 2, 2010|url-status=dead}}</ref> A survey of students assigned to use a MediaWiki-based wiki found that when they were asked an [[Open-ended question|open question]] about main problems with the wiki, 24% cited technical problems with formatting, e.g. "Couldn't figure out how to get an image in. Can't figure out how to show a link with words; it inserts a number."<ref>{{citation|title=Wiki as a professional development tool|first1=Brian|last1=Foley|first2=Tae|last2=Chang|name-list-style=amp|year=2008|publisher=Technology and Teacher Education|url=https://www.csun.edu/~bfoley/AERA_Wiki.pdf|access-date=April 23, 2010|archive-url=https://web.archive.org/web/20110430024752/https://www.csun.edu/~bfoley/AERA_Wiki.pdf|archive-date=April 30, 2011|url-status=live}}</ref> |
|||
To make editing long pages easier, MediaWiki allows the editing of a subsection of a page (as identified by its header). A user can also indicate whether or not an edit is minor. Correcting spelling, grammar or punctuation are examples of minor edits, whereas adding paragraphs of new text is an example of a non-minor edit. |
|||
To make editing long pages easier, MediaWiki allows the editing of a subsection of a page (as identified by its header). A registered user can also indicate whether or not an edit is minor. Correcting spelling, grammar or punctuation are examples of minor edits, whereas adding paragraphs of new text is an example of a non-minor edit. |
|||
Sometimes while one user is editing, a second user saves an edit to the same part of the page. Then, when the first user attempts to save the page, an [[edit conflict]] occurs. The second user is then given an opportunity to merge his content into the page as it now exists following the first user's page save. An optional extension gives selected user groups priority when edit conflicts occur.<ref>{{cite web|url=http://www.mediawiki.org/wiki/Extension:EditConflict |title=Extension:EditConflict |publisher=MediaWiki |date= |accessdate=2010-05-30}}</ref> |
|||
Sometimes while one user is editing, a second user saves an edit to the same part of the page. Then, when the first user attempts to save the page, an [[edit conflict]] occurs. The second user is then given an opportunity to merge their content into the page as it now exists following the first user's page save. |
|||
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. |
|||
MediaWiki's user interface has been localized in many 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]]. |
|||
In Mediawiki 1.17 and up the classic editing toolbar is no longer included. |
|||
VisualEditor has its own integrated wikitext editing interface known as 2017 wikitext editor, the older editing interface is known as 2010 wikitext editor. |
|||
===Application Programming Interface=== |
|||
MediaWiki has an extensible Application Programming Interface that provides direct, high-level access to the data contained in the MediaWiki databases. Client programs can use the API to login, get data, and post changes. The API supports thin web-based JavaScript clients and end-user applications (such as vandal-fighting tools). The API can be accessed by the [[backend]] of another web site.<ref>{{cite web|url=http://www.mediawiki.org/wiki/API |title=API |publisher=MediaWiki |date=2010-05-17 |accessdate=2010-05-30}}</ref> An extensive [[Python (programming language)|Python]] [[Internet bot|bot]] library, Pywikipediabot,<ref>{{cite web|url=http://meta.wikimedia.org/wiki/Pywikipediabot |title=Pywikipediabot – Meta |publisher=Meta.wikimedia.org |date= |accessdate=2010-05-30}}</ref> and a popular semi-automated tool called AutoWikiBrowser, also interface with the API.<ref>{{cite web|author=Česky |url=http://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser |title=Wikipedia:AutoWikiBrowser – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |date= |accessdate=2010-05-30}}</ref> The API is accessed via URLs such as <code><nowiki>http://en.wikipedia.org/enwiki/w/api.php?action=query&list=recentchanges</nowiki></code>. In this case, the query would be asking Wikipedia for information relating to the last 10 edits to the site. One of the perceived advantages of the API is its language independence; it listens for [[HTTP]] connections from clients and can send a response in a variety of formats, such as [[XML]], serialized PHP, [[YAML]], or [[JSON]].<ref>{{citation|title=Facilitating Wiki/Repository Communication with Metadata|url=http://smartech.gatech.edu/dspace/handle/1853/28426|author=Bartolo, Laura M.; Lowe, Cathy S.; Songar, Poonam; Tandy, Robert J.|date=20-May-2009|publisher=Georgia Institute of Technology}}</ref> [[Client code]] has been developed to provide layers of [[abstraction (computer science)|abstraction]] to the API.<ref>{{cite web|url=http://www.mediawiki.org/wiki/API:Client_code |title=API:Client code |publisher=MediaWiki |date=2010-05-24 |accessdate=2010-05-30}}</ref> |
|||
===Application programming interface=== |
|||
MediaWiki has an extensible [[web API]] ([[application programming interface]]) that provides direct, high-level access to the data contained in the MediaWiki databases. Client programs can use the API to log in, get data, and post changes. The API supports thin web-based JavaScript clients and end-user applications (such as vandal-fighting tools). The API can be accessed by the [[Front and back ends|backend]] of another web site.<ref>{{cite web |url=https://www.mediawiki.org/wiki/API |title=API |publisher=MediaWiki |date=May 17, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100527004158/https://www.mediawiki.org/wiki/API |archive-date=May 27, 2010 |url-status=live }}</ref> An extensive [[Python (programming language)|Python]] [[Internet bot|bot]] library, [[Wikipedia:Pywikibot|Pywikibot]],<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Pywikibot |title=Pywikibot – MediaWiki |publisher=mediawiki.org |access-date=March 16, 2018 |archive-url=https://web.archive.org/web/20180309072418/https://www.mediawiki.org/wiki/Manual:Pywikibot |archive-date=March 9, 2018 |url-status=live }}</ref> and a popular semi-automated tool called [[Wikipedia:AutoWikiBrowser|AutoWikiBrowser]], also interface with the API.<ref>{{cite web |author=Česky |url=https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser |title=Wikipedia:AutoWikiBrowser – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100420235103/https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser |archive-date=April 20, 2010 |url-status=live }}</ref> The API is accessed via URLs such as <code><nowiki>https://en.wikipedia.org/enwiki/w/api.php?action=query&list=recentchanges</nowiki></code>. In this case, the query would be asking Wikipedia for information relating to the last 10 edits to the site. One of the perceived advantages of the API is its language independence; it listens for [[HTTP]] connections from clients and can send a response in a variety of formats, such as [[XML]], serialized PHP, or [[JSON]].<ref>{{citation|title=Facilitating Wiki/Repository Communication with Metadata|url=https://smartech.gatech.edu/dspace/handle/1853/28426|author1=Bartolo, Laura M.|author2=Lowe, Cathy S.|author3=Songar, Poonam|author4=Tandy, Robert J.|date=May 20, 2009|publisher=Georgia Institute of Technology|access-date=April 23, 2010|archive-url=https://web.archive.org/web/20110109004041/https://smartech.gatech.edu/dspace/handle/1853/28426|archive-date=January 9, 2011|url-status=dead}}</ref> [[Client–server model|Client code]] has been developed to provide layers of [[abstraction (computer science)|abstraction]] to the API.<ref>{{cite web |url=https://www.mediawiki.org/wiki/API:Client_code |title=API:Client code |publisher=MediaWiki |date=May 24, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100626072508/https://www.mediawiki.org/wiki/API:Client_code |archive-date=June 26, 2010 |url-status=live }}</ref> |
|||
===Rich content=== |
===Rich content=== |
||
[[File:MediaWiki's gallery feature.png|thumb |
[[File:MediaWiki's gallery feature.png|thumb|[[Image]]s can be arranged in galleries, a feature that is used extensively for Wikimedia's media archive, [[Wikimedia Commons]].]] |
||
MediaWiki supports [[rich media|rich content]] generated through specialized syntax. For example, the software comes with optional 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 [[Plot (graphics)|plotting]] and [[musical |
MediaWiki supports [[rich media|rich content]] generated through specialized syntax. For example, the software comes with optional support for rendering mathematical formulas using [[LaTeX]] and a special parser written in [[OCaml]] named texvc.<ref>{{cite arXiv |last1=Stegmüller |first1=Johannes |title=WikiTexVC: MediaWiki's native LaTeX to MathML converter for Wikipedia |date=2024-01-30 |eprint=2401.16786 |last2=Schubotz |first2=Moritz|class=cs.DL }}</ref> Similar functionality for other content, ranging from graphical timelines over mathematical [[Plot (graphics)|plotting]] and [[Sheet music|musical scores]] to [[Egyptian hieroglyphs]], is available via extensions. |
||
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. |
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. |
||
For WYSIWYG editing, [[VisualEditor]] is available to use in MediaWiki which simplifying editing process for editors and has been bundled since MediaWiki 1.35.<ref>{{Cite web|title=Extension:VisualEditor|url=https://www.mediawiki.org/wiki/Extension:VisualEditor|url-status=live|access-date=March 15, 2021|website=MediaWiki|language=en|archive-date=February 21, 2021|archive-url=https://web.archive.org/web/20210221063745/https://www.mediawiki.org/wiki/Extension:VisualEditor}}</ref> Other extensions exist for handling WYSIWYG editing to different degrees.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Category:WYSIWYG_extensions |title=Category:WYSIWYG extensions |publisher=MediaWiki |date=April 10, 2008 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20110501083632/https://www.mediawiki.org/wiki/Category:WYSIWYG_extensions |archive-date=May 1, 2011 |url-status=live }}</ref> |
|||
===Tracking edits=== |
===Tracking edits=== |
||
Among the features of MediaWiki to assist in tracking edits is a Recent Changes feature that provides a list of recent edits to the wiki. This list contains basic information about those edits such as the editing user, the edit summary, the page edited, as well as any tags (e.g. "possible |
Among the features of MediaWiki to assist in tracking edits is a Recent Changes feature that provides a list of recent edits to the wiki. This list contains basic information about those edits such as the editing user, the edit summary, the page edited, as well as any tags (e.g. "possible [[Vandalism on Wikipedia|vandalism]]")<ref>{{cite web |url=https://en.wikipedia.org/wiki/Special:Tags |title=Tags – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |access-date=May 30, 2010 |archive-date=March 4, 2010 |archive-url=https://web.archive.org/web/20100304112922/https://en.wikipedia.org/wiki/Special:Tags |url-status=live }}</ref> added by customizable abuse filters and other extensions to aid in combating unhelpful edits.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Tags |title=Manual:Tags |publisher=MediaWiki |date=August 31, 2009 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625224408/https://www.mediawiki.org/wiki/Manual:Tags |archive-date=June 25, 2010 |url-status=live }}</ref> On more active wikis, so many edits occur that it is hard to track Recent Changes manually. Anti-vandal software, including user-assisted tools,<ref>{{cite web |url=https://en.wikipedia.org/wiki/Wikipedia:Huggle |title=Wikipedia:Huggle – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20110331172521/https://en.wikipedia.org/wiki/Wikipedia:Huggle |archive-date=March 31, 2011 |url-status=live }}</ref> is sometimes employed on such wikis to process Recent Changes items. Server load can be reduced by sending a continuous feed of Recent Changes to an [[IRC channel]] that these tools can monitor, eliminating their need to send requests for a refreshed Recent Changes feed to the API.<ref>{{cite web |url=https://meta.wikimedia.org/wiki/IRC/Channels#Raw_feeds |title=IRC/Channels |publisher=Meta-Wiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100323020404/https://meta.wikimedia.org/wiki/IRC/Channels#Raw_feeds#Raw_feeds |archive-date=March 23, 2010 |url-status=live }}</ref><ref>{{cite web| url= https://www.bbc.co.uk/news/magazine-18892510| title= Meet the 'bots' that edit Wikipedia| author= Daniel Nasaw| work= BBC News| date= July 25, 2012| access-date= July 30, 2012| archive-url= https://web.archive.org/web/20120728024625/https://www.bbc.co.uk/news/magazine-18892510| archive-date= July 28, 2012| url-status= live| df= mdy-all}}</ref> |
||
Another important tool is watchlisting. Each logged-in user has a watchlist to which |
Another important tool is watchlisting. Each logged-in user has a watchlist to which the user can add whatever pages he or she wishes. When an edit is made to one of those pages, a summary of that edit appears on the watchlist the next time it is refreshed.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Watchlist |title=Manual:Watchlist |publisher=MediaWiki |date=November 24, 2009 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20110501081950/https://www.mediawiki.org/wiki/Manual:Watchlist |archive-date=May 1, 2011 |url-status=live }}</ref> As with the recent changes page, recent edits that appear on the watchlist contain clickable links for easy review of the article history and specific changes made. |
||
There is also capability to review all edits made by any particular user. In this way, if an edit is identified as problematic, it is possible to check the user's other edits for issues. |
There is also the capability to review all edits made by any particular user. In this way, if an edit is identified as problematic, it is possible to check the user's other edits for issues. |
||
MediaWiki allows one to link to specific versions of articles. This has been useful to the scientific community, in that expert peer reviewers could analyse articles, improve them and provide links to the trusted version of that article.<ref>{{citation|title=Wiki ware could harness the Internet for science|author=Kevin Yager| |
MediaWiki allows one to link to specific versions of articles. This has been useful to the scientific community, in that expert peer reviewers could analyse articles, improve them and provide links to the trusted version of that article.<ref>{{citation|title=Wiki ware could harness the Internet for science|author=Kevin Yager|journal=Nature|date=March 16, 2006|volume=440|issue=7082|doi=10.1038/440278a|pages=278|pmid=16541049|bibcode=2006Natur.440..278Y|doi-access=free}}</ref> |
||
===Navigation=== |
===Navigation=== |
||
Navigation through the wiki is largely through internal wikilinks. |
|||
==== Wikilinks ==== |
|||
These implement page existence detection, in which a link is colored blue if the target page exists on the local wiki and red if it does not. When a user clicks on a red link, he is prompted to create an article with that title. Page existence detection makes it practical for users to create "wikified" articles — that is, articles containing links to other pertinent subjects — without those other articles being yet in existence. |
|||
Navigation through the wiki is largely through internal wikilinks. MediaWiki's wikilinks implement page existence detection, in which a link is colored blue if the target page exists on the local wiki and red if it does not. If a user clicks on a red link, they are prompted to create an article with that title. Page existence detection makes it practical for users to create "wikified" articles—that is, articles containing links to other pertinent subjects—without those other articles being yet in existence. |
|||
==== Interwiki links ==== |
|||
The red/blue distinction alerts : |
|||
{{redirect|selfref=true|Inter-wiki link|help with interwiki linking on Wikipedia|Help:Interwiki linking}} |
|||
* readers lacking an interest in creating new articles of broken links that it would be fruitless for them to click upon |
|||
Interwiki links function much the same way as namespaces. A set of interwiki prefixes can be configured to cause, for instance, a page title of <code>wikiquote:Jimbo Wales</code> to direct the user to the Jimbo Wales article on [[Wikiquote]].<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Interwiki |title=Manual:Interwiki |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20101203112631/https://www.mediawiki.org/wiki/Manual:Interwiki |archive-date=December 3, 2010 |url-status=live }}</ref> Unlike internal wikilinks, interwiki links lack page existence detection functionality, and accordingly there is no way to tell whether a blue interwiki link is broken or not. |
|||
* editors interested in creating new articles of what topics their efforts might be usefully applied to. |
|||
==== Interlanguage links ==== |
|||
Interwiki links function much the same way as namespaces. A set of interwiki prefixes can be configured to cause, for instance, a page title of <code>wikiquote:Jimbo Wales</code> to direct the user to the Jimbo Wales article on [[Wikiquote]].<ref>{{cite web|url=http://www.mediawiki.org/wiki/Manual:Interwiki |title=Manual:Interwiki |publisher=MediaWiki |date= |accessdate=2010-05-30}}</ref> Unlike internal wikilinks, interwiki links lack page existence detection functionality, and accordingly there is no way to tell whether a blue interwiki link is broken or not. |
|||
[[File:Interlanguage links prior to Wikidata.png|thumb|An example of interlanguage links]] |
|||
Interlanguage links are the small navigation links that show up in the sidebar in most MediaWiki skins that connect an article with related articles in other languages within the same Wiki family. This can provide language-specific communities connected by a larger context, with all wikis on the same server or each on its own server.<ref>{{Cite web|title=Interlanguage links|url=https://www.mediawiki.org/wiki/Interlanguage_links|url-status=live|access-date=March 17, 2021|website=MediaWiki|language=en|archive-date=March 12, 2021|archive-url=https://web.archive.org/web/20210312133505/https://www.mediawiki.org/wiki/Interlanguage_links}}</ref> |
|||
Previously, Wikipedia used interlanguage links to link an article to other articles on the same topic in other editions of Wikipedia. This was superseded by the launch of Wikidata.<ref>{{Cite web|last=Pintscher|first=Lydia|date=September 23, 2013|title=Wikidata is Here!|url=https://commons.wikimedia.org/wiki/Commons:Village_pump/Archive/2013/10#Wikidata_is_here.21|url-status=live|access-date=March 17, 2021|website=[[Commons:Commons:Village pump|Commons:Village pump]]|language=en|archive-date=December 6, 2021|archive-url=https://web.archive.org/web/20211206060438/https://commons.wikimedia.org/wiki/Commons:Village_pump/Archive/2013/10#Wikidata_is_here.21}}</ref> |
|||
===Content organization=== |
===Content organization=== |
||
====Page tabs and associated pages==== |
====Page tabs and associated pages==== |
||
[[File:MediaWiki Vector skin tabs.png|frame|MediaWiki page tabs, using the "Vector" 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.]] |
[[File:MediaWiki Vector skin tabs.png|frame|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.]] |
||
Page tabs are displayed at the top of pages. These tabs allow users to perform actions or view pages that are related to the current page. The available default actions include viewing, editing, and discussing the current page. The specific tabs displayed depend on whether |
Page tabs are displayed at the top of pages. These tabs allow users to perform actions or view pages that are related to the current page. The available default actions include viewing, editing, and discussing the current page. The specific tabs displayed depend on whether the user is logged into the wiki and whether the user has sysop privileges on the wiki. For instance, the ability to move a page or add it to one's watchlist is usually restricted to logged-in users. The site administrator can add or remove tabs by using JavaScript or installing extensions.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Help:Navigation#Page_Tabs |title=Help:Navigation |publisher=MediaWiki |date=May 21, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100527004218/https://www.mediawiki.org/wiki/Help:Navigation#Page_Tabs#Page_Tabs |archive-date=May 27, 2010 |url-status=live }}</ref> |
||
Each page has an associated history page from which the user can access every version of the page that has ever existed and generate [[diff]]s between two versions of his choice. Users' contributions are displayed not only here, but also via a "user contributions" option on a sidebar. Carl Challborn |
Each page has an associated history page from which the user can access every version of the page that has ever existed and generate [[diff]]s between two versions of his choice. Users' contributions are displayed not only here, but also via a "user contributions" option on a sidebar. In a 2004 article, Carl Challborn and Teresa Reimann noted that "While this feature may be a slight deviation from the collaborative, 'ego-less' spirit of wiki purists, it can be very useful for educators who need to assess the contribution and participation of individual student users."<ref>{{citation|url=https://cde.athabascau.ca/softeval/reports/R470412.pdf|title=Wiki products: a comparison|author1=Carl Challborn|author2=Teresa Reimann|name-list-style=amp|date=December 2004|publisher=Athabasca University|access-date=April 23, 2010|archive-url=https://web.archive.org/web/20101223221302/https://cde.athabascau.ca/softeval/reports/R470412.pdf|archive-date=December 23, 2010|url-status=live}}</ref> |
||
very useful for educators who need to assess the contribution and participation of individual student users."<ref>{{citation|url=http://cde.athabascau.ca/softeval/reports/R470412.pdf|title=Wiki products: a comparison|author=Carl Challborn & Teresa Reimann|date=December 2004|publisher=Athabasca University}}</ref> |
|||
===={{anchor|Talk page|Namespace}} Namespaces==== |
==== {{anchor|Talk page|Namespace}} Namespaces ==== |
||
{{selfref| |
{{redirect|selfref=true|Talk page|talk pages on Wikipedia|Help:Talk pages}} |
||
MediaWiki provides many features beyond |
MediaWiki provides many features beyond [[hyperlink]]s for structuring content. One of the earliest such features is ''[[namespace]]s''. 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 "<code>User:</code>" or "<code>Talk:</code>") 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 "<code>{{brackets|The Terminator}}</code>", in the default namespace, could describe [[The Terminator|the 1984 movie]] starring [[Arnold Schwarzenegger]], while a page titled "<code>{{brackets|User:The Terminator}}</code>" could be a profile describing a user who chooses this name as a pseudonym. More commonly, each namespace has an associated "<code>Talk:</code>" namespace, which can be used to discuss its contents, such as "<code>User talk:</code>" or "<code>Template talk:</code>". The purpose of having discussion pages is to allow content to be separated from discussion surrounding the content.<ref>{{cite book |title=Enterprise 2. 0 Implementation |last1=Newman |first1=Aaron |first2=Adam |last2=Steinberg |first3=Jeremy |last3=Thomas |page=185 |publisher=McGraw-Hill Professional |year=2008 |isbn=978-0-07-159160-7}}</ref><ref>{{cite book |title=Multi-Stakeholder Governance and the Internet Governance Forum |url=https://archive.org/details/multistakeholder00malc |url-access=limited |author=Malcolm, Jeremy |pages=[https://archive.org/details/multistakeholder00malc/page/n216 188], 280 |publisher=Terminus Press |year=2008 |isbn=978-0-9805084-0-6}}</ref> |
||
Namespaces can be viewed as [[file folder|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 "<code>Special:</code>" pages and links to media files. Each namespace on MediaWiki is numbered: content page namespaces have even numbers and their associated talk page namespaces have odd numbers.<ref>{{cite book|title=Wiki | |
Namespaces can be viewed as [[file folder|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 "<code>Special:</code>" pages and links to media files. Each namespace on MediaWiki is numbered: content page namespaces have even numbers and their associated talk page namespaces have odd numbers.<ref>{{cite book|title=Wiki |url=https://archive.org/details/wikiwebcollabora00eber_531 |url-access=limited |last1=Ebersbach |first1=Anja |first2=Markus |last2=Glaser |first3=Richard |last3=Heigl |first4=Gunter |last4=Dueck |pages=[https://archive.org/details/wikiwebcollabora00eber_531/page/n68 55], 80–82, 109, 120–121, 156 |publisher=Springer |year=2006 |isbn=978-3-540-25995-4}}</ref> |
||
====Category |
====Category tags==== |
||
Users can create new categories and add pages and files to those categories by appending one or more category tags to the content text. Adding these tags creates links at the bottom of the page that take the reader to the list of all pages in that category, making it easy to browse related articles.<ref>{{cite web|url= |
Users can create new categories and add pages and files to those categories by appending one or more category tags to the content text. Adding these tags creates links at the bottom of the page that take the reader to the list of all pages in that category, making it easy to browse related articles.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Help:Categories |title=Help:Categories |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625220958/https://www.mediawiki.org/wiki/Help:Categories |archive-date=June 25, 2010 |url-status=live }}</ref> The use of categorization to organize content has been described as a combination of: |
||
* [[Social bookmarking|Collaborative tagging systems]] like [[del.icio.us]] and |
* [[Social bookmarking|Collaborative tagging systems]] like [[del.icio.us]] and |
||
* [[Library classification|Hierarchical classifications]] like the [[Dewey Decimal Classification]].<ref>{{cite |
* [[Library classification|Hierarchical classifications]] like the [[Dewey Decimal Classification]].<ref>{{cite arXiv|title=Collaborative thesaurus tagging the Wikipedia way|eprint=cs.IR/0604036|date=April 27, 2006|author=Jakob Voss}}</ref> |
||
====Subpages==== |
====Subpages==== |
||
In addition to namespaces, content can be ordered using ''subpages''. This simple feature provides automatic [[breadcrumb (navigation)|breadcrumbs]] of the pattern <code> |
In addition to namespaces, content can be ordered using ''subpages''. This simple feature provides automatic [[breadcrumb (navigation)|breadcrumbs]] of the pattern <code>{{brackets|Page title/Subpage title}}</code> from the page after the slash (in this case, "Subpage title") to the page before the slash (in this case, "Page title"). |
||
===Customization=== |
===Customization=== |
||
[[File:Popup-preview.png|thumb |
[[File:Popup-preview.png|thumb|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 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, '' |
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, ''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.<ref>{{cite web| url = https://en.wikipedia.org/wiki/Wikipedia:Tools/Navigation_popups| title = Wikipedia:Tools/Navigation popups| author = Lupin| archive-url = https://web.archive.org/web/20060718164504/https://en.wikipedia.org/wiki/Wikipedia%3ATools/Navigation_popups| archive-date = July 18, 2006| url-status = live| df = mdy-all}}</ref> |
||
[[File:Wikitime preview.jpg|thumb|300px|A [[screenshot]] of a wiki using Mediawiki with a customized skin]] |
|||
[[File:Screenshot-skin-material.png|thumb|A [[screenshot]] of a wiki using MediaWiki with a customized skin]] |
|||
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. Using an extension,<ref>{{cite web|url=http://www.mediawiki.org/wiki/Extension:Gadgets |title=Extension:Gadgets |publisher=MediaWiki |date=2010-03-30 |accessdate=2010-05-30}}</ref> it is also possible for a user to create personal scripts, and to choose whether certain sitewide scripts should apply to him by toggling the appropriate options in the user preferences page. |
|||
The entire MediaWiki user interface can be edited through the wiki itself by users with the necessary permissions (typically called "administrators"). This is done through a special namespace with the prefix "MediaWiki:", where each page title identifies a particular user interface message. Using an extension,<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:Gadgets |title=Extension:Gadgets |publisher=MediaWiki |date=March 30, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625220327/https://www.mediawiki.org/wiki/Extension:Gadgets |archive-date=June 25, 2010 |url-status=live }}</ref> it is also possible for a user to create personal scripts, and to choose whether certain sitewide scripts should apply to them by toggling the appropriate options in the user preferences page. |
|||
===Templates=== |
===Templates=== |
||
The "MediaWiki:" namespace was |
The "MediaWiki:" namespace was originally also 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. |
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 bracket]]s (for example "<code><nowiki>{{Disputed|date=October 2018}}</nowiki></code>"), which calls the template (in this case located at {{self-reference link|Template:Disputed}}) to load in place of the template call. |
||
The template is a special link in double [[curly bracket]]s (for example "<code><nowiki>{{Disputed|date=October 2008}}</nowiki></code>"), which calls the template (in this case located at [[Template:Disputed]]) to load in place of the template. |
|||
Templates support [[parameter]]s, so that parts of the text can be substituted for each specific use case. |
|||
A related method, called template ''substitution'' (called by adding <code>subst:</code> 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 fewer [[server (computing)|server]] resources (the actual amount of savings can vary depending on wiki configuration and the complexity of the template). |
|||
Templates are [[structured document]]s containing [[attribute–value pair]]s. They are defined with [[parameter]]s, to which are assigned [[Value (computer science)|values]] when [[transclusion|transcluded]] on an article page. The name of the parameter is [[Delimiter|delimited]] from the value by an [[equals sign]]. A class of templates known as [[infobox]]es is used on Wikipedia to collect and present a subset of information about its subject, usually on the top (mobile view) or top right-hand corner (desktop view) of the document. |
|||
Templates have found many different uses. Templates enable users to create complex table layouts that are used consistently across multiple pages, and where only the content of the tables gets inserted using template parameters. Templates are often used to identify problems with a Wikipedia article by putting a template in the article. This template then outputs a graphical box stating that the article content is disputed or in need of some other attention, and also categorize it so that articles of this nature can be located. Templates are also used on user pages to send users standard messages welcoming them to the site,<ref>{{cite web|author=Česky |url=http://en.wikipedia.org/wiki/Template:Welcome |title=Template:Welcome – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |date=2010-05-16 |accessdate=2010-05-30}}</ref> giving them awards for outstanding contributions,<ref>{{citation|title=Articulations of wikiwork: uncovering valued work in wikipedia through barnstars|url=http://portal.acm.org/citation.cfm?id=1460563.1460573|publisher=Proceedings of the ACM|author=T Kriplean, I Beschastnikh, et al|year=2008}}</ref><ref>{{cite web|author=Česky |url=http://en.wikipedia.org/wiki/Wikipedia:Barnstars |title=Wikipedia:Barnstars – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |date= |accessdate=2010-05-30}}</ref> warning them when their behavior is considered inappropriate,<ref>{{cite web|author=Česky |url=http://en.wikipedia.org/wiki/Template:Test |title=Template:Test – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |date= |accessdate=2010-05-30}}</ref> notifying them when they are blocked from editing,<ref>{{cite web|url=http://en.wikipedia.org/wiki/Template:Test5 |title=Template:Test5 – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |date=2008-06-19 |accessdate=2010-05-30}}</ref> and so on. |
|||
A related method, called template ''substitution'' (called by adding <code>subst:</code> at the beginning of a template link) inserts the contents of the template into the target page (like a [[copy and paste]] operation), 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 fewer [[server (computing)|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. Templates enable users to create complex table layouts that are used consistently across multiple pages, and where only the content of the tables gets inserted using template parameters. Templates are frequently used to identify problems with a Wikipedia article by putting a template in the article. This template then outputs a graphical box stating that the article content is disputed or in need of some other attention, and also categorize it so that articles of this nature can be located. Templates are also used on user pages to send users standard messages welcoming them to the site,<ref>{{cite web |author=Česky |url=https://en.wikipedia.org/wiki/Template:Welcome |title=Template:Welcome – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |date=May 16, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20110506003930/https://en.wikipedia.org/wiki/Template:Welcome |archive-date=May 6, 2011 |url-status=live }}</ref> giving them awards for outstanding contributions,<ref>{{citation|url=https://portal.acm.org/citation.cfm?id=1460563.1460573|publisher=Proceedings of the ACM|author1=T Kriplean |author2=I Beschastnikh | title=Proceedings of the 2008 ACM conference on Computer supported cooperative work | chapter=Articulations of wikiwork: Uncovering valued work in wikipedia through barnstars |year=2008|pages = 47–56|doi = 10.1145/1460563.1460573|isbn = 9781605580074|s2cid = 7164949|display-authors=etal}}</ref><ref>{{cite web |author=Česky |url=https://en.wikipedia.org/wiki/Wikipedia:Barnstars |title=Wikipedia:Barnstars – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20090624134612/https://en.wikipedia.org/wiki/Wikipedia:Barnstars |archive-date=June 24, 2009 |url-status=live }}</ref> warning them when their behavior is considered inappropriate,<ref>{{cite web |author=Česky |url=https://en.wikipedia.org/wiki/Template:Test |title=Template:Test – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20091111014442/https://en.wikipedia.org/wiki/Template:Test |archive-date=November 11, 2009 |url-status=live }}</ref> notifying them when they are blocked from editing,<ref>{{cite web |url=https://en.wikipedia.org/wiki/Template:Test5 |title=Template:Test5 – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |date=June 19, 2008 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20090424005115/https://en.wikipedia.org/wiki/Template:Test5 |archive-date=April 24, 2009 |url-status=live }}</ref> and so on. |
|||
===Groups and restriction of access=== |
===Groups and restriction of access=== |
||
MediaWiki offers flexibility in creating and defining user groups. For instance, it would be possible to create an arbitrary "ninja" group that can block users and delete pages, and whose edits are hidden by default in the recent changes log. It is also possible to set up a group of "autoconfirmed" users that one becomes a member of after making a certain number of edits and waiting a certain number of days.<ref>{{cite web|url= |
MediaWiki offers flexibility in creating and defining user groups. For instance, it would be possible to create an arbitrary "ninja" group that can block users and delete pages, and whose edits are hidden by default in the recent changes log. It is also possible to set up a group of "autoconfirmed" users that one becomes a member of after making a certain number of edits and waiting a certain number of days.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:User_rights_management#Automatically_promote_users |title=Manual:User rights management |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625222112/https://www.mediawiki.org/wiki/Manual%3AUser_rights_management#Automatically_promote_users#Automatically_promote_users |archive-date=June 25, 2010 |url-status=live }}</ref> Some groups that are enabled by default are bureaucrats and sysops. Bureaucrats have the power to change other users' rights. Sysops have power over page protection and [[Deletion of articles on Wikipedia|deletion]] and the blocking of users from editing. MediaWiki's available controls on editing rights have been deemed sufficient for publishing and maintaining important documents such as a manual of [[standard operating procedures]] in a hospital.<ref>{{citation|title=Operating Procedures in Clinical Practice|author1=H Zielke|author2=W Boemke|author3=M Kastrup|author4=C Melzer|publisher=Royal College of Anaesthetists|url=https://www.scata.org.uk/abstracts/2007_london/DelegateBookletSCATALondon2007.pdf|date=November 21, 2007|access-date=April 25, 2010|archive-url=https://web.archive.org/web/20110515020030/https://www.scata.org.uk/abstracts/2007_london/DelegateBookletSCATALondon2007.pdf|archive-date=May 15, 2011|url-status=live}}</ref> |
||
When a page consists only of useless content, there are several ways to remove |
When a page consists only of useless content, there are several ways to remove that content. The simplest way, available to all users, is simply to blank the page. However, this interferes with page existence detection, unless an extension is installed to treat blanked pages as though they were nonexistent.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:PureWikiDeletion |title=Extension:PureWikiDeletion |publisher=MediaWiki |date=May 26, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20110501083608/https://www.mediawiki.org/wiki/Extension:PureWikiDeletion |archive-date=May 1, 2011 |url-status=live }}</ref> Blanking also leaves the content accessible through the history page, an outcome that, while potentially increasing [[transparency (behavior)|transparency]] by allowing non-sysops to easily review the content removal decision for appropriateness, might be unacceptable or even unlawful<ref>{{cite web |url=https://en.wikipedia.org/enwiki/w/index.php?title=Wikipedia%3AVillage_pump_%28proposals%29%2FPersistent_proposals%2FStraw_poll_for_view-deleted&diff=242245446&oldid=242205474 |title=Wikipedia:Village pump (proposals)/Persistent proposals/Straw poll for view-deleted – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |access-date=May 30, 2010 |archive-date=May 16, 2017 |archive-url=https://web.archive.org/web/20170516185032/https://en.wikipedia.org/enwiki/w/index.php?title=Wikipedia%3AVillage_pump_%28proposals%29%2FPersistent_proposals%2FStraw_poll_for_view-deleted&diff=242245446&oldid=242205474 |url-status=live }}</ref> in some cases. Another option is for a sysop to delete the page, and thereby prevent it from being viewed by non-sysops. Another level of deletion, called RevisionDelete, can be used by a group (e.g. "Oversighters") to prevent a page from being viewed by non-members of that group.<ref>{{cite web |url=https://www.mediawiki.org/wiki/RevisionDelete |title=RevisionDelete |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100626001201/https://www.mediawiki.org/wiki/RevisionDelete |archive-date=June 26, 2010 |url-status=live }}</ref> It is also possible, using certain extensions, to remove content from being viewed through any of the normal channels on the wiki,<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:Oversight |title=Extension:Oversight |publisher=MediaWiki |date=May 15, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625224255/https://www.mediawiki.org/wiki/Extension:Oversight |archive-date=June 25, 2010 |url-status=live }}</ref> or even to completely delete revisions from the database.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:DeletePagePermanently |title=Extension:DeletePagePermanently |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20110501083447/https://www.mediawiki.org/wiki/Extension:DeletePagePermanently |archive-date=May 1, 2011 |url-status=live }}</ref> |
||
MediaWiki comes with a basic set of features related to restricting access, but its original and ongoing design is driven by functions that largely relate to content, not content segregation. As a result with minimal exceptions (related to specific tools and their related "Special" pages), page access control has never been a high priority in core development and developers have stated that users requiring secure user access and |
MediaWiki comes with a basic set of features related to restricting access, but its original and ongoing design is driven by functions that largely relate to content, not content segregation. As a result, with minimal exceptions (related to specific tools and their related "Special" pages), page access control has never been a high priority in core development and developers have stated that users requiring secure user access and authorization controls should not rely on MediaWiki, since it was never designed for these kinds of situations. For instance, it is extremely difficult to create a wiki where only certain users can read and access some pages.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Security_issues_with_authorization_extensions |title=Security issues with authorization extensions |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100626074354/https://www.mediawiki.org/wiki/Security_issues_with_authorization_extensions |archive-date=June 26, 2010 |url-status=live }}</ref> Here, wiki engines like [[Foswiki]], [[MoinMoin]] and [[Confluence (software)|Confluence]] provide more flexibility by supporting advanced security mechanisms like [[access control list]]s. |
||
===Extensibility=== |
===Extensibility=== |
||
The MediaWiki codebase contains various |
The MediaWiki codebase contains various [[Hooking|hooks]] using [[callback (computer science)|callback]] [[Subroutine|functions]] to add additional PHP code in an [[Extensibility|extensible]] way. This allows developers to write extensions without necessarily needing to modify 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 or core patches are required. |
||
Five main extension points were created to allow developers to add features and functionalities to MediaWiki. Hooks are run every time a certain event happens; for instance, the <code>ArticleSaveComplete</code> hook occurs after a save article request has been processed.<ref>{{cite web|url= |
Five main extension points were created to allow developers to add features and functionalities to MediaWiki. Hooks are run every time a certain event happens; for instance, the <code>ArticleSaveComplete</code> hook occurs after a save article request has been processed.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Hooks/ArticleSaveComplete |title=Manual:Hooks/ArticleSaveComplete |publisher=MediaWiki |date=May 26, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141110145905/https://www.mediawiki.org/wiki/Manual:Hooks/ArticleSaveComplete |archive-date=November 10, 2014 |url-status=live }}</ref> This can be used, for example, by an extension that notifies selected users whenever a page edit occurs on the wiki from new or anonymous users.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:Recent_Activity_Notify |title=Extension:Recent Activity Notify |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20140927110023/https://www.mediawiki.org/wiki/Extension:Recent_Activity_Notify |archive-date=September 27, 2014 |url-status=live }}</ref> New tags can be created to process data with opening and closing tags (<code><newtag>...</newtag></code>).<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Tag_extensions |title=Manual:Tag extensions |publisher=MediaWiki |date=May 21, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141012211540/https://www.mediawiki.org/wiki/Manual:Tag_extensions |archive-date=October 12, 2014 |url-status=live }}</ref> Parser functions can be used to create a new command (<code><nowiki>{{#if:...|...|...}}</nowiki></code>).<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Parser_functions |title=Manual:Parser functions |publisher=MediaWiki |date=March 22, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141018103626/https://www.mediawiki.org/wiki/Manual:Parser_functions |archive-date=October 18, 2014 |url-status=live }}</ref> New special pages can be created to perform a specific function. These pages are dynamically generated. For example, a special page might show all pages that have one or more links to an external site or it might create a form providing user submitted feedback.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Special_pages |title=Manual:Special pages |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141110162401/https://www.mediawiki.org/wiki/Manual:Special_pages |archive-date=November 10, 2014 |url-status=live }}</ref> [[Skin (computing)|Skins]] allow users to customize the look and feel of MediaWiki.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Skin |title=Manual:Skins |publisher=MediaWiki |date=May 14, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141125085917/https://www.mediawiki.org/wiki/Skin |archive-date=November 25, 2014 |url-status=live }}</ref> A minor extension point allows the use of [[Amazon S3]] to host image files.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Integration_with_S3 |title=Manual:Integration with S3 |publisher=MediaWiki |date=March 22, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141127084520/https://www.mediawiki.org/wiki/Manual:Integration_with_S3 |archive-date=November 27, 2014 |url-status=live }}</ref> |
||
==Extensions== |
==Extensions== |
||
{{main|MediaWiki extension}} |
|||
[[File:AcaWiki Semantic Forms screenshot.png|thumb|A form to edit a page, using the [[Semantic MediaWiki|Semantic Forms]] extension]] |
|||
===Resources to developers=== |
===Resources to developers=== |
||
MediaWiki can be made more advanced and useful for various purposes through its extensions. These extensions vary greatly in complexity. |
MediaWiki can be made more advanced and useful for various purposes through its extensions. These extensions vary greatly in complexity. |
||
Line 207: | Line 241: | ||
The Wikimedia Foundation operates a [[Git (software)|Git]] server where many extensions host their repository. Most of them also have a documentation page on the MediaWiki website. |
The Wikimedia Foundation operates a [[Git (software)|Git]] server where many extensions host their repository. Most of them also have a documentation page on the MediaWiki website. |
||
MediaWiki [[code review]] was itself historically facilitated through a MediaWiki extension.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:CodeReview |title=Extension:CodeReview |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20140926003412/https://www.mediawiki.org/wiki/Extension:CodeReview |archive-date=September 26, 2014 |url-status=live }}</ref> As of March 2012, it has been done through [[Gerrit (software)|Gerrit]]. |
|||
Some other sites also known for development of — or support for — extensions are MediaWiki.org, which maintains an extension matrix;<ref name="mediawiki1"/> and [[Google Code]].<ref>[http://mediawiki.googlecode.com/ MediaWiki Extensions], Google Code</ref> |
|||
Since version 1.16, MediaWiki uses the [[jQuery]] library.<ref>[[:mw:jQuery|jQuery on MediaWiki]]</ref> |
|||
Some MediaWiki developers, especially new ones, are granted access to commit changes to extensions only, rather than the entire codebase. |
|||
===Text manipulation=== |
|||
MediaWiki [[code review]] is itself facilitated through a MediaWiki extension.<ref>{{cite web|url=http://www.mediawiki.org/wiki/Extension:CodeReview |title=Extension:CodeReview |publisher=MediaWiki |date= |accessdate=2010-05-30}}</ref> |
|||
[[File:Tim Starling June08.jpg|thumb|Tim Starling in 2008]] |
|||
Among the most popular extensions is a parser function extension, ParserFunctions, which allows different content to be rendered based on the result of [[Conditional (programming)|conditional statements]].<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:ParserFunctions |title=Extension:ParserFunctions |publisher=MediaWiki |date=December 25, 2009 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625222930/https://www.mediawiki.org/wiki/Extension%3AParserFunctions |archive-date=June 25, 2010 |url-status=live }}</ref> These conditional statements can perform functions such as evaluating whether a parameter is empty, comparing strings, evaluating mathematical expressions, and returning one of two values depending on whether a page exists. It was designed as a replacement for a notoriously inefficient template called <nowiki>{{Qif}}</nowiki>.<ref>{{cite web |url=https://en.wikipedia.org/wiki/Wikipedia:Miscellany_for_deletion/Template:Qif |title=Wikipedia:Miscellany for deletion/Template:Qif – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |access-date=May 30, 2010 |archive-date=February 25, 2015 |archive-url=https://web.archive.org/web/20150225125827/https://en.wikipedia.org/wiki/Wikipedia:Miscellany_for_deletion/Template:Qif |url-status=live }}</ref> Schindler recounts the history of the ParserFunctions extension as follows:<ref name=Introducing/> |
|||
{{cquote|In 2006 some Wikipedians discovered that through an intricate and complicated interplay of templating features and CSS they could create conditional wiki text, i.e. text that was displayed if a template parameter had a specific value. This included repeated calls of templates within templates, which bogged down the performance of the whole system. The developers faced the choice of either disallowing the spreading of an obviously desired feature by detecting such usage and explicitly disallowing it within the software or offering an efficient alternative. The latter was done by Tim Starling, who announced the introduction of parser functions, wiki text that calls functions implemented in the underlying software. |
|||
At first, only conditional text and the computation of simple mathematical expressions were implemented, but this already increased the possibilities for wiki editors enormously. With time further parser functions were introduced, finally leading to a framework that allowed the simple writing of extension functions to add arbitrary functionalities, like e.g. geo-coding services or widgets. This time the developers were clearly reacting to the demand of the community, being forced either to fight the solution of the issue that the community had (i.e. conditional text), or offer an improved technical implementation to replace the previous practice and achieve an overall better performance.}} |
|||
Since version 1.16, MediaWiki also used the [[jQuery]] library.<ref>[[:mw:jQuery|jQuery on MediaWiki]]</ref> |
|||
Another parser functions extension, StringFunctions, was developed to allow evaluation of string length, string position, and so on. Wikimedia communities, having created awkward workarounds to accomplish the same functionality,<ref>{{cite web |url=https://en.wikipedia.org/wiki/Category:String_manipulation_templates |title=Category:String manipulation templates – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |date=May 15, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20110506003940/https://en.wikipedia.org/wiki/Category:String_manipulation_templates |archive-date=May 6, 2011 |url-status=live }}</ref> clamored for it to be enabled on their projects.<ref>{{cite web |url=https://bugzilla.wikimedia.org/show_bug.cgi?id=6455 |title=Bug 6455 – Enable StringFunctions on WMF wikis |publisher=bugzilla.wikimedia.org |access-date=October 9, 2010 |archive-date=January 22, 2012 |archive-url=https://web.archive.org/web/20120122061250/https://bugzilla.wikimedia.org/show_bug.cgi?id=6455 |url-status=live }}</ref> Much of its functionality was eventually integrated into the ParserFunctions extension,<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:StringFunctions |title=Extension:StringFunctions |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20100625221030/https://www.mediawiki.org/wiki/Extension:StringFunctions |archive-date=June 25, 2010 |url-status=live }}</ref> albeit disabled by default and accompanied by a warning from Tim Starling that enabling string functions would allow users "to implement their own parsers in the ugliest, most inefficient programming language known to man: MediaWiki wikitext with ParserFunctions."<ref>{{cite web |url=https://www.mediawiki.org/wiki/Special:Code/MediaWiki/51497 |title=r51497 – Code Review |publisher=MediaWiki |access-date=May 30, 2010 |archive-date=November 27, 2014 |archive-url=https://web.archive.org/web/20141127205157/https://www.mediawiki.org/wiki/Special:Code/MediaWiki/51497 |url-status=live }}</ref> |
|||
===For parser functions=== |
|||
Among the most popular extensions is a parser function extension, ParserFunctions, that allows different content to be rendered based on the result of [[Conditional (programming)|conditional statements]].<ref>{{cite web|url=http://www.mediawiki.org/wiki/Extension:ParserFunctions |title=Extension:ParserFunctions |publisher=MediaWiki |date=2009-12-25 |accessdate=2010-05-30}}</ref> These conditional statements can perform functions such as evaluating whether a parameter is empty, comparing strings, evaluating mathematical expressions, and returning one of two values depending on whether a page exists. It was designed as a replacement for a notoriously inefficient template called <nowiki>{{Qif}}</nowiki>.<ref>{{cite web|url=http://en.wikipedia.org/wiki/Wikipedia:Miscellany_for_deletion/Template:Qif |title=Wikipedia:Miscellany for deletion/Template:Qif – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |date= |accessdate=2010-05-30}}</ref> Schindler recounts the history of the ParserFunctions extension as follows:<ref name=Introducing/> |
|||
{{cquote|In 2006 some Wikipedians discovered that through an intricate and complicated interplay of templating features and CSS they could create conditional wiki text, i.e. text that was displayed if a template parameter had a specific value. This included repeated calls of templates within templates, which bogged down the performance of the whole system. The developers faced the choice of either disallowing the spreading of an obviously desired feature by detecting such usage and explicitly disallowing it within the software, or offer an efficient alternative. The latter was done by Tim Starling, who announced the introduction of parser functions, wiki text that calls functions implemented in the underlying software. |
|||
Since 2012 an extension, Scribunto, has existed that allows for the creation of "modules"—wiki pages written in the scripting language [[Lua (programming language)|Lua]]—which can then be run within templates and standard wiki pages. Scribunto has been installed on Wikipedia and other Wikimedia sites since 2013 and is used heavily on those sites. Scribunto code runs significantly faster than corresponding wikitext code using ParserFunctions.<ref>{{Cite web |url=https://en.wikipedia.org/wiki/User:Dragons_flight/Lua_performance |title=Lua performance |access-date=December 27, 2018 |archive-date=August 24, 2018 |archive-url=https://web.archive.org/web/20180824045534/https://en.wikipedia.org/wiki/User:Dragons_flight/Lua_performance |url-status=live }}</ref> |
|||
At first, only conditional text and the computation of simple mathematical expressions was implemented, but this already increased the possibilities for wiki editors enormously. With time further parser functions were introduced, finally leading to a framework that allowed the simple writing of extension function to add arbitrary functionalities, like e.g. geo-coding services or widgets. This time the developers were clearly reacting to the demand of the community, being forced either to fight the solution of the issue that the community had (i.e. conditional text), or offer an improved technical implementation to replace the previous practice and achieve an overall better performance.}} |
|||
Another parser functions extension, StringFunctions, was developed to allow evaluation of string length, string position, and so on. Wikimedia communities, having created awkward workarounds to accomplish the same functionality,<ref>{{cite web|url=http://en.wikipedia.org/wiki/Category:String_manipulation_templates |title=Category:String manipulation templates – Wikipedia, the free encyclopedia |publisher=En.wikipedia.org |date=2010-05-15 |accessdate=2010-05-30}}</ref> clamored for it to be enabled on their projects.<ref>{{cite web |url=https://bugzilla.wikimedia.org/show_bug.cgi?id=6455 |title=Bug 6455 - Enable StringFunctions on WMF wikis |publisher=bugzilla.wikimedia.org |accessdate=9 October 2010 }}</ref> Much of its functionality was eventually integrated into the ParserFunctions extension,<ref>{{cite web|url=http://www.mediawiki.org/wiki/Extension:StringFunctions |title=Extension:StringFunctions |publisher=MediaWiki |date= |accessdate=2010-05-30}}</ref> albeit disabled by default and accompanied by a warning from Tim Starling that enabling string functions would allow users "to implement their own parsers in the ugliest, most inefficient programming language known to man: MediaWiki wikitext with ParserFunctions."<ref>{{cite web|url=http://www.mediawiki.org/wiki/Special:Code/MediaWiki/51497 |title=r51497 – Code Review |publisher=MediaWiki |date= |accessdate=2010-05-30}}</ref> |
|||
===For footnotes and academic-related display=== |
===For footnotes and academic-related display=== |
||
Another very popular extension is a citation extension that |
Another very popular extension is a citation extension that enables footnotes to be added to pages using inline references.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:Cite |title=Extension:Cite |publisher=MediaWiki |date=May 3, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141020220333/https://www.mediawiki.org/wiki/Extension:Cite |archive-date=October 20, 2014 |url-status=live }}</ref> This extension has, however, been criticized for being difficult to use and requiring the user to memorize complex syntax. A gadget called [[Wikipedia:RefToolbar|RefToolbar]] attempts to make it easier to create citations using common templates. MediaWiki has some extensions that are well-suited for academia, such as mathematics extensions<ref>{{cite web |url=https://www.mediawiki.org/wiki/Category:Math_extensions |title=Category:Math extensions |publisher=MediaWiki |date=December 26, 2009 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20110501083222/https://www.mediawiki.org/wiki/Category:Math_extensions |archive-date=May 1, 2011 |url-status=live }}</ref> and an extension that allows molecules to be rendered in [[Three-dimensional space|3D]].<ref name="Wikido">{{citation|title=Wikido: Exploiting the Potential of Wikis|issue=50|date=January 2007|author=Marieke Guy|publisher=Ariadne|url=https://www.ariadne.ac.uk/issue50/wikido-rpt/|access-date=April 23, 2010|archive-url=https://web.archive.org/web/20100407170018/https://www.ariadne.ac.uk/issue50/wikido-rpt/|archive-date=April 7, 2010|url-status=live}}</ref> |
||
===Integration=== |
===Integration=== |
||
A generic Widgets |
A generic Widgets extension exists that allows MediaWiki to integrate with virtually anything. Other examples of extensions that could improve a wiki are category suggestion extensions<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:CategorySuggest |title=Extension:CategorySuggest |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20140926005855/https://www.mediawiki.org/wiki/Extension:CategorySuggest |archive-date=September 26, 2014 |url-status=live }}</ref> and extensions for inclusion of [[Flash Video]]s,<ref>{{cite web |url=https://www.mediawiki.org/wiki/Category:Flash_Video_extensions |title=Category:Flash Video extensions |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20140915080226/https://www.mediawiki.org/wiki/Category:Flash_Video_extensions |archive-date=September 15, 2014 |url-status=live }}</ref> YouTube videos,<ref>{{cite web |url=https://www.mediawiki.org/wiki/Category:YouTube_extensions |title=Category:YouTube extensions |publisher=MediaWiki |date=September 16, 2008 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20110501083939/https://www.mediawiki.org/wiki/Category:YouTube_extensions |archive-date=May 1, 2011 |url-status=live }}</ref> and [[RSS feed]]s.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Category:RSS_extensions |title=Category:RSS extensions |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20101203095104/https://www.mediawiki.org/wiki/Category:RSS_extensions |archive-date=December 3, 2010 |url-status=live }}</ref> [[Metavid]], a site that archives video footage of the [[U.S. Senate]] and [[U.S. House|House]] floor proceedings, was created using code extending MediaWiki into the domain of collaborative video authoring.<ref>{{citation|title=System demonstration: Metavid.org: a social website and open archive of congressional video|url=https://portal.acm.org/citation.cfm?id=1556176.1556232|publisher=Proceedings of the 10th Annual International Conference on Digital Government Research: Social Networks: Making Connections between Citizens, Data and Government|pages=309–310|isbn=978-1-60558-535-2|author1=M Dale |author2=A Stern |author3=M Deckert |author4=W Sack |year = 2009}}</ref> |
||
===Combating linkspam=== |
===Combating linkspam=== |
||
There are many [[spambot]]s that search the |
There are many [[spambot]]s that search the web for MediaWiki installations and add [[spamdexing|linkspam]] to them, despite the fact that MediaWiki uses the [[nofollow]] attribute to discourage such attempts at [[search engine optimization]].<ref>{{cite web |url=https://meta.wikimedia.org/wiki/Wiki_Spam |title=Wiki spam |publisher=Meta-Wiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141107131454/https://meta.wikimedia.org/wiki/Wiki_Spam |archive-date=November 7, 2014 |url-status=live }}</ref> Part of the problem is that third party republishers, such as [[mirror website|mirrors]], may not independently implement the nofollow tag on their websites, so marketers can still get [[PageRank]] benefit by inserting links into pages when those entries appear on third party websites.<ref>{{citation|title=Wikipedia's Labor Squeeze and its Consequences|publisher=Journal on Telecommunications and High Technology Law|author=Goldman, Eric|volume=8}}</ref> [[Anti-spam]] extensions have been developed to combat the problem by introducing [[CAPTCHA]]s,<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:ConfirmEdit |title=Extension:ConfirmEdit |publisher=MediaWiki |date=May 5, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141020204041/https://www.mediawiki.org/wiki/Extension:ConfirmEdit |archive-date=October 20, 2014 |url-status=live }}</ref> [[blacklist]]ing certain URLs,<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:SpamBlacklist |title=Extension:SpamBlacklist |publisher=MediaWiki |date=March 24, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141020220337/https://www.mediawiki.org/wiki/Extension:SpamBlacklist |archive-date=October 20, 2014 |url-status=live }}</ref> and allowing bulk deletion of pages recently added by a particular user.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:Nuke |title=Extension:Nuke |publisher=MediaWiki |date=May 19, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141020204031/https://www.mediawiki.org/wiki/Extension:Nuke |archive-date=October 20, 2014 |url-status=live }}</ref> |
||
===Searches and queries=== |
===Searches and queries=== |
||
[[File:Autocompletion suggester after - airiana grande.gif|thumb|A search box showing a [[search suggest drop-down list|drop-down list]]]] |
|||
MediaWiki comes pre-installed with a standard text-based search. Extensions exist to let MediaWiki use third-party search tools like [[Lucene]] (used on Wikimedia sites)<ref>[http://www.mediawiki.org/wiki/Extension:Lucene-search Lucene-search MediaWiki extension], mediawiki.org</ref> and [[Sphinx (search engine)|Sphinx]].<ref>[http://www.mediawiki.org/wiki/Extension:SphinxSearch SphinxSearch MediaWiki extension], mediawiki.org</ref> |
|||
MediaWiki comes pre-installed with a standard text-based search. Extensions exist to let MediaWiki use more sophisticated third-party search engines, including [[Elasticsearch]] (which since 2014 has been in use on Wikipedia), [[Lucene]]<ref>[https://www.mediawiki.org/wiki/Extension:Lucene-search Lucene-search MediaWiki extension] {{Webarchive|url=https://web.archive.org/web/20120602042925/https://www.mediawiki.org/wiki/Extension:Lucene-search |date=June 2, 2012 }}, mediawiki.org</ref> and [[Sphinx (search engine)|Sphinx]].<ref>[https://www.mediawiki.org/wiki/Extension:SphinxSearch SphinxSearch MediaWiki extension] {{Webarchive|url=https://web.archive.org/web/20141022092204/https://www.mediawiki.org/wiki/Extension:SphinxSearch |date=October 22, 2014 }}, mediawiki.org</ref> |
|||
Various MediaWiki extensions have also been created to allow for more complex, [[faceted search]], on both data entered within the wiki and on [[metadata]] such as pages' revision history.<ref>{{citation|title=Search extension transforms Wiki into a relational system: A case for flavonoid metabolite database| |
Various MediaWiki extensions have also been created to allow for more complex, [[faceted search]], on both data entered within the wiki and on [[metadata]] such as pages' revision history.<ref>{{citation|title=Search extension transforms Wiki into a relational system: A case for flavonoid metabolite database|pmc=2556319|author1=Masanori Arita |author2=Kazuhiro Suwa |name-list-style=amp |date=September 17, 2008|publisher=BioData Mining |pmid=18822113 |doi=10.1186/1756-0381-1-7 |volume=1 |issue=1|journal=BioData Min |pages=7 |doi-access=free }}</ref><ref name="Lost in localization">{{Cite Q | Q21011200 }}</ref> [[Semantic MediaWiki]] is one such extension.<ref>{{citation|title=Collaborative Authoring of Learning Elements for Adaptive Learning Spaces|author1=Eric Ras|author2=Jörg Rech|author3=Sebastian Weber|publisher=Fifth International Conference on Adaptive Hypermedia and Adaptive Web-Based Systems|date=August 1, 2008|url=https://ah2008.l3s.uni-hannover.de/files/resourcesmodule/@random4875cb58f07c9/1215679368__Proc_AH2008_WS3_Authoring_of_Adaptive_and_Adaptable_Hypermedia.pdf#page=67|access-date=April 23, 2010|archive-url=https://web.archive.org/web/20110503215922/https://ah2008.l3s.uni-hannover.de/files/resourcesmodule/@random4875cb58f07c9/1215679368__Proc_AH2008_WS3_Authoring_of_Adaptive_and_Adaptable_Hypermedia.pdf#page=67#page=67|archive-date=May 3, 2011|url-status=live}}</ref><ref>{{cite book|page=123|chapter=A Platform for Collaborative Management of Semantic Grid Metadata|last=Hartung|first=Michael|title=Intelligent distributed computing, systems and applications|display-authors=etal}}</ref> |
||
==Database== |
|||
An extension called Woogle<ref>{{cite web|url=http://www.mediawiki.org/wiki/Extension:Woogle4MediaWiki |title=Extension:Woogle4MediaWiki |publisher=MediaWiki |date= |accessdate=2010-05-30}}</ref> attempts to add [[enterprise search engine]] functionality to MediaWiki.<ref>{{citation|title=Woogle – On Why and How to Marry Wikis with Enterprise Search|author=Hans-Jörg Happel|year=2009|url=http://subs.emis.de/LNI/Proceedings/Proceedings145/gi-proc-145-015.pdf}}</ref> |
|||
[[File:MediaWiki database schema latest.svg|thumb|A schematic of the MediaWiki database structure]] |
|||
MediaWiki can use either the [[MySQL]]/[[MariaDB]], [[PostgreSQL]] or [[SQLite]] [[relational database management system]]. Support for [[Oracle Database]] and [[Microsoft SQL Server]] has been dropped since MediaWiki 1.34.<ref>{{Cite web|title=Manual:Installation requirements|url=https://www.mediawiki.org/wiki/Manual:Installation_requirements|url-status=live|access-date=March 14, 2021|website=MediaWiki|language=en|archive-date=March 8, 2021|archive-url=https://web.archive.org/web/20210308104956/https://www.mediawiki.org/wiki/Manual:Installation_requirements}}</ref> A MediaWiki database contains several dozen [[table (database)|tables]], including a <code>page</code> table that contains page titles, page ids, and other metadata;<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Page_table |title=Manual:Page table |publisher=MediaWiki |date=May 15, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141125051102/https://www.mediawiki.org/wiki/Manual:Page_table |archive-date=November 25, 2014 |url-status=live }}</ref> and a <code>revision</code> table to which is added a new row every time an edit is made, containing the page id, a brief textual summary of the change performed, the user name of the article editor (or its IP address the case of an unregistered user) and a timestamp.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Revision_table |title=Manual:Revision table |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141124224756/https://www.mediawiki.org/wiki/Manual:Revision_table |archive-date=November 24, 2014 |url-status=live }}</ref><ref>{{citation|title=The Top-Ten Wikipedias: A Quantitative Analysis Using WikiXRay|author1=Ortega, Felipe |author2=González-Barahona, Jesus M. |author3=Robles, Gregorio |year=2007|citeseerx=10.1.1.107.1424 }}</ref> |
|||
==Database== |
|||
[[File:MediaWiki database schema latest.png|thumb|300px|A schematic of the MediaWiki database structure.]] |
|||
MediaWiki can use either the [[MySQL]], [[PostgreSQL]] or [[SQLite]] [[relational database management system]]. There is limited support for [[Oracle Database]].<ref>{{cite web|url=http://www.mediawiki.org/wiki/Manual:Database_access |title=Manual:Database access |publisher=MediaWiki |date= |accessdate=2010-05-30}}</ref> A MediaWiki database contains several dozen [[table (database)|tables]], including a <code>page</code> table that contains page titles, page ids, and other metadata;<ref>{{cite web|url=http://www.mediawiki.org/wiki/Manual:Page_table |title=Manual:Page table |publisher=MediaWiki |date=2010-05-15 |accessdate=2010-05-30}}</ref> and a <code>revision</code> table to which is added a new row every time an edit is made, containing the page id, a brief textual summary of the change performed, the user name of the article editor (or its IP address the case of an unregistered user) and a timestamp.<ref>{{cite web|url=http://www.mediawiki.org/wiki/Manual:Revision_table |title=Manual:Revision table |publisher=MediaWiki |date= |accessdate=2010-05-30}}</ref><ref>{{citation|title=The Top-Ten Wikipedias: A Quantitative Analysis Using WikiXRay|author=Ortega, Felipe; González-Barahona, Jesus M.; Robles, Gregorio|year=2007|url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.1424&rep=rep1&type=pdf}}</ref> |
|||
In a 4 |
In a 4½ year period prior to 2008, the MediaWiki database had 170 [[database schema|schema]] versions.<ref>{{citation|title=Information Systems Integration and Evolution: Ontologies at Rescue|url=https://yellowstone.cs.ucla.edu/schema-evolution/documents/curino-STSM08-CR.pdf|author1=Curino, Carlo A.|author2=Tanca, Letizia|author3=Zaniolo, Carlo|year=2008|publisher=Workshop on Semantic|access-date=April 23, 2010|archive-url=https://web.archive.org/web/20091222052156/https://yellowstone.cs.ucla.edu/schema-evolution/documents/curino-STSM08-CR.pdf|archive-date=December 22, 2009|url-status=live}}</ref> Possibly the largest schema change was done in 2005 with MediaWiki 1.5, when the storage of metadata was separated from that of content, to improve performance flexibility. When this upgrade was applied to Wikipedia, the site was locked for editing, and the schema was converted to the new version in about 22 hours. Some software enhancement proposals, such as a proposal to allow sections of articles to be watched via watchlist, have been rejected because the necessary schema changes would have required excessive Wikipedia downtime.<ref>{{citation|title=No downtime for data conversions: Rethinking hot upgrades|url=https://www.pdl.cmu.edu/PDL-FTP/stray/CMU-PDL-09-106.pdf|author1=T Dumitras|author2=P Narasimhan|year=2009|access-date=April 29, 2010|archive-url=https://web.archive.org/web/20100616022532/https://www.pdl.cmu.edu/PDL-FTP/stray/CMU-PDL-09-106.pdf|archive-date=June 16, 2010|url-status=dead}}</ref> |
||
==Performance and storage== |
==Performance and storage== |
||
Because it is used to run one of the highest-traffic sites on the Web, |
Because it is used to run one of the highest-traffic sites on the Web, Wikipedia, MediaWiki's performance and [[scalability]] have been highly optimized.<ref name="WikipediaandMediaWikiTalk"/> MediaWiki supports [[Squid (software)|Squid]], [[load balancing (computing)|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. MediaWiki developers have attempted to optimize the software by avoiding expensive algorithms, database queries, etc., caching every result that is expensive and has temporal locality of reference, and focusing on the hot spots in the code through [[Profiling (computer programming)|profiling]].<ref name="Bergsma">{{citation|author=Bergsma, Mark|url=https://www.haute-disponibilite.net/wp-content/uploads/2008/06/wikimedia-architecture.pdf|title=Wikimedia Architecture|access-date=October 21, 2015|archive-url=https://web.archive.org/web/20160305000935/https://www.haute-disponibilite.net/wp-content/uploads/2008/06/wikimedia-architecture.pdf|archive-date=March 5, 2016|url-status=live}}</ref> |
||
MediaWiki code is designed to allow for data to be written to a |
MediaWiki code is designed to allow for data to be written to a read-write database and read from read-only databases, although the read-write database can be used for some read operations if the read-only databases are not yet up to date. [[Metadata]], such as article revision history, article relations (links, categories etc.), user accounts and settings can be stored in core databases and cached; the actual revision text, being more rarely used, can be stored as append-only [[Blob storage|blobs]] in external storage. The software is suitable for the operation of large-scale [[wiki farm]]s such as [[Wikimedia]], which had about 800 wikis as of August 2011. However, MediaWiki comes with no built-in GUI to manage such installations. |
||
Empirical evidence shows most revisions in MediaWiki databases tend to differ only slightly from previous revisions Therefore, subsequent revisions of an article can be concatenated and then compressed, achieving very high [[data compression ratio]]s of up to 100x.<ref name=Bergsma/> |
Empirical evidence shows most revisions in MediaWiki databases tend to differ only slightly from previous revisions. Therefore, subsequent revisions of an article can be concatenated and then compressed, achieving very high [[data compression ratio]]s of up to 100x.<ref name=Bergsma /> |
||
For more information on the architecture, such as how it stores wikitext and assembles a page, see [[#External links|''External links'']]. |
|||
==Limitations== |
==Limitations== |
||
The parser serves as the '' |
The parser serves as the ''de facto'' standard for the MediaWiki syntax, as no formal syntax has been defined. Due to this lack of a formal definition, it has been difficult to create [[WYSIWYG]] editors for MediaWiki, although several WYSIWYG extensions do exist, including the popular [[VisualEditor]]. |
||
MediaWiki is not designed to be a suitable replacement for dedicated [[online forum]] or |
MediaWiki is not designed to be a suitable replacement for dedicated [[online forum]] or blogging software,<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:What_is_MediaWiki%3F |title=Manual:What is |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20180722205421/https://www.mediawiki.org/wiki/Manual:What_is_MediaWiki%3F |archive-date=July 22, 2018 |url-status=live }}</ref> although extensions do exist to allow for both of these.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:StructuredDiscussions |title=Extension:StructuredDiscussions |publisher=MediaWiki |access-date=December 27, 2018 |archive-date=December 27, 2018 |archive-url=https://web.archive.org/web/20181227181448/https://www.mediawiki.org/wiki/Extension:StructuredDiscussions |url-status=live }}</ref><ref>{{cite web |url=https://www.mediawiki.org/wiki/Extension:Wikilog |title=Extension:Wikilog |publisher=MediaWiki |date=November 27, 2009 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20140922080626/https://www.mediawiki.org/wiki/Extension:Wikilog |archive-date=September 22, 2014 |url-status=live }}</ref> |
||
It is |
It is common for new MediaWiki users to make certain mistakes, such as forgetting to sign posts with four tildes (<nowiki>~~~~</nowiki>),<ref>{{cite web |url=https://www.mediawiki.org/wiki/Help:Signatures |title=Help:Signatures |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20081115143342/https://www.mediawiki.org/wiki/Help:Signatures |archive-date=November 15, 2008 |url-status=live }}</ref> or manually entering a plaintext signature,<ref>{{citation|citeseerx = 10.1.1.133.1456|author1=N Augar |author2=R Raitman |author3=W Zhou |title=Teaching and learning online with wikis|publisher=Beyond the comfort zone|year=2004|pages=95–104 }}</ref> due to unfamiliarity with the idiosyncratic particulars involved in communication on MediaWiki discussion pages. On the other hand, the format of these discussion pages has been cited as a strength by one educator, who stated that it provides more fine-grain capabilities for discussion than traditional threaded discussion forums. For example, instead of 'replying' to an entire message, the participant in a discussion can create a hyperlink to a new wiki page on any word from the original page. Discussions are easier to follow since the content is available via hyperlinked wiki page, rather than a series of reply messages on a traditional threaded discussion forum. However, except in few cases, students were not using this capability, possibly because of their familiarity with the traditional linear discussion style and a lack of guidance on how to make the content more '[[link-rich]]'.<ref>{{citation|title=Analysis of the use of Wiki-based collaborations in enhancing student learning|author=Cubric, Marija|publisher=University of Hertfordshire|year=2007|page=11|url=https://uhra.herts.ac.uk/dspace/handle/2299/3672|access-date=April 24, 2010|archive-url=https://web.archive.org/web/20110515005430/https://uhra.herts.ac.uk/dspace/handle/2299/3672|archive-date=May 15, 2011|url-status=dead}}</ref> |
||
MediaWiki has little support for the creation of dynamically |
MediaWiki by default has little support for the creation of dynamically assembled documents, or pages that aggregate data from other pages. Some research has been done on enabling such features directly within MediaWiki.<ref>{{citation|title=User defined structural searches in mediawiki|url=https://portal.acm.org/citation.cfm?id=1379099|publisher=Proceedings of the nineteenth ACM conference on Hypertext and hypermedia|isbn=978-1-59593-985-2|year=2008|author1=Albertsen, Johannes |author2=Bouvin, Niels Olof |name-list-style=amp }}</ref> The [[Semantic MediaWiki]] extension provides these features. It is not in use on Wikipedia, but in more than 1,600 other MediaWiki installations.<ref>{{Cite web |url=https://wikiapiary.com/wiki/Extension:Semantic_MediaWiki |title=Extension:Semantic MediaWiki – WikiApiary |access-date=October 12, 2019 |archive-date=October 26, 2018 |archive-url=https://web.archive.org/web/20181026002750/https://wikiapiary.com/wiki/Extension:Semantic_Mediawiki |url-status=live }}</ref> The Wikibase Repository and Wikibase Repository client are however implemented in [[Wikidata]] and [[Wikipedia]] respectively, and to some extent provides [[semantic web]] features, and linking of centrally stored data to infoboxes in various Wikipedia articles. |
||
Upgrading MediaWiki |
Upgrading MediaWiki is usually fully automated, requiring no changes to the site content or template programming. Historically troubles have been encountered when upgrading from significantly older versions.<ref>{{citation|title=Toward upgrades-as-a-service in distributed systems|author1=T Dumitraş |author2=P Narasimhan |publisher=Proceedings of the 10th ACM/IFIP/USENIX International Conference on Middleware|year=2009|pages=1–2 |url=https://portal.acm.org/citation.cfm?id=1657019}}</ref> |
||
==Security== |
==Security== |
||
MediaWiki developers have enacted security standards, both for core code and extensions.<ref>{{cite web|url= |
MediaWiki developers have enacted security standards, both for core code and extensions.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Security_for_developers |title=Security for developers |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141125053458/https://www.mediawiki.org/wiki/Security_for_developers |archive-date=November 25, 2014 |url-status=live }}</ref> [[SQL queries]] and HTML output are usually done through wrapper functions that handle validation, escaping, filtering for prevention of [[cross-site scripting]] and [[SQL injection]].<ref>{{citation|url=https://blogs.techrepublic.com/security/?p=451|title=Five security tips from MediaWiki's lead developer|author=Perrin, Chad|date=April 30, 2008|publisher=Tech Republic}}{{Dead link|date=August 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> Many security issues have had to be patched after a MediaWiki version release,<ref>{{cite web |url=https://www.mediawiki.org/wiki/News |title=News |publisher=MediaWiki |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141006102554/https://www.mediawiki.org/wiki/News |archive-date=October 6, 2014 |url-status=live }}</ref> and accordingly MediaWiki.org states, "The most important security step you can take is to keep your software up to date" by subscribing to the announcement [[mailing list]] and installing security updates that are announced.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Manual:Security |title=Manual:Security |publisher=MediaWiki |date=March 22, 2010 |access-date=May 30, 2010 |archive-url=https://web.archive.org/web/20141110162807/https://www.mediawiki.org/wiki/Manual:Security |archive-date=November 10, 2014 |url-status=live }}</ref> |
||
==Developer community== |
==Developer community== |
||
MediaWiki developers are spread around the world, though with a majority in the United States and Europe. Face-to-face meetings and programming sessions for MediaWiki developers have been held once or several times a year since 2004.<ref> |
MediaWiki developers are spread around the world, though with a majority in the United States and Europe. Face-to-face meetings and programming sessions for MediaWiki developers have been held once or several times a year since 2004.<ref>{{cite web |url=https://www.mediawiki.org/wiki/Events |title=Events |publisher=Mediawiki.org |access-date=December 27, 2018 |archive-date=December 27, 2018 |archive-url=https://web.archive.org/web/20181227181546/https://www.mediawiki.org/wiki/Events |url-status=live }}</ref> |
||
==Support== |
==Support== |
||
Support for MediaWiki users consists of: |
Support for MediaWiki users consists of: |
||
* |
* MediaWiki.org, including the Support Desk. |
||
* An official mailing list, |
* An official mailing list, Mediawiki-l. |
||
* Several books have been written about MediaWiki administration,<ref |
* Several books have been written about MediaWiki administration,<ref>[https://www.mediawiki.org/wiki/Books_about_MediaWiki Books about MediaWiki] {{Webarchive|url=https://web.archive.org/web/20181227181503/https://www.mediawiki.org/wiki/Books_about_MediaWiki |date=December 27, 2018 }}, mediawiki.org</ref> including some free online books.<ref>{{cite book|url=https://en.wikibooks.org/wiki/MediaWiki_Administrator%27s_Handbook|title=MediaWiki Administrator's Handbook|publisher=[[Wikibooks]]|access-date=October 20, 2014|archive-url=https://web.archive.org/web/20141020055454/https://en.wikibooks.org/wiki/MediaWiki_Administrator%27s_Handbook|archive-date=October 20, 2014|url-status=live}}</ref><ref>{{citation|url=https://en.wikibooks.org/wiki/MediaWiki_User_Guide|publisher=Wikibooks|title=MediaWiki User Guide|access-date=October 20, 2014|archive-url=https://web.archive.org/web/20141020060147/https://en.wikibooks.org/wiki/MediaWiki_User_Guide|archive-date=October 20, 2014|url-status=live}}</ref> |
||
==Comparison to other online collaboration software== |
==Comparison to other online collaboration software== |
||
{{Main|Comparison of wiki software}} |
|||
Due to MediaWiki's use on Wikipedia, most{{Weasel-inline|date=May 2012}} users are familiar with MediaWiki's functions and layout. Compared to other wikis, MediaWiki is also fairly aesthetically pleasing, though simple, and has an easily customized side menu and [[stylesheet]].<ref>{{citation|title=Social Software in Academia|author=Bryant, Todd|publisher=Educause Quarterly|year=2006|url=http://net.educause.edu/ir/library/pdf/EQM0627.pdf}}</ref> However, in one assessment, [[Confluence (software)|Confluence]] was deemed to be a superior product due to its very usable API and ability to better support multiple wikis.<ref name=Wikido/> Wiki providers [[Socialtext]] and [[JotSpot]] have/had [[project management]] features that MediaWiki lacks.<ref>{{citation|author=Bean, L., & Hott, D. D.|date=2005, July/August|title=Wiki: A speedy new tool to manage projects|publisher=Journal of Corporate Accounting & Finance|pages=3–8}}</ref> |
|||
Users of online [[collaboration software]] are familiar with MediaWiki's functions and layout due to its noted use on Wikipedia. A 2006 overview of social software in academia observed that "Compared to other wikis, MediaWiki is also fairly aesthetically pleasing, though simple, and has an easily customized side menu and [[style sheet (web development)|stylesheet]]."<ref>{{citation|title=Social Software in Academia|author=Bryant, Todd|publisher=Educause Quarterly|year=2006|url=https://net.educause.edu/ir/library/pdf/EQM0627.pdf|access-date=April 23, 2010|archive-url=https://web.archive.org/web/20091222054230/https://net.educause.edu/ir/library/pdf/eqm0627.pdf|archive-date=December 22, 2009|url-status=dead}}</ref> However, in one assessment in 2006, [[Confluence (software)|Confluence]] was deemed to be a superior product due to its very usable API and ability to better support multiple wikis.<ref name=Wikido/> |
|||
A study was done at the [[University of Hong Kong]] comparing [[TWiki]] to MediaWiki. The authors noted that TWiki has been considered as a collaborative tool for development of educational papers and technical projects, whereas MediaWiki's fame is mostly due to Wikipedia. Although both platforms allow discussion and tracking of progress, TWiki has a "Report" part that MediaWiki lacks. Students perceived MediaWiki as being easier to use and more enjoyable than TWiki. When asked whether they recommended using MediaWiki for [[knowledge management]] course group project, 15 out of 16 respondents expressed their preference for MediaWiki giving answers of great certainty, such as “of course”, “for sure”.<ref>{{citation|url=http://www.edu.hku.hk/samchu/docs/2009_user_experiences.pdf|author=Liang, M., Chu, S., Siu, F., & Zhou, A.|date=Dec. 3–4, 2009|title=Comparing User Experiences in Using Twiki & Mediawiki to Facilitate Collaborative Learning|publisher=Proceedings of the 2009 International Conference on Knowledge Management}}</ref> TWiki and MediaWiki both have flexible plug-in architecture.<ref>{{citation|title=Company-Wiki as a knowledge transfer instrument for reducing the shortage of skilled workers|publisher=Institute of Technology and Education|author=Schulz, Judith|year=2009|url=http://elib.suub.uni-bremen.de/ip/docs/00010611.pdf}}</ref> A study that compared students' experience with MediaWiki to that with [[Google Documents]] found that students gave the latter a much higher rating on user-friendly layout.<ref>{{citation|author=Chu, S., Kennedy, D., & Mak, M.|title=MediaWiki and Google Docs as online collaboration tools for group project co-construction|publisher=Proceedings of the 2009 International Conference on Knowledge Management|date=December 3–4, 2009|url=http://www.edu.hku.hk/samchu/docs/2009_mediawiki.pdf}}</ref> |
|||
A 2009 study at the [[University of Hong Kong]] compared [[TWiki]] to MediaWiki. The authors noted that TWiki has been considered as a collaborative tool for the development of educational papers and technical projects, whereas MediaWiki's most noted use is on Wikipedia. Although both platforms allow discussion and tracking of progress, TWiki has a "Report" part that MediaWiki lacks. Students perceived MediaWiki as being easier to use and more enjoyable than TWiki. When asked whether they recommended using MediaWiki for [[knowledge management]] course group project, 15 out of 16 respondents expressed their preference for MediaWiki giving answers of great certainty, such as "of course", "for sure".<ref>{{citation|url=https://www.edu.hku.hk/samchu/docs/2009_user_experiences.pdf |author1=Liang, M. |author2=Chu, S. |author3=Siu, F. |author4=Zhou, A. |date=Dec 3–4, 2009 |title=Comparing User Experiences in Using Twiki & Mediawiki to Facilitate Collaborative Learning |publisher=Proceedings of the 2009 International Conference on Knowledge Management |url-status=dead |archive-url=https://web.archive.org/web/20110514030607/https://www.edu.hku.hk/samchu/docs/2009_user_experiences.pdf |archive-date=May 14, 2011 }}</ref> TWiki and MediaWiki both have flexible plug-in architecture.<ref>{{citation|title=Company-Wiki as a knowledge transfer instrument for reducing the shortage of skilled workers|publisher=Institute of Technology and Education|author=Schulz, Judith|year=2009|url=https://elib.suub.uni-bremen.de/ip/docs/00010611.pdf|access-date=April 25, 2010|archive-url=https://web.archive.org/web/20160304092952/https://elib.suub.uni-bremen.de/ip/docs/00010611.pdf|archive-date=March 4, 2016|url-status=live}}</ref> |
|||
==Version history== |
|||
{{main|MediaWiki version history}} |
|||
A 2009 study that compared students' experience with MediaWiki to that with [[Google Documents|Google Docs]] found that students gave the latter a much higher rating on user-friendly layout.<ref>{{citation|author1=Chu, S. |author2=Kennedy, D. |author3=Mak, M.|title=MediaWiki and Google Docs as online collaboration tools for group project co-construction|publisher=Proceedings of the 2009 International Conference on Knowledge Management|date=December 3–4, 2009|url=https://www.edu.hku.hk/samchu/docs/2009_mediawiki.pdf|access-date=April 23, 2010|archive-url=https://web.archive.org/web/20110514030658/https://www.edu.hku.hk/samchu/docs/2009_mediawiki.pdf|archive-date=May 14, 2011|url-status=dead}}</ref> |
|||
The first version of MediaWiki, 1.1, was released in December 2003. The current stable version of MediaWiki is 1.18, while the most recent version is 1.19. |
|||
A 2021 study conducted by the [[National Nuclear Energy Commission|Brazilian Nuclear Engineering Institute]] compared a MediaWiki-based [[Knowledge management|knowledge management system]] against two others that were based on [[DSpace]] and [[Open Journal Systems]], respectively.<ref name=":1">{{Cite journal|last1=Grecco|first1=Claudio Henrique dos Santos|last2=Augusto|first2=Silas Cordeiro|last3=Souza|first3=Jaqueline Tavares Viana de|last4=Carvalho|first4=Paulo Victor Rodrigues|last5=Davila|first5=Adriana Loureiro|date=July 25, 2021|title=A Method for the evaluation of knowledge management systems|url=https://www.bjrs.org.br/revista/index.php/REVISTA/article/view/1250|journal=Brazilian Journal of Radiation Sciences|language=en|volume=9|issue=2B|doi=10.15392/bjrs.v9i2B.1250|s2cid=237733021|issn=2319-0612|access-date=November 12, 2021|archive-date=November 12, 2021|archive-url=https://web.archive.org/web/20211112114628/https://www.bjrs.org.br/revista/index.php/REVISTA/article/view/1250|url-status=live|doi-access=free}}</ref> It highlighted ease of use as an advantage of the MediaWiki-based system, noting that because the Wikimedia Foundation had been developing MediaWiki for a site aimed at the general public (Wikipedia), "its user interface was designed to be more user-friendly from start, and has received large user feedback over a long time", in contrast to DSpace's and OJS's focus on niche audiences.<ref name=":1" /> |
|||
==See also== |
==See also== |
||
{{Portal|Free software}} |
{{Portal|Free and open-source software}} |
||
* [[List of content management systems]] |
* [[List of content management systems]] |
||
* [[List of wiki software]] |
* [[List of wiki software]] |
||
* [[BlueSpice]] |
|||
* [[Semantic MediaWiki]] |
|||
* [[XOWA]] – for viewing Wikipedia and other wikis offline |
|||
* [[PHP]] – a programming language that powers MediaWiki |
|||
==References== |
==References== |
||
{{Reflist |
{{Reflist}} |
||
==External links== |
==External links== |
||
{{Sister project links|d=Q83|c=Category:MediaWiki|mw=Manual:What is MediaWiki?|m=MediaWiki|voy=no|species=no|s=no|n=no}} |
|||
{{Commons category}} |
|||
{{ |
* {{Official website|2=MediaWiki homepage}} |
||
{{Wikipedia}} |
|||
* [[mw:Main Page|MediaWiki homepage]], with [[mw:User hub|Hubs for users]], [[mw:Sysadmin hub|system administrators]] and [[mw:Developer hub|developers]]. |
|||
* [[meta:MediaWiki|MediaWiki on the Meta-Wiki]], [[Wikimedia]]'s [[meta]] website. |
|||
* [[mw:MediaWiki history|MediaWiki history at MediaWiki]] |
|||
* [irc://irc.freenode.net/mediawiki #mediawiki] on freenode |
|||
* [[mw:Version lifecycle|MediaWiki version lifecycle]] |
|||
* [[mw:News|MediaWiki news]] |
|||
* [[mw:Download|MediaWiki download page]] |
|||
{{Wikipediahistory}} |
|||
{{Wiki software}} |
{{Wiki software}} |
||
{{Wikimedia Foundation}} |
|||
{{Authority control}} |
|||
{{DEFAULTSORT:Mediawiki}} |
|||
[[Category:MediaWiki| ]] |
[[Category:MediaWiki| ]] |
||
[[Category:2002 software]] |
|||
[[Category:Articles containing video clips]] |
|||
[[Category:Articles with example code]] |
|||
[[Category:Collaborative software]] |
|||
[[Category:Cross-platform free software]] |
|||
[[Category:Free content management systems]] |
[[Category:Free content management systems]] |
||
[[Category:Free software programmed in PHP]] |
[[Category:Free software programmed in PHP]] |
||
[[Category:Free wiki software]] |
[[Category:Free wiki software]] |
||
[[Category: |
[[Category:Multilingual websites]] |
||
[[Category: |
[[Category:Version control systems]] |
||
[[Category:History of Wikipedia]] |
|||
[[Category:Software using the GPL license]] |
|||
[[af:MediaWiki]] |
|||
[[als:MediaWiki]] |
|||
[[ar:ميدياويكي]] |
|||
[[ast:MediaWiki]] |
|||
[[az:MediaViki]] |
|||
[[bn:মিডিয়াউইকি]] |
|||
[[zh-min-nan:MediaWiki]] |
|||
[[be:MediaWiki]] |
|||
[[be-x-old:MediaWiki]] |
|||
[[bg:МедияУики]] |
|||
[[bar:MediaWiki]] |
|||
[[bs:MediaWiki]] |
|||
[[ca:MediaWiki]] |
|||
[[cv:MediaWiki]] |
|||
[[cs:MediaWiki]] |
|||
[[da:MediaWiki]] |
|||
[[de:MediaWiki]] |
|||
[[et:MediaWiki]] |
|||
[[el:Mediawiki]] |
|||
[[es:MediaWiki]] |
|||
[[eo:MediaVikio]] |
|||
[[eu:MediaWiki]] |
|||
[[fa:مدیاویکی]] |
|||
[[fr:MediaWiki]] |
|||
[[ga:MediaWiki]] |
|||
[[gl:MediaWiki]] |
|||
[[ko:미디어위키]] |
|||
[[hy:ՄեդիաՎիքի]] |
|||
[[hr:MediaWiki]] |
|||
[[ig:MediaWiki]] |
|||
[[id:MediaWiki]] |
|||
[[it:MediaWiki]] |
|||
[[he:מדיה-ויקי]] |
|||
[[ka:MediaWiki]] |
|||
[[csb:MediaWiki]] |
|||
[[ku:MediaWiki]] |
|||
[[la:MediaVici]] |
|||
[[lv:MediaWiki]] |
|||
[[lb:MediaWiki]] |
|||
[[lt:MediaWiki]] |
|||
[[li:MediaWiki]] |
|||
[[hu:MediaWiki]] |
|||
[[mk:МедијаВики]] |
|||
[[mg:MediaWiki]] |
|||
[[ml:മീഡിയവിക്കി]] |
|||
[[mr:मीडियाविकी]] |
|||
[[arz:ميدياويكى]] |
|||
[[ms:MediaWiki]] |
|||
[[nl:MediaWiki]] |
|||
[[ja:MediaWiki]] |
|||
[[no:MediaWiki]] |
|||
[[nn:MediaWiki]] |
|||
[[oc:MediaWiki]] |
|||
[[pl:MediaWiki]] |
|||
[[pt:MediaWiki]] |
|||
[[ro:MediaWiki]] |
|||
[[ru:MediaWiki]] |
|||
[[sco:MediaWiki]] |
|||
[[si:මාධ්යවිකි]] |
|||
[[simple:MediaWiki]] |
|||
[[sk:MediaWiki]] |
|||
[[sl:MediaWiki]] |
|||
[[sr:MediaWiki]] |
|||
[[sh:MediaWiki]] |
|||
[[fi:MediaWiki]] |
|||
[[sv:Mediawiki]] |
|||
[[ta:மீடியாவிக்கி]] |
|||
[[te:మీడియావికీ]] |
|||
[[th:มีเดียวิกิ]] |
|||
[[tr:MediaWiki]] |
|||
[[uk:MediaWiki]] |
|||
[[vec:MediaWiki]] |
|||
[[vi:MediaWiki]] |
|||
[[zh-classical:共筆臺]] |
|||
[[yi:מעדיעוויקי]] |
|||
[[yo:MediaWiki]] |
|||
[[zh-yue:MediaWiki]] |
|||
[[diq:MediaWiki]] |
|||
[[zh:MediaWiki]] |
Latest revision as of 00:42, 9 December 2024
Original author(s) | |
---|---|
Developer(s) | Wikimedia Foundation |
Initial release | January 25, 2002 |
Stable release | 1.43.0[1]
/ 21 December 2024 |
Repository | |
Written in | PHP[2] |
Operating system | Windows, macOS, Linux, FreeBSD, OpenBSD, Solaris |
Size | 79.05 MiB (compressed) |
Available in | 459[3] languages |
Type | Wiki software |
License | GPLv2+[4] |
Website | mediawiki |
MediaWiki is free and open-source wiki software originally developed by Magnus Manske for use on Wikipedia on January 25, 2002, and further improved by Lee Daniel Crocker,[5][6] after which development has been coordinated by the Wikimedia Foundation. It powers several wiki hosting websites across the Internet, as well as most websites hosted by the Wikimedia Foundation including Wikipedia, Wiktionary, Wikimedia Commons, Wikiquote, Meta-Wiki and Wikidata, which define a large part of the set requirements for the software.[7] Besides its usage on Wikimedia sites, MediaWiki has been used as a knowledge management and content management system on websites such as Fandom, wikiHow and major internal installations like Intellipedia and Diplopedia.
MediaWiki is written in the PHP programming language and stores all text content into a database. The software is optimized to efficiently handle large projects, which can have terabytes of content and hundreds of thousands of views per second.[7][8] Because Wikipedia is one of the world's largest and most visited websites, achieving scalability through multiple layers of caching and database replication has been a major concern for developers. Another major aspect of MediaWiki is its internationalization; its interface is available in more than 400 languages.[9] The software has more than 1,000 configuration settings[10] and more than 1,800 extensions available for enabling various features to be added or changed.[11]
License
MediaWiki is free and open-source and is distributed under the terms of the GNU General Public License version 2 or any later version. Its documentation, located at its official website at www.mediawiki.org, is released under the Creative Commons BY-SA 4.0 license and partly in the public domain.[12] Specifically, the manuals and other content at MediaWiki.org are Creative Commons-licensed, while the set of help pages intended to be freely copied into fresh wiki installations and/or distributed with MediaWiki software is public domain. This was done to eliminate legal issues arising from the help pages being imported into wikis with licenses that are incompatible with the Creative Commons license.[13] MediaWiki's development has generally favored the use of open-source media formats.[14]
Development
MediaWiki has an active volunteer community for development and maintenance. Users who have made meaningful contributions to the project by submitting patches are generally, upon request, granted access to commit revisions to the project's Git/Gerrit repository.[15] There are also paid programmers who primarily develop projects for the Wikimedia Foundation. MediaWiki developers participate in the Google Summer of Code by facilitating the assignment of mentors to students wishing to work on MediaWiki core and extension projects.[16] During the year prior to November 2012, there were about two hundred developers who had committed changes to the MediaWiki core or extensions.[17] Major MediaWiki releases are generated approximately every six months by taking snapshots of the development branch, which is kept continuously in a runnable state;[18] minor releases, or point releases, are issued as needed to correct bugs (especially security problems). MediaWiki is developed on a continuous integration development model, in which software changes are pushed live to Wikimedia sites on regular basis.[18] MediaWiki also has a public bug tracker, phabricator.wikimedia.org, which runs Phabricator. The site is also used for feature and enhancement requests.
History
When Wikipedia was launched in January 2001, it ran on an existing wiki software system, UseModWiki. UseModWiki is written in the Perl programming language, and stores all wiki pages in text (.txt) files. This software soon proved to be limiting, in both functionality and performance. In mid-2001, Magnus Manske—a developer and student at the University of Cologne, as well as a Wikipedia editor—began working on new software that would replace UseModWiki, specifically designed for use by Wikipedia. This software was written in the PHP scripting language, and stored all of its information in a MySQL database. The new software was largely developed by August 24, 2001, and a test wiki for it was established shortly thereafter.
The first full implementation of this software was the new Meta Wikipedia on November 9, 2001. There was a desire to have it implemented immediately on the English-language Wikipedia.[19] However, Manske was apprehensive about any potential bugs harming the nascent website during the period of the final exams he had to complete immediately prior to Christmas;[20] this led to the launch on the English-language Wikipedia being delayed until January 25, 2002. The software was then, gradually, deployed on all the Wikipedia language sites of that time. This software was referred to as "the PHP script" and as "phase II", with the name "phase I", retroactively given to the use of UseModWiki.
Increasing usage soon caused load problems to arise again, and soon after, another rewrite of the software began; this time being done by Lee Daniel Crocker, which became known as "phase III". This new software was also written in PHP, with a MySQL backend, and kept the basic interface of the phase II software, but with the added functionality of a wider scalability. The "phase III" software went live on Wikipedia in July 2002.
The Wikimedia Foundation was announced on June 20, 2003. In July, Wikipedia contributor Daniel Mayer suggested the name "MediaWiki" for the software, as a play on "Wikimedia".[21] The MediaWiki 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").[22]
The old product logo was created by Erik Möller, using a flower photograph taken by Florence Nibart-Devouard, and was originally submitted to the logo contest for a new Wikipedia logo, held from July 20 to August 27, 2003.[23][24] The logo came in third place, and was chosen to represent MediaWiki rather than Wikipedia, with the second place logo being used for the Wikimedia Foundation.[25] The double square brackets ([[ ]]) symbolize the syntax MediaWiki uses for creating hyperlinks to other wiki pages; while the sunflower represents the diversity of content on Wikipedia, its constant growth, and the wilderness.[26]
Later, Brooke Vibber, the chief technical officer of the Wikimedia Foundation,[27] took up the role of release manager.[28][29]
Major milestones in MediaWiki's development have included: the categorization system (2004); parser functions, (2006); Flagged Revisions, (2008);[30] the "ResourceLoader", a delivery system for CSS and JavaScript (2011);[31] and the VisualEditor, a "what you see is what you get" (WYSIWYG) editing platform (2013).[32]
The contest of designing a new logo was initiated on June 22, 2020, as the old logo was a bitmap image and had "high details", leading to problems when rendering at high and low resolutions, respectively. After two rounds of voting, the new and current MediaWiki logo designed by Serhio Magpie was selected on October 24, 2020, and officially adopted on April 1, 2021.[33]
Version history
The first version of MediaWiki, 1.1, was released in December 2003.
Sites using MediaWiki
MediaWiki's most famous use has been in Wikipedia and, to a lesser degree, the Wikimedia Foundation's other projects. Fandom, a wiki hosting service formerly known as Wikia, runs on MediaWiki. Other public wikis that run on MediaWiki include wikiHow and SNPedia. WikiLeaks began as a MediaWiki-based site, but is no longer a wiki.
A number of alternative wiki encyclopedias to Wikipedia run on MediaWiki, including Citizendium, Metapedia, Scholarpedia and Conservapedia. MediaWiki is also used internally by a large number of companies, including Novell and Intel.[34][35]
Notable usages of MediaWiki within governments include Intellipedia, used by the United States Intelligence Community, Diplopedia, used by the United States Department of State, and milWiki, a part of milSuite used by the United States Department of Defense. United Nations agencies such as the United Nations Development Programme and INSTRAW chose to implement their wikis using MediaWiki, because "this software runs Wikipedia and is therefore guaranteed to be thoroughly tested, will continue to be developed well into the future, and future technicians on these wikis will be more likely to have exposure to MediaWiki than any other wiki software."[36]
The Free Software Foundation uses MediaWiki to implement the LibrePlanet site.[37]
Key features
MediaWiki provides a rich core feature set and a mechanism to attach extensions to provide additional functionality.
Internationalization and localisation
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 400 languages on translatewiki.net,[9] and can be further customized by site administrators (the entire interface is editable through the wiki).
Several extensions, most notably those collected in the MediaWiki Language Extension Bundle, are designed to further enhance the multilingualism and internationalization of MediaWiki.
Installation and configuration
Installation of MediaWiki requires that the user have administrative privileges on a server running both PHP and a compatible type of SQL database. Some users find that setting up a virtual host is helpful if the majority of one's site runs under a framework (such as Zope or Ruby on Rails) that is largely incompatible with MediaWiki.[38] Cloud hosting can eliminate the need to deploy a new server.[39]
An installation PHP script is accessed via a web browser to initialize the wiki's settings. It prompts the user for a minimal set of required parameters, leaving further changes, such as enabling uploads,[40] adding a site logo,[41] and installing extensions, to be made by modifying configuration settings contained in a file called LocalSettings.php
.[42] Some aspects of MediaWiki can be configured through special pages or by editing certain pages; for instance, abuse filters can be configured through a special page,[43] and certain gadgets can be added by creating JavaScript pages in the MediaWiki namespace.[44] The MediaWiki community publishes a comprehensive installation guide.[45]
Markup
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" 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.
MediaWiki uses an extensible[46] lightweight wiki markup designed to be easier to use and learn than HTML. Tools exist for converting content such as tables between MediaWiki markup and HTML.[47] Efforts have been made to create a MediaWiki markup spec, but a consensus seems to have been reached that Wikicode requires context-sensitive grammar rules.[48][49] The following side-by-side comparison illustrates the differences between wiki markup and HTML:
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) |
Rendered output (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 interface
MediaWiki's default page-editing tools have been described as somewhat challenging to learn.[50] A survey of students assigned to use a MediaWiki-based wiki found that when they were asked an open question about main problems with the wiki, 24% cited technical problems with formatting, e.g. "Couldn't figure out how to get an image in. Can't figure out how to show a link with words; it inserts a number."[51]
To make editing long pages easier, MediaWiki allows the editing of a subsection of a page (as identified by its header). A registered user can also indicate whether or not an edit is minor. Correcting spelling, grammar or punctuation are examples of minor edits, whereas adding paragraphs of new text is an example of a non-minor edit.
Sometimes while one user is editing, a second user saves an edit to the same part of the page. Then, when the first user attempts to save the page, an edit conflict occurs. The second user is then given an opportunity to merge their content into the page as it now exists following the first user's page save.
MediaWiki's user interface has been localized in many 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.
VisualEditor has its own integrated wikitext editing interface known as 2017 wikitext editor, the older editing interface is known as 2010 wikitext editor.
Application programming interface
MediaWiki has an extensible web API (application programming interface) that provides direct, high-level access to the data contained in the MediaWiki databases. Client programs can use the API to log in, get data, and post changes. The API supports thin web-based JavaScript clients and end-user applications (such as vandal-fighting tools). The API can be accessed by the backend of another web site.[52] An extensive Python bot library, Pywikibot,[53] and a popular semi-automated tool called AutoWikiBrowser, also interface with the API.[54] The API is accessed via URLs such as https://en.wikipedia.org/enwiki/w/api.php?action=query&list=recentchanges
. In this case, the query would be asking Wikipedia for information relating to the last 10 edits to the site. One of the perceived advantages of the API is its language independence; it listens for HTTP connections from clients and can send a response in a variety of formats, such as XML, serialized PHP, or JSON.[55] Client code has been developed to provide layers of abstraction to the API.[56]
Rich content
MediaWiki supports rich content generated through specialized syntax. For example, the software comes with optional support for rendering mathematical formulas using LaTeX and a special parser written in OCaml named texvc.[57] Similar functionality for other content, ranging from graphical timelines over mathematical plotting and musical scores to Egyptian hieroglyphs, is available via extensions.
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.
For WYSIWYG editing, VisualEditor is available to use in MediaWiki which simplifying editing process for editors and has been bundled since MediaWiki 1.35.[58] Other extensions exist for handling WYSIWYG editing to different degrees.[59]
Tracking edits
Among the features of MediaWiki to assist in tracking edits is a Recent Changes feature that provides a list of recent edits to the wiki. This list contains basic information about those edits such as the editing user, the edit summary, the page edited, as well as any tags (e.g. "possible vandalism")[60] added by customizable abuse filters and other extensions to aid in combating unhelpful edits.[61] On more active wikis, so many edits occur that it is hard to track Recent Changes manually. Anti-vandal software, including user-assisted tools,[62] is sometimes employed on such wikis to process Recent Changes items. Server load can be reduced by sending a continuous feed of Recent Changes to an IRC channel that these tools can monitor, eliminating their need to send requests for a refreshed Recent Changes feed to the API.[63][64]
Another important tool is watchlisting. Each logged-in user has a watchlist to which the user can add whatever pages he or she wishes. When an edit is made to one of those pages, a summary of that edit appears on the watchlist the next time it is refreshed.[65] As with the recent changes page, recent edits that appear on the watchlist contain clickable links for easy review of the article history and specific changes made.
There is also the capability to review all edits made by any particular user. In this way, if an edit is identified as problematic, it is possible to check the user's other edits for issues.
MediaWiki allows one to link to specific versions of articles. This has been useful to the scientific community, in that expert peer reviewers could analyse articles, improve them and provide links to the trusted version of that article.[66]
Navigation
Wikilinks
Navigation through the wiki is largely through internal wikilinks. MediaWiki's wikilinks implement page existence detection, in which a link is colored blue if the target page exists on the local wiki and red if it does not. If a user clicks on a red link, they are prompted to create an article with that title. Page existence detection makes it practical for users to create "wikified" articles—that is, articles containing links to other pertinent subjects—without those other articles being yet in existence.
Interwiki links
Interwiki links function much the same way as namespaces. A set of interwiki prefixes can be configured to cause, for instance, a page title of wikiquote:Jimbo Wales
to direct the user to the Jimbo Wales article on Wikiquote.[67] Unlike internal wikilinks, interwiki links lack page existence detection functionality, and accordingly there is no way to tell whether a blue interwiki link is broken or not.
Interlanguage links
Interlanguage links are the small navigation links that show up in the sidebar in most MediaWiki skins that connect an article with related articles in other languages within the same Wiki family. This can provide language-specific communities connected by a larger context, with all wikis on the same server or each on its own server.[68]
Previously, Wikipedia used interlanguage links to link an article to other articles on the same topic in other editions of Wikipedia. This was superseded by the launch of Wikidata.[69]
Content organization
Page tabs and associated pages
Page tabs are displayed at the top of pages. These tabs allow users to perform actions or view pages that are related to the current page. The available default actions include viewing, editing, and discussing the current page. The specific tabs displayed depend on whether the user is logged into the wiki and whether the user has sysop privileges on the wiki. For instance, the ability to move a page or add it to one's watchlist is usually restricted to logged-in users. The site administrator can add or remove tabs by using JavaScript or installing extensions.[70]
Each page has an associated history page from which the user can access every version of the page that has ever existed and generate diffs between two versions of his choice. Users' contributions are displayed not only here, but also via a "user contributions" option on a sidebar. In a 2004 article, Carl Challborn and Teresa Reimann noted that "While this feature may be a slight deviation from the collaborative, 'ego-less' spirit of wiki purists, it can be very useful for educators who need to assess the contribution and participation of individual student users."[71]
Namespaces
MediaWiki provides many features beyond hyperlinks for structuring content. One of the earliest such 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 namespace has an associated "Talk:
" namespace, 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.[72][73]
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 their associated talk page namespaces have odd numbers.[74]
Category tags
Users can create new categories and add pages and files to those categories by appending one or more category tags to the content text. Adding these tags creates links at the bottom of the page that take the reader to the list of all pages in that category, making it easy to browse related articles.[75] The use of categorization to organize content has been described as a combination of:
- Collaborative tagging systems like del.icio.us and
- Hierarchical classifications like the Dewey Decimal Classification.[76]
Subpages
In addition to namespaces, content can be ordered using subpages. This simple feature provides automatic breadcrumbs of the pattern [[Page title/Subpage title]]
from the page after the slash (in this case, "Subpage title") to the page before the slash (in this case, "Page title").
Customization
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, 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.[77]
The entire MediaWiki user interface can be edited through the wiki itself by users with the necessary permissions (typically called "administrators"). This is done through a special namespace with the prefix "MediaWiki:", where each page title identifies a particular user interface message. Using an extension,[78] it is also possible for a user to create personal scripts, and to choose whether certain sitewide scripts should apply to them by toggling the appropriate options in the user preferences page.
Templates
The "MediaWiki:" namespace was originally also 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 2018}}
"), which calls the template (in this case located at Template:Disputed) to load in place of the template call.
Templates are structured documents containing attribute–value pairs. They are defined with parameters, to which are assigned values when transcluded on an article page. The name of the parameter is delimited from the value by an equals sign. A class of templates known as infoboxes is used on Wikipedia to collect and present a subset of information about its subject, usually on the top (mobile view) or top right-hand corner (desktop view) of the document.
A related method, called template substitution (called by adding subst:
at the beginning of a template link) inserts the contents of the template into the target page (like a copy and paste operation), 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 fewer 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. Templates enable users to create complex table layouts that are used consistently across multiple pages, and where only the content of the tables gets inserted using template parameters. Templates are frequently used to identify problems with a Wikipedia article by putting a template in the article. This template then outputs a graphical box stating that the article content is disputed or in need of some other attention, and also categorize it so that articles of this nature can be located. Templates are also used on user pages to send users standard messages welcoming them to the site,[79] giving them awards for outstanding contributions,[80][81] warning them when their behavior is considered inappropriate,[82] notifying them when they are blocked from editing,[83] and so on.
Groups and restriction of access
MediaWiki offers flexibility in creating and defining user groups. For instance, it would be possible to create an arbitrary "ninja" group that can block users and delete pages, and whose edits are hidden by default in the recent changes log. It is also possible to set up a group of "autoconfirmed" users that one becomes a member of after making a certain number of edits and waiting a certain number of days.[84] Some groups that are enabled by default are bureaucrats and sysops. Bureaucrats have the power to change other users' rights. Sysops have power over page protection and deletion and the blocking of users from editing. MediaWiki's available controls on editing rights have been deemed sufficient for publishing and maintaining important documents such as a manual of standard operating procedures in a hospital.[85]
When a page consists only of useless content, there are several ways to remove that content. The simplest way, available to all users, is simply to blank the page. However, this interferes with page existence detection, unless an extension is installed to treat blanked pages as though they were nonexistent.[86] Blanking also leaves the content accessible through the history page, an outcome that, while potentially increasing transparency by allowing non-sysops to easily review the content removal decision for appropriateness, might be unacceptable or even unlawful[87] in some cases. Another option is for a sysop to delete the page, and thereby prevent it from being viewed by non-sysops. Another level of deletion, called RevisionDelete, can be used by a group (e.g. "Oversighters") to prevent a page from being viewed by non-members of that group.[88] It is also possible, using certain extensions, to remove content from being viewed through any of the normal channels on the wiki,[89] or even to completely delete revisions from the database.[90]
MediaWiki comes with a basic set of features related to restricting access, but its original and ongoing design is driven by functions that largely relate to content, not content segregation. As a result, with minimal exceptions (related to specific tools and their related "Special" pages), page access control has never been a high priority in core development and developers have stated that users requiring secure user access and authorization controls should not rely on MediaWiki, since it was never designed for these kinds of situations. For instance, it is extremely difficult to create a wiki where only certain users can read and access some pages.[91] Here, wiki engines like Foswiki, MoinMoin and Confluence provide more flexibility by supporting advanced security mechanisms like access control lists.
Extensibility
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 necessarily needing to modify 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 or core patches are required.
Five main extension points were created to allow developers to add features and functionalities to MediaWiki. Hooks are run every time a certain event happens; for instance, the ArticleSaveComplete
hook occurs after a save article request has been processed.[92] This can be used, for example, by an extension that notifies selected users whenever a page edit occurs on the wiki from new or anonymous users.[93] New tags can be created to process data with opening and closing tags (<newtag>...</newtag>
).[94] Parser functions can be used to create a new command ({{#if:...|...|...}}
).[95] New special pages can be created to perform a specific function. These pages are dynamically generated. For example, a special page might show all pages that have one or more links to an external site or it might create a form providing user submitted feedback.[96] Skins allow users to customize the look and feel of MediaWiki.[97] A minor extension point allows the use of Amazon S3 to host image files.[98]
Extensions
Resources to developers
MediaWiki can be made more advanced and useful for various purposes through its extensions. These extensions vary greatly in complexity.
The Wikimedia Foundation operates a Git server where many extensions host their repository. Most of them also have a documentation page on the MediaWiki website.
MediaWiki code review was itself historically facilitated through a MediaWiki extension.[99] As of March 2012, it has been done through Gerrit.
Since version 1.16, MediaWiki uses the jQuery library.[100]
Text manipulation
Among the most popular extensions is a parser function extension, ParserFunctions, which allows different content to be rendered based on the result of conditional statements.[101] These conditional statements can perform functions such as evaluating whether a parameter is empty, comparing strings, evaluating mathematical expressions, and returning one of two values depending on whether a page exists. It was designed as a replacement for a notoriously inefficient template called {{Qif}}.[102] Schindler recounts the history of the ParserFunctions extension as follows:[30]
In 2006 some Wikipedians discovered that through an intricate and complicated interplay of templating features and CSS they could create conditional wiki text, i.e. text that was displayed if a template parameter had a specific value. This included repeated calls of templates within templates, which bogged down the performance of the whole system. The developers faced the choice of either disallowing the spreading of an obviously desired feature by detecting such usage and explicitly disallowing it within the software or offering an efficient alternative. The latter was done by Tim Starling, who announced the introduction of parser functions, wiki text that calls functions implemented in the underlying software. At first, only conditional text and the computation of simple mathematical expressions were implemented, but this already increased the possibilities for wiki editors enormously. With time further parser functions were introduced, finally leading to a framework that allowed the simple writing of extension functions to add arbitrary functionalities, like e.g. geo-coding services or widgets. This time the developers were clearly reacting to the demand of the community, being forced either to fight the solution of the issue that the community had (i.e. conditional text), or offer an improved technical implementation to replace the previous practice and achieve an overall better performance.
Another parser functions extension, StringFunctions, was developed to allow evaluation of string length, string position, and so on. Wikimedia communities, having created awkward workarounds to accomplish the same functionality,[103] clamored for it to be enabled on their projects.[104] Much of its functionality was eventually integrated into the ParserFunctions extension,[105] albeit disabled by default and accompanied by a warning from Tim Starling that enabling string functions would allow users "to implement their own parsers in the ugliest, most inefficient programming language known to man: MediaWiki wikitext with ParserFunctions."[106]
Since 2012 an extension, Scribunto, has existed that allows for the creation of "modules"—wiki pages written in the scripting language Lua—which can then be run within templates and standard wiki pages. Scribunto has been installed on Wikipedia and other Wikimedia sites since 2013 and is used heavily on those sites. Scribunto code runs significantly faster than corresponding wikitext code using ParserFunctions.[107]
For footnotes and academic-related display
Another very popular extension is a citation extension that enables footnotes to be added to pages using inline references.[108] This extension has, however, been criticized for being difficult to use and requiring the user to memorize complex syntax. A gadget called RefToolbar attempts to make it easier to create citations using common templates. MediaWiki has some extensions that are well-suited for academia, such as mathematics extensions[109] and an extension that allows molecules to be rendered in 3D.[110]
Integration
A generic Widgets extension exists that allows MediaWiki to integrate with virtually anything. Other examples of extensions that could improve a wiki are category suggestion extensions[111] and extensions for inclusion of Flash Videos,[112] YouTube videos,[113] and RSS feeds.[114] Metavid, a site that archives video footage of the U.S. Senate and House floor proceedings, was created using code extending MediaWiki into the domain of collaborative video authoring.[115]
Combating linkspam
There are many spambots that search the web for MediaWiki installations and add linkspam to them, despite the fact that MediaWiki uses the nofollow attribute to discourage such attempts at search engine optimization.[116] Part of the problem is that third party republishers, such as mirrors, may not independently implement the nofollow tag on their websites, so marketers can still get PageRank benefit by inserting links into pages when those entries appear on third party websites.[117] Anti-spam extensions have been developed to combat the problem by introducing CAPTCHAs,[118] blacklisting certain URLs,[119] and allowing bulk deletion of pages recently added by a particular user.[120]
Searches and queries
MediaWiki comes pre-installed with a standard text-based search. Extensions exist to let MediaWiki use more sophisticated third-party search engines, including Elasticsearch (which since 2014 has been in use on Wikipedia), Lucene[121] and Sphinx.[122]
Various MediaWiki extensions have also been created to allow for more complex, faceted search, on both data entered within the wiki and on metadata such as pages' revision history.[123][124] Semantic MediaWiki is one such extension.[125][126]
Database
MediaWiki can use either the MySQL/MariaDB, PostgreSQL or SQLite relational database management system. Support for Oracle Database and Microsoft SQL Server has been dropped since MediaWiki 1.34.[127] A MediaWiki database contains several dozen tables, including a page
table that contains page titles, page ids, and other metadata;[128] and a revision
table to which is added a new row every time an edit is made, containing the page id, a brief textual summary of the change performed, the user name of the article editor (or its IP address the case of an unregistered user) and a timestamp.[129][130]
In a 4½ year period prior to 2008, the MediaWiki database had 170 schema versions.[131] Possibly the largest schema change was done in 2005 with MediaWiki 1.5, when the storage of metadata was separated from that of content, to improve performance flexibility. When this upgrade was applied to Wikipedia, the site was locked for editing, and the schema was converted to the new version in about 22 hours. Some software enhancement proposals, such as a proposal to allow sections of articles to be watched via watchlist, have been rejected because the necessary schema changes would have required excessive Wikipedia downtime.[132]
Performance and storage
Because it is used to run one of the highest-traffic sites on the Web, Wikipedia, MediaWiki's performance and scalability have been highly optimized.[29] MediaWiki supports Squid, 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. MediaWiki developers have attempted to optimize the software by avoiding expensive algorithms, database queries, etc., caching every result that is expensive and has temporal locality of reference, and focusing on the hot spots in the code through profiling.[133]
MediaWiki code is designed to allow for data to be written to a read-write database and read from read-only databases, although the read-write database can be used for some read operations if the read-only databases are not yet up to date. Metadata, such as article revision history, article relations (links, categories etc.), user accounts and settings can be stored in core databases and cached; the actual revision text, being more rarely used, can be stored as append-only blobs in external storage. The software is suitable for the operation of large-scale wiki farms such as Wikimedia, which had about 800 wikis as of August 2011. However, MediaWiki comes with no built-in GUI to manage such installations.
Empirical evidence shows most revisions in MediaWiki databases tend to differ only slightly from previous revisions. Therefore, subsequent revisions of an article can be concatenated and then compressed, achieving very high data compression ratios of up to 100x.[133]
For more information on the architecture, such as how it stores wikitext and assembles a page, see External links.
Limitations
The parser serves as the de facto standard for the MediaWiki syntax, as no formal syntax has been defined. Due to this lack of a formal definition, it has been difficult to create WYSIWYG editors for MediaWiki, although several WYSIWYG extensions do exist, including the popular VisualEditor.
MediaWiki is not designed to be a suitable replacement for dedicated online forum or blogging software,[134] although extensions do exist to allow for both of these.[135][136]
It is common for new MediaWiki users to make certain mistakes, such as forgetting to sign posts with four tildes (~~~~),[137] or manually entering a plaintext signature,[138] due to unfamiliarity with the idiosyncratic particulars involved in communication on MediaWiki discussion pages. On the other hand, the format of these discussion pages has been cited as a strength by one educator, who stated that it provides more fine-grain capabilities for discussion than traditional threaded discussion forums. For example, instead of 'replying' to an entire message, the participant in a discussion can create a hyperlink to a new wiki page on any word from the original page. Discussions are easier to follow since the content is available via hyperlinked wiki page, rather than a series of reply messages on a traditional threaded discussion forum. However, except in few cases, students were not using this capability, possibly because of their familiarity with the traditional linear discussion style and a lack of guidance on how to make the content more 'link-rich'.[139]
MediaWiki by default has little support for the creation of dynamically assembled documents, or pages that aggregate data from other pages. Some research has been done on enabling such features directly within MediaWiki.[140] The Semantic MediaWiki extension provides these features. It is not in use on Wikipedia, but in more than 1,600 other MediaWiki installations.[141] The Wikibase Repository and Wikibase Repository client are however implemented in Wikidata and Wikipedia respectively, and to some extent provides semantic web features, and linking of centrally stored data to infoboxes in various Wikipedia articles.
Upgrading MediaWiki is usually fully automated, requiring no changes to the site content or template programming. Historically troubles have been encountered when upgrading from significantly older versions.[142]
Security
MediaWiki developers have enacted security standards, both for core code and extensions.[143] SQL queries and HTML output are usually done through wrapper functions that handle validation, escaping, filtering for prevention of cross-site scripting and SQL injection.[144] Many security issues have had to be patched after a MediaWiki version release,[145] and accordingly MediaWiki.org states, "The most important security step you can take is to keep your software up to date" by subscribing to the announcement mailing list and installing security updates that are announced.[146]
Developer community
MediaWiki developers are spread around the world, though with a majority in the United States and Europe. Face-to-face meetings and programming sessions for MediaWiki developers have been held once or several times a year since 2004.[147]
Support
Support for MediaWiki users consists of:
- MediaWiki.org, including the Support Desk.
- An official mailing list, Mediawiki-l.
- Several books have been written about MediaWiki administration,[148] including some free online books.[149][150]
Comparison to other online collaboration software
Users of online collaboration software are familiar with MediaWiki's functions and layout due to its noted use on Wikipedia. A 2006 overview of social software in academia observed that "Compared to other wikis, MediaWiki is also fairly aesthetically pleasing, though simple, and has an easily customized side menu and stylesheet."[151] However, in one assessment in 2006, Confluence was deemed to be a superior product due to its very usable API and ability to better support multiple wikis.[110]
A 2009 study at the University of Hong Kong compared TWiki to MediaWiki. The authors noted that TWiki has been considered as a collaborative tool for the development of educational papers and technical projects, whereas MediaWiki's most noted use is on Wikipedia. Although both platforms allow discussion and tracking of progress, TWiki has a "Report" part that MediaWiki lacks. Students perceived MediaWiki as being easier to use and more enjoyable than TWiki. When asked whether they recommended using MediaWiki for knowledge management course group project, 15 out of 16 respondents expressed their preference for MediaWiki giving answers of great certainty, such as "of course", "for sure".[152] TWiki and MediaWiki both have flexible plug-in architecture.[153]
A 2009 study that compared students' experience with MediaWiki to that with Google Docs found that students gave the latter a much higher rating on user-friendly layout.[154]
A 2021 study conducted by the Brazilian Nuclear Engineering Institute compared a MediaWiki-based knowledge management system against two others that were based on DSpace and Open Journal Systems, respectively.[155] It highlighted ease of use as an advantage of the MediaWiki-based system, noting that because the Wikimedia Foundation had been developing MediaWiki for a site aimed at the general public (Wikipedia), "its user interface was designed to be more user-friendly from start, and has received large user feedback over a long time", in contrast to DSpace's and OJS's focus on niche audiences.[155]
See also
- List of content management systems
- List of wiki software
- BlueSpice
- Semantic MediaWiki
- XOWA – for viewing Wikipedia and other wikis offline
- PHP – a programming language that powers MediaWiki
References
- ^ "Announcing MediaWiki 1.43.0". December 21, 2024.
- ^ Reed, Sam (December 19, 2019). "Announcing MediaWiki 1.34.0". mediawiki-announce (Mailing list). Archived from the original on December 19, 2019. Retrieved December 19, 2019.
- ^ "Names.php • mediawiki". github.com. April 8, 2021. Archived from the original on July 15, 2021. Retrieved May 19, 2021.
- ^ "Copyright". mediawiki.org. Archived from the original on September 19, 2015. Retrieved September 7, 2015.
- ^ Magnus Manske's announcement of "PHP Wikipedia", wikipedia-l, August 24, 2001
- ^ Barrett, Daniel J. (October 2008). MediaWiki. O'Reilly Media. ISBN 978-0-596-51979-7. Retrieved April 23, 2010.
- ^ a b "What is MediaWiki?". MediaWiki. January 9, 2021. Archived from the original on July 22, 2018. Retrieved March 27, 2021.
- ^ Česky. "Wikipedia:Statistics – Wikipedia, the free encyclopedia". Wikipedia. Archived from the original on August 28, 2021. Retrieved May 30, 2010.
- ^ a b "Message group statistics: MediaWiki core". translatewiki.net. August 20, 2023. Archived from the original on August 20, 2023. Retrieved August 20, 2023.
488 languages (not including languages that are supported but have no translations)
- ^ "Category:MediaWiki configuration settings". MediaWiki. September 11, 2016. Archived from the original on November 10, 2014. Retrieved September 11, 2016.
- ^ "Extension Matrix". MediaWiki. Archived from the original on September 11, 2016. Retrieved September 6, 2017.
- ^ "MediaWiki.org Project:Copyrights". Archived from the original on August 23, 2023. Retrieved August 23, 2023.
- ^ "Project:PD help". MediaWiki. Archived from the original on October 29, 2020. Retrieved May 30, 2010.
- ^ Rafe Needleman (November 19, 2008), Wikipedia gears up for flood of video and photo files, C-Net, archived from the original on August 6, 2009, retrieved April 23, 2010
- ^ "Development policy". MediaWiki. July 19, 2013. Archived from the original on May 10, 2017. Retrieved August 4, 2013.
- ^ "Summer of Code". MediaWiki. March 26, 2013. Archived from the original on May 10, 2017. Retrieved August 4, 2013.
- ^ "Wikimedia". Open Hub. Archived from the original on September 14, 2017. Retrieved November 15, 2012. Approximate counts (not deduplicated) as of November 4, 2012: 139 for core, 155 for extensions supported by WMF, 190 and 42 for extensions only hosted on WMF's Git and SVN repositories respectively.
- ^ a b "Version lifecycle". MediaWiki. September 5, 2018. Archived from the original on June 17, 2020. Retrieved October 21, 2018.
- ^ Bartlett, Manning (November 14, 2001). "Magnus's new script..." Wikimedia Lists. Wikimedia Foundation. Archived from the original on October 2, 2019. Retrieved October 2, 2019.
- ^ Manske, Magnus (November 14, 2001). "Magnus's new script..." Wikimedia Lists. Wikimedia Foundation. Archived from the original on October 2, 2019. Retrieved October 2, 2019.
- ^ Mayer, Daniel (July 19, 2003). "Phase IV, Wikibooks.org/.com and WikimediaFoundation.org/.com (was Wikis and uniformity)". Wikipedia-L mailing list. Archived from the original on July 12, 2017. Retrieved January 18, 2015.
- ^ "Differences between Wikipedia, Wikimedia, MediaWiki, and wiki". MediaWiki. Archived from the original on July 1, 2009. Retrieved May 30, 2010.
- ^ "International logo contest". Meta-Wiki. Archived from the original on May 9, 2020. Retrieved April 9, 2020.
- ^ "International logo contest/results". Meta-wiki. Wikimedia Foundation. January 10, 2007. Archived from the original on November 4, 2015. Retrieved March 14, 2007.
- ^ "Historical/Logo history". Meta-wiki. Wikimedia Foundation. January 17, 2007. Archived from the original on November 4, 2015. Retrieved March 14, 2007.
- ^ Erik Möller (July 26, 2003). "File talk:EloquenceSunflowerNew-Small.png – Meta". Meta-wiki. Wikimedia Foundation. Archived from the original on January 30, 2016. Retrieved February 3, 2013.
- ^ David Weinberger (2007). Everything Is Miscellaneous: The Power of the New Digital Disorder. Times Books. p. 99. ISBN 978-0-8050-8043-8.
- ^ "MediaWiki history". MediaWiki website. Archived from the original on October 27, 2020. Retrieved August 4, 2013.
- ^ a b "Wikipedia and MediaWiki". Presentation MediaWiki development (video). April 28, 2006. Archived from the original on April 14, 2011. Retrieved September 23, 2009.
- ^ a b M Schindler; D Vrandecic (2009), Introducing new features to Wikipedia, Proceedings of WebSci, archived from the original on June 24, 2018, retrieved June 24, 2018
- ^ "MediaWiki ResourceLoader". Mediawiki.org. Archived from the original on March 8, 2013. Retrieved July 6, 2013.
- ^ "VisualEditor – MediaWiki". MediaWiki. Archived from the original on September 27, 2013. Retrieved September 15, 2013.
- ^ Sarabadani, Amir (March 31, 2021). "Logo of MediaWiki has changed". Wikimedia Foundation. Archived from the original on April 2, 2021. Retrieved April 2, 2021.
- ^ MediaWiki testimonials Archived January 11, 2012, at the Wayback Machine, mediawiki.org
- ^ "The story of Intelpedia: A model corporate wiki". Socialmedia.biz. Archived from the original on September 16, 2013. Retrieved August 16, 2013.
- ^ A. Maron; M. Maron (2007). "A stealth transformation: introducing wikis to the UN". Knowledge Management for Development Journal. Archived from the original on May 4, 2011. Retrieved October 9, 2010.
- ^ "LibrePlanet Homepage". Archived from the original on March 18, 2011. Retrieved December 10, 2018.
- ^ Lerner, Reuven M. (February 23, 2006), Installing and Customizing MediaWiki, Linux Journal, archived from the original on April 6, 2010, retrieved April 23, 2010
- ^ Petrazickis, Leons (2009), Deploying PHP applications on IBM DB2 in the cloud: MediaWiki as a case study, Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research, pp. 304–305, doi:10.1145/1723028.1723069, S2CID 27463043
- ^ "Manual:$wgEnableUploads". MediaWiki. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ "Manual:$wgLogo". MediaWiki. December 12, 2009. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ "Manual:LocalSettings.php". MediaWiki. March 29, 2007. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ "Extension:AbuseFilter". MediaWiki. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ Cacycle. "wikEd". Archived from the original on November 23, 2007.
- ^ "Manual:Installation guide". MediaWiki. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ "Manual:Extending wiki markup". MediaWiki. Archived from the original on May 1, 2011. Retrieved May 30, 2010.
- ^ "HTML to Wiki Converter – tables". WMF Labs. March 29, 2008. Archived from the original on July 13, 2014. Retrieved June 12, 2014.
- ^ "Markup spec". MediaWiki. Archived from the original on December 19, 2007. Retrieved May 30, 2010.
- ^ "Extricating Meaning from Wikimedia Article Archives" (PDF). Archived (PDF) from the original on March 10, 2011. Retrieved January 2, 2011.
- ^ Jakes, David (August 15, 2006), Wild about Wikis, Tech & Learning, archived from the original on May 2, 2010, retrieved April 23, 2010
- ^ Foley, Brian & Chang, Tae (2008), Wiki as a professional development tool (PDF), Technology and Teacher Education, archived (PDF) from the original on April 30, 2011, retrieved April 23, 2010
- ^ "API". MediaWiki. May 17, 2010. Archived from the original on May 27, 2010. Retrieved May 30, 2010.
- ^ "Pywikibot – MediaWiki". mediawiki.org. Archived from the original on March 9, 2018. Retrieved March 16, 2018.
- ^ Česky. "Wikipedia:AutoWikiBrowser – Wikipedia, the free encyclopedia". En.wikipedia.org. Archived from the original on April 20, 2010. Retrieved May 30, 2010.
- ^ Bartolo, Laura M.; Lowe, Cathy S.; Songar, Poonam; Tandy, Robert J. (May 20, 2009), Facilitating Wiki/Repository Communication with Metadata, Georgia Institute of Technology, archived from the original on January 9, 2011, retrieved April 23, 2010
- ^ "API:Client code". MediaWiki. May 24, 2010. Archived from the original on June 26, 2010. Retrieved May 30, 2010.
- ^ Stegmüller, Johannes; Schubotz, Moritz (January 30, 2024). "WikiTexVC: MediaWiki's native LaTeX to MathML converter for Wikipedia". arXiv:2401.16786 [cs.DL].
- ^ "Extension:VisualEditor". MediaWiki. Archived from the original on February 21, 2021. Retrieved March 15, 2021.
- ^ "Category:WYSIWYG extensions". MediaWiki. April 10, 2008. Archived from the original on May 1, 2011. Retrieved May 30, 2010.
- ^ "Tags – Wikipedia, the free encyclopedia". En.wikipedia.org. Archived from the original on March 4, 2010. Retrieved May 30, 2010.
- ^ "Manual:Tags". MediaWiki. August 31, 2009. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ "Wikipedia:Huggle – Wikipedia, the free encyclopedia". En.wikipedia.org. Archived from the original on March 31, 2011. Retrieved May 30, 2010.
- ^ "IRC/Channels". Meta-Wiki. Archived from the original on March 23, 2010. Retrieved May 30, 2010.
- ^ Daniel Nasaw (July 25, 2012). "Meet the 'bots' that edit Wikipedia". BBC News. Archived from the original on July 28, 2012. Retrieved July 30, 2012.
- ^ "Manual:Watchlist". MediaWiki. November 24, 2009. Archived from the original on May 1, 2011. Retrieved May 30, 2010.
- ^ Kevin Yager (March 16, 2006), "Wiki ware could harness the Internet for science", Nature, 440 (7082): 278, Bibcode:2006Natur.440..278Y, doi:10.1038/440278a, PMID 16541049
- ^ "Manual:Interwiki". MediaWiki. Archived from the original on December 3, 2010. Retrieved May 30, 2010.
- ^ "Interlanguage links". MediaWiki. Archived from the original on March 12, 2021. Retrieved March 17, 2021.
- ^ Pintscher, Lydia (September 23, 2013). "Wikidata is Here!". Commons:Village pump. Archived from the original on December 6, 2021. Retrieved March 17, 2021.
- ^ "Help:Navigation". MediaWiki. May 21, 2010. Archived from the original on May 27, 2010. Retrieved May 30, 2010.
- ^ Carl Challborn & Teresa Reimann (December 2004), Wiki products: a comparison (PDF), Athabasca University, archived (PDF) from the original on December 23, 2010, retrieved April 23, 2010
- ^ Newman, Aaron; Steinberg, Adam; Thomas, Jeremy (2008). Enterprise 2. 0 Implementation. McGraw-Hill Professional. p. 185. ISBN 978-0-07-159160-7.
- ^ Malcolm, Jeremy (2008). Multi-Stakeholder Governance and the Internet Governance Forum. Terminus Press. pp. 188, 280. ISBN 978-0-9805084-0-6.
- ^ Ebersbach, Anja; Glaser, Markus; Heigl, Richard; Dueck, Gunter (2006). Wiki. Springer. pp. 55, 80–82, 109, 120–121, 156. ISBN 978-3-540-25995-4.
- ^ "Help:Categories". MediaWiki. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ Jakob Voss (April 27, 2006). "Collaborative thesaurus tagging the Wikipedia way". arXiv:cs.IR/0604036.
- ^ Lupin. "Wikipedia:Tools/Navigation popups". Archived from the original on July 18, 2006.
- ^ "Extension:Gadgets". MediaWiki. March 30, 2010. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ Česky (May 16, 2010). "Template:Welcome – Wikipedia, the free encyclopedia". En.wikipedia.org. Archived from the original on May 6, 2011. Retrieved May 30, 2010.
- ^ T Kriplean; I Beschastnikh; et al. (2008), "Articulations of wikiwork: Uncovering valued work in wikipedia through barnstars", Proceedings of the 2008 ACM conference on Computer supported cooperative work, Proceedings of the ACM, pp. 47–56, doi:10.1145/1460563.1460573, ISBN 9781605580074, S2CID 7164949
- ^ Česky. "Wikipedia:Barnstars – Wikipedia, the free encyclopedia". En.wikipedia.org. Archived from the original on June 24, 2009. Retrieved May 30, 2010.
- ^ Česky. "Template:Test – Wikipedia, the free encyclopedia". En.wikipedia.org. Archived from the original on November 11, 2009. Retrieved May 30, 2010.
- ^ "Template:Test5 – Wikipedia, the free encyclopedia". En.wikipedia.org. June 19, 2008. Archived from the original on April 24, 2009. Retrieved May 30, 2010.
- ^ "Manual:User rights management". MediaWiki. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ H Zielke; W Boemke; M Kastrup; C Melzer (November 21, 2007), Operating Procedures in Clinical Practice (PDF), Royal College of Anaesthetists, archived (PDF) from the original on May 15, 2011, retrieved April 25, 2010
- ^ "Extension:PureWikiDeletion". MediaWiki. May 26, 2010. Archived from the original on May 1, 2011. Retrieved May 30, 2010.
- ^ "Wikipedia:Village pump (proposals)/Persistent proposals/Straw poll for view-deleted – Wikipedia, the free encyclopedia". En.wikipedia.org. Archived from the original on May 16, 2017. Retrieved May 30, 2010.
- ^ "RevisionDelete". MediaWiki. Archived from the original on June 26, 2010. Retrieved May 30, 2010.
- ^ "Extension:Oversight". MediaWiki. May 15, 2010. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ "Extension:DeletePagePermanently". MediaWiki. Archived from the original on May 1, 2011. Retrieved May 30, 2010.
- ^ "Security issues with authorization extensions". MediaWiki. Archived from the original on June 26, 2010. Retrieved May 30, 2010.
- ^ "Manual:Hooks/ArticleSaveComplete". MediaWiki. May 26, 2010. Archived from the original on November 10, 2014. Retrieved May 30, 2010.
- ^ "Extension:Recent Activity Notify". MediaWiki. Archived from the original on September 27, 2014. Retrieved May 30, 2010.
- ^ "Manual:Tag extensions". MediaWiki. May 21, 2010. Archived from the original on October 12, 2014. Retrieved May 30, 2010.
- ^ "Manual:Parser functions". MediaWiki. March 22, 2010. Archived from the original on October 18, 2014. Retrieved May 30, 2010.
- ^ "Manual:Special pages". MediaWiki. Archived from the original on November 10, 2014. Retrieved May 30, 2010.
- ^ "Manual:Skins". MediaWiki. May 14, 2010. Archived from the original on November 25, 2014. Retrieved May 30, 2010.
- ^ "Manual:Integration with S3". MediaWiki. March 22, 2010. Archived from the original on November 27, 2014. Retrieved May 30, 2010.
- ^ "Extension:CodeReview". MediaWiki. Archived from the original on September 26, 2014. Retrieved May 30, 2010.
- ^ jQuery on MediaWiki
- ^ "Extension:ParserFunctions". MediaWiki. December 25, 2009. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ "Wikipedia:Miscellany for deletion/Template:Qif – Wikipedia, the free encyclopedia". En.wikipedia.org. Archived from the original on February 25, 2015. Retrieved May 30, 2010.
- ^ "Category:String manipulation templates – Wikipedia, the free encyclopedia". En.wikipedia.org. May 15, 2010. Archived from the original on May 6, 2011. Retrieved May 30, 2010.
- ^ "Bug 6455 – Enable StringFunctions on WMF wikis". bugzilla.wikimedia.org. Archived from the original on January 22, 2012. Retrieved October 9, 2010.
- ^ "Extension:StringFunctions". MediaWiki. Archived from the original on June 25, 2010. Retrieved May 30, 2010.
- ^ "r51497 – Code Review". MediaWiki. Archived from the original on November 27, 2014. Retrieved May 30, 2010.
- ^ "Lua performance". Archived from the original on August 24, 2018. Retrieved December 27, 2018.
- ^ "Extension:Cite". MediaWiki. May 3, 2010. Archived from the original on October 20, 2014. Retrieved May 30, 2010.
- ^ "Category:Math extensions". MediaWiki. December 26, 2009. Archived from the original on May 1, 2011. Retrieved May 30, 2010.
- ^ a b Marieke Guy (January 2007), Wikido: Exploiting the Potential of Wikis, Ariadne, archived from the original on April 7, 2010, retrieved April 23, 2010
- ^ "Extension:CategorySuggest". MediaWiki. Archived from the original on September 26, 2014. Retrieved May 30, 2010.
- ^ "Category:Flash Video extensions". MediaWiki. Archived from the original on September 15, 2014. Retrieved May 30, 2010.
- ^ "Category:YouTube extensions". MediaWiki. September 16, 2008. Archived from the original on May 1, 2011. Retrieved May 30, 2010.
- ^ "Category:RSS extensions". MediaWiki. Archived from the original on December 3, 2010. Retrieved May 30, 2010.
- ^ M Dale; A Stern; M Deckert; W Sack (2009), System demonstration: Metavid.org: a social website and open archive of congressional video, Proceedings of the 10th Annual International Conference on Digital Government Research: Social Networks: Making Connections between Citizens, Data and Government, pp. 309–310, ISBN 978-1-60558-535-2
- ^ "Wiki spam". Meta-Wiki. Archived from the original on November 7, 2014. Retrieved May 30, 2010.
- ^ Goldman, Eric, Wikipedia's Labor Squeeze and its Consequences, vol. 8, Journal on Telecommunications and High Technology Law
- ^ "Extension:ConfirmEdit". MediaWiki. May 5, 2010. Archived from the original on October 20, 2014. Retrieved May 30, 2010.
- ^ "Extension:SpamBlacklist". MediaWiki. March 24, 2010. Archived from the original on October 20, 2014. Retrieved May 30, 2010.
- ^ "Extension:Nuke". MediaWiki. May 19, 2010. Archived from the original on October 20, 2014. Retrieved May 30, 2010.
- ^ Lucene-search MediaWiki extension Archived June 2, 2012, at the Wayback Machine, mediawiki.org
- ^ SphinxSearch MediaWiki extension Archived October 22, 2014, at the Wayback Machine, mediawiki.org
- ^ Masanori Arita & Kazuhiro Suwa (September 17, 2008), "Search extension transforms Wiki into a relational system: A case for flavonoid metabolite database", BioData Min, 1 (1), BioData Mining: 7, doi:10.1186/1756-0381-1-7, PMC 2556319, PMID 18822113
- ^ Finn Arup Nielsen (October 15, 2009). "Lost in localization: a solution with neuroinformatics 2.0?". NeuroImage. 48 (1): 11–3. doi:10.1016/J.NEUROIMAGE.2009.05.073. ISSN 1053-8119. PMID 19497377. Wikidata Q21011200.
- ^ Eric Ras; Jörg Rech; Sebastian Weber (August 1, 2008), Collaborative Authoring of Learning Elements for Adaptive Learning Spaces (PDF), Fifth International Conference on Adaptive Hypermedia and Adaptive Web-Based Systems, archived (PDF) from the original on May 3, 2011, retrieved April 23, 2010
- ^ Hartung, Michael; et al. "A Platform for Collaborative Management of Semantic Grid Metadata". Intelligent distributed computing, systems and applications. p. 123.
- ^ "Manual:Installation requirements". MediaWiki. Archived from the original on March 8, 2021. Retrieved March 14, 2021.
- ^ "Manual:Page table". MediaWiki. May 15, 2010. Archived from the original on November 25, 2014. Retrieved May 30, 2010.
- ^ "Manual:Revision table". MediaWiki. Archived from the original on November 24, 2014. Retrieved May 30, 2010.
- ^ Ortega, Felipe; González-Barahona, Jesus M.; Robles, Gregorio (2007), The Top-Ten Wikipedias: A Quantitative Analysis Using WikiXRay, CiteSeerX 10.1.1.107.1424
- ^ Curino, Carlo A.; Tanca, Letizia; Zaniolo, Carlo (2008), Information Systems Integration and Evolution: Ontologies at Rescue (PDF), Workshop on Semantic, archived (PDF) from the original on December 22, 2009, retrieved April 23, 2010
- ^ T Dumitras; P Narasimhan (2009), No downtime for data conversions: Rethinking hot upgrades (PDF), archived from the original (PDF) on June 16, 2010, retrieved April 29, 2010
- ^ a b Bergsma, Mark, Wikimedia Architecture (PDF), archived (PDF) from the original on March 5, 2016, retrieved October 21, 2015
- ^ "Manual:What is". MediaWiki. Archived from the original on July 22, 2018. Retrieved May 30, 2010.
- ^ "Extension:StructuredDiscussions". MediaWiki. Archived from the original on December 27, 2018. Retrieved December 27, 2018.
- ^ "Extension:Wikilog". MediaWiki. November 27, 2009. Archived from the original on September 22, 2014. Retrieved May 30, 2010.
- ^ "Help:Signatures". MediaWiki. Archived from the original on November 15, 2008. Retrieved May 30, 2010.
- ^ N Augar; R Raitman; W Zhou (2004), Teaching and learning online with wikis, Beyond the comfort zone, pp. 95–104, CiteSeerX 10.1.1.133.1456
- ^ Cubric, Marija (2007), Analysis of the use of Wiki-based collaborations in enhancing student learning, University of Hertfordshire, p. 11, archived from the original on May 15, 2011, retrieved April 24, 2010
- ^ Albertsen, Johannes & Bouvin, Niels Olof (2008), User defined structural searches in mediawiki, Proceedings of the nineteenth ACM conference on Hypertext and hypermedia, ISBN 978-1-59593-985-2
- ^ "Extension:Semantic MediaWiki – WikiApiary". Archived from the original on October 26, 2018. Retrieved October 12, 2019.
- ^ T Dumitraş; P Narasimhan (2009), Toward upgrades-as-a-service in distributed systems, Proceedings of the 10th ACM/IFIP/USENIX International Conference on Middleware, pp. 1–2
- ^ "Security for developers". MediaWiki. Archived from the original on November 25, 2014. Retrieved May 30, 2010.
- ^ Perrin, Chad (April 30, 2008), Five security tips from MediaWiki's lead developer, Tech Republic[permanent dead link ]
- ^ "News". MediaWiki. Archived from the original on October 6, 2014. Retrieved May 30, 2010.
- ^ "Manual:Security". MediaWiki. March 22, 2010. Archived from the original on November 10, 2014. Retrieved May 30, 2010.
- ^ "Events". Mediawiki.org. Archived from the original on December 27, 2018. Retrieved December 27, 2018.
- ^ Books about MediaWiki Archived December 27, 2018, at the Wayback Machine, mediawiki.org
- ^ MediaWiki Administrator's Handbook. Wikibooks. Archived from the original on October 20, 2014. Retrieved October 20, 2014.
- ^ MediaWiki User Guide, Wikibooks, archived from the original on October 20, 2014, retrieved October 20, 2014
- ^ Bryant, Todd (2006), Social Software in Academia (PDF), Educause Quarterly, archived from the original (PDF) on December 22, 2009, retrieved April 23, 2010
- ^ Liang, M.; Chu, S.; Siu, F.; Zhou, A. (December 3–4, 2009), Comparing User Experiences in Using Twiki & Mediawiki to Facilitate Collaborative Learning (PDF), Proceedings of the 2009 International Conference on Knowledge Management, archived from the original (PDF) on May 14, 2011
- ^ Schulz, Judith (2009), Company-Wiki as a knowledge transfer instrument for reducing the shortage of skilled workers (PDF), Institute of Technology and Education, archived (PDF) from the original on March 4, 2016, retrieved April 25, 2010
- ^ Chu, S.; Kennedy, D.; Mak, M. (December 3–4, 2009), MediaWiki and Google Docs as online collaboration tools for group project co-construction (PDF), Proceedings of the 2009 International Conference on Knowledge Management, archived from the original (PDF) on May 14, 2011, retrieved April 23, 2010
- ^ a b Grecco, Claudio Henrique dos Santos; Augusto, Silas Cordeiro; Souza, Jaqueline Tavares Viana de; Carvalho, Paulo Victor Rodrigues; Davila, Adriana Loureiro (July 25, 2021). "A Method for the evaluation of knowledge management systems". Brazilian Journal of Radiation Sciences. 9 (2B). doi:10.15392/bjrs.v9i2B.1250. ISSN 2319-0612. S2CID 237733021. Archived from the original on November 12, 2021. Retrieved November 12, 2021.