MediaWiki

MediaWiki
MediaWiki
MediaWiki logo
Developer(s) Wikimedia Foundation,
Tim Starling (release manager)
Initial release 25 January 2002
Stable release 1.17  (June 22, 2011; 4 months ago (2011-06-22)) [+/−]
Preview release [+/−]
Written in PHP
Operating system Cross-platform
Size ~13.7 MB
Available in over 300 languages
Type Wiki
License GPLv2+
Website mediawiki.org

MediaWiki is a popular free web-based wiki software application. Developed by the Wikimedia Foundation, 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 websites. 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.[1] It has been deployed since then by many companies as a content management system for internal knowledge management.[2] Notably, Novell uses it to operate several of its high-traffic websites.[3][4][5] Thousands of websites use MediaWiki.[6] Some educators have also assigned students to use MediaWiki for collaborative group projects.[7]

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 hits per second.[8] Because Wikipedia is one of the world's largest websites, achieving scalability through multiple layers of caching and database replication has also been a major concern for developers. Wikipedia and other Wikimedia projects continue to define a large part of the requirement set for MediaWiki.

The software is highly customizable, with more than 700 configuration settings[9] and more than 1,800 extensions available for enabling various features to be added or changed.[10] More than 600 automated and semi-automated bots and other tools have been developed to assist in editing MediaWiki sites.[11] Software hacks are also available, although MediaWiki.org lightly discourages them and does not provide a central repository of them.[12]

Contents

License

MediaWiki is free and open source software and is distributed under the terms of the GNU General Public License version 2 or any later version while its documentation is released under the Creative Commons BY-SA 3.0 license and partly in the public domain.[13] 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.[14] MediaWiki development has generally favored the use of open-source media formats.[15]

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 Apache Subversion repository.[16] There is also a small group of paid programmers who primarily develop projects for the Wikimedia foundation. Wikimedia participates in the Google Summer of Code by facilitating the assignment of mentors to students wishing to work on MediaWiki core and extension projects.[17] As of June 2010, there were 143 developers who had committed changes to the MediaWiki core or extensions within the past year.[18] Major MediaWiki releases are generated approximately every three to eight months by taking snapshots of the development trunk, which is kept continuously in a runnable state;[19] minor releases, or point releases, are issued as needed to correct bugs (especially security problems).

MediaWiki has a public bug tracker, bugzilla.wikimedia.org, (alternatively known as Mediazilla), which uses Bugzilla. The site is also used for feature and enhancements requests.

History

When Wikipedia was first launched in January 2001, it ran on the existing wiki software UseModWiki, which was written in Perl and stored all wiki pages in text files. This software soon proved limiting, both in its functionality and its performance. In mid-2001, Magnus Manske, a developer and student at the University of Cologne, who was also a Wikipedia editor, began working on new software that would replace UseModWiki, specifically for use by Wikipedia. This software was written in PHP and stored all its information in a MySQL database. It launched on the English Wikipedia in January 2002, and gradually was placed 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.

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".[20] 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").[21]

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.[22] 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.[23] The double square brackets around the photo of a sunflower symbolize the syntax MediaWiki uses for creating hyperlinks to other wiki pages.

Later, Brion Vibber, the Chief Technical Officer of the Wikimedia Foundation,[24] took up the role of release manager and most active developer.[1][25]

Major milestones in MediaWiki's development have included the categorization system, added in 2004; parser functions, added in 2006; and flagged revisions, added in 2008.[26]

Sites using MediaWiki

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.

A number of alternative wiki encyclopedias to Wikipedia run on MediaWiki, including Citizendium, Conservapedia,[27] Metapedia[28] and Scholarpedia.

Wikia, the world's most popular wiki farm, runs on MediaWiki. Among the notable wikis that Wikia hosts are LyricWiki, Memory Alpha, Uncyclopedia, WoWWiki and Wookieepedia.

Other popular public wikis that run on MediaWiki include wikiHow, AboutUs.org, Mahalo.com and WikiLeaks.

MediaWiki is also used internally by a large number of companies, including Novell and Intel.[29]

Notable usages of MediaWiki within governments include Intellipedia, used by the United States Intelligence Community, and Diplopedia, used by the United States Department of State. United Nations agencies such as the U.N. 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."[30]

Key features

MediaWiki provides a rich core feature set and a mechanism to attach extensions to provide additional functionality. Due to the strong emphasis on multilingualism in the Wikimedia projects, internationalization and localization has received significant attention by developers. The user interface has been fully or partially translated into more than 300 languages,[31] and can be further customized by site administrators (the entire interface is editable through the wiki).

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.[32] Cloud hosting can enable a user to dispense with task of building a new server by hand.[33]

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,[34] adding a site logo,[35] and installing extensions, to be made by modifying configuration settings[36] contained in a file called LocalSettings.php.[37] 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,[38] and certain gadgets can be added by creating javascript pages in the MediaWiki namespace.[39] The MediaWiki community publishes a comprehensive installation guide.[40]

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[41] 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.[42] 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.[43][44] The following side-by-side comparison illustrates the differences between wiki markup and HTML:

MediaWiki syntax Equivalent HTML Rendered output
"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."
<p>"Take some more <a href="Tea" title="Tea">tea</a>," the March Hare said to Alice, very earnestly.</p>

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

<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>

"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

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

MediaWiki's page-editing tools have sometimes been described as somewhat challenging to learn.[45] 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."[46]

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.

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.[47]

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.

In Mediawiki 1.17 and up the classic editing toolbar is no longer included.

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.[48] An extensive Python bot library, Pywikipediabot,[49] and a popular semi-automated tool called AutoWikiBrowser, also interface with the API.[50] The API is accessed via URLs such as http://en.wikipedia.org/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, YAML, or JSON.[51] Client code has been developed to provide layers of abstraction to the API.[52]

Rich content

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

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

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

Because any WYSIWYG editor would have to know wikitext grammar, and no full grammar for wikitext exists, MediaWiki currently provides no native WYSIWYG support.[53] It does come with a customizable graphical toolbar for simplifying the process of learning the wiki syntax.[54] Various extensions exist for handling WYSIWYG editing to different degrees,[55] some using variations of the popular CKEditor. Wikia, a popular wiki farm, uses a WYSIWYG extension that, being designed to be a modal editor, allows the user to flip back and forth between WYSIWYG and WikiText and Preview modes in a single editing session.[citation needed] MediaWiki also has an interface to allow the transparent use of external editors for uploaded files and wiki pages.[56]

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 malware link")[57] added by customizable abuse filters and other extensions to aid in combating unhelpful edits.[58] On more active wikis, so many edits occur that it is hard to track Recent Changes manually. Anti-vandal software, including user-assisted tools[59] and fully automated bots,[60] are 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.[61]

Another important tool is watchlisting. Each logged-in user has a watchlist to which he 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.[62] 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.

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.[63]

Navigation

Navigation through the wiki is largely through internal 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.

The red/blue distinction alerts :

  • readers lacking an interest in creating new articles of broken links that it would be fruitless for them to click upon
  • editors interested in creating new articles of what topics their efforts might be usefully applied to.

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.[64] 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.

Content organization

Page tabs and associated pages

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.

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 or not 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.[65]

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. Carl Challborn & Teresa Reimann note 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."[66]

Namespaces

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

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.[69]

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.[70] The use of categorization to organize content has been described as a combination of :

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

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

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

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,[73] 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.

Templates

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

Templates are text blocks that can be dynamically loaded inside another page whenever that page is requested. The template is a special link in double curly brackets (for example "{{Disputed|date=October 2008}}"), which calls the template (in this case located at Template:Disputed) to load in place of the template. Templates support parameters, so that parts of the text can be substituted for each specific use case. A related method, called template substitution (called by adding subst: at the beginning of a template link) inserts (like a copy and paste operation) the contents of the template into the target page, instead of loading the template contents dynamically whenever the page is loaded. This can lead to inconsistency when using templates, but may be useful in certain cases, and in most cases requires 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 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,[74] giving them awards for outstanding contributions,[75][76] warning them when their behavior is considered inappropriate,[77] notifying them when they are blocked from editing,[78] 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.[79] Some groups that are enabled by default are bureaucrats and sysops. Bureaucrats have 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.[80]

When a page consists only of useless content, there are several ways to remove said 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.[81] 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[82] 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.[83] It is also possible, using certain extensions, to remove content from being viewed through any of the normal channels on the wiki,[84] or even to completely delete revisions from the database.[85]

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 authorisation 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.[86] Here, wiki engines like TWiki, MoinMoin and WikkaWiki 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.[87] 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.[88] New tags can be created to process data with opening and closing tags (<newtag>...</newtag>).[89] Parser functions can be used to create a new command ({{#if:...|...|...}}).[90] 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.[91] Skins allow users to customize the look and feel of MediaWiki.[92] A minor extension point allows the use of Amazon S3 to host image files.[93]

Extensions

A form to edit a page, using the Semantic Forms extension

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 Subversion server where many extensions are hosted, and a directory of them can be found on the MediaWiki website.

Some other sites also known for development of — or support for — extensions are MediaWiki.org, which maintains an extension matrix;[10] and Google Code.[94]

Some MediaWiki developers, especially new ones, are granted access to commit changes to extensions only, rather than the entire codebase.

MediaWiki code review is itself facilitated through a MediaWiki extension.[95]

Since version 1.16, MediaWiki also used the jQuery library.[96]

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 statements.[97] 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}}.[98] Schindler recounts the history of the ParserFunctions extension as follows:[26]

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.

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,[99] clamored for it to be enabled on their projects.[100] Much of its functionality was eventually integrated into the ParserFunctions extension,[101] 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."[102]

For footnotes and academic-related display

Another very popular extension is a citation extension that enable footnotes to be added to pages using inline references.[103] This extension has, however, been criticized for being difficult to use and requiring the user to memorize complex syntax. A tool called ProveIt was proposed as a replacement.[104] A gadget called RefToolbar has also been created to make it easier to create citations using common templates.[105] MediaWiki has some extensions that are well-suited for academia, such as mathematics extensions[106] and an extension that allows molecules to be rendered in 3D.[107]

Integration

A generic Widgets framework has been created that allows MediaWiki to integrate with virtually anything. Other examples of extensions that could improve a wiki are category suggestion extensions[108] and extensions for inclusion of Flash Videos,[109] YouTube videos,[110] and RSS feeds.[111] An extension to integrate with Facebook is forthcoming.[112] 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.[113] One extension, Viskimap, makes use of graphic organizers to visualize the relationships between content pages, so that students can easily get an understanding of the content elements and their relations, as they navigate through the wiki pages.[114]

Combating linkspam

There are many spambots that search the Internet 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.[115] 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.[116] Anti-spam extensions have been developed to combat the problem by introducing CAPTCHAs,[117] blacklisting certain URLs,[118] and allowing bulk deletion of pages recently added by a particular user.[119]

Searches and queries

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)[120] and Sphinx.[121]

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.[122][123] Example of extensions facilitating such analyses include Semantic MediaWiki,[124][125] which provides the ability to add structured and searchable relations and attributes to wiki pages, WikiTrust, which implements a system for checking the author, origin, and reliability of wiki text, and DynaTable.[126]

An extension called Woogle[127] attempts to add enterprise search engine functionality to MediaWiki.[128]

Database

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.[129] A MediaWiki database contains several dozen tables, including a page table that contains page titles, page ids, and other metadata;[130] 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.[131][132]

In a 4.5 year period, the MediaWiki database had 170 schema versions.[133] Possibly the largest schema change was done in 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.[134]

Performance and storage

Because it is used to run one of the highest-traffic sites on the Web, Wikipedia, MediaWiki performance and scalability have been highly optimized.[25] 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. According to Wikimedia Networking Coordinator Mark Bergsma, MediaWiki developers have attempted to optimize the software by not doing anything stupid, 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.[135]

MediaWiki code is designed to allow for data to be written to a master database and read from slave databases, although the master can be used for some read operations if the slaves 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.[135]

Limitations

The parser serves as the de facto standard for the MediaWiki syntax as no formal syntax has been defined. Since the syntax has no formal definition (for example, in Extended Backus–Naur form (EBNF)) there is an inherent difficulty in creating a WYSIWYG editor or complete porting of the syntax to another language. Being designed for very high-traffic websites such as Wikipedia, MediaWiki may not be so suitable for smaller sites, where disk space or memory are bigger restrictions than bandwidth.

MediaWiki is not designed to be a suitable replacement for dedicated online forum or blogging software,[136] although extensions do exist to allow the creation of forum threads[137] and to implement some bliki functionality.[138] It is not uncommon for new MediaWiki users to make certain mistakes, such as forgetting to sign posts with four tildes (~~~~),[139] or manually entering a plaintext signature,[140] 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'."[141]

MediaWiki has little support for creation of dynamically assembled documents, or pages that monitor other pages. While it is possible to create new "special" pages, it requires coding an extension in PHP and thus administrative rights to the server running MediaWiki. Work was done in 2008 on a structural query language (MediaWiki Query Language — MWQL) to allow users to add dynamically evaluated searches to ordinary wiki-pages.[142] Although this was recognized as being potentially expensive, solutions such as extending the caching framework to allow parts of pages to be cached, and performing searches on dedicated search machines replicating the main databases, were recommended.[143] The Semantic MediaWiki extension provides these features, but with limitations of its own, particularly in nested templates which are used extensively on Wikipedia.

Upgrading MediaWiki has also historically been a bit troublesome; only 5 out of the 55 possible upgrades among MediaWiki versions V1.1–V1.11 can be performed online, through a rolling upgrade.[144]

Security

MediaWiki developers have enacted security standards, both for core code and extensions.[145] 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.[146] As of April 2010, approximately 50 of MediaWiki's extensions had unresolved security issues.[147] Many security issues have had to be patched after a MediaWiki version release,[148] 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 listserv and installing security updates that are announced.[149] PHPIDS Extension for Mediawiki developed to identify intrusions [150]

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.[151]

Support

To support MediaWiki users, there are :

Comparison to other online collaboration software

Due to MediaWiki's use on Wikipedia, most 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.[155] However, in one assessment, Confluence was deemed to be a superior product due to its very usable API and ability to better support multiple wikis.[107] Wiki providers Socialtext and JotSpot have/had project management features that MediaWiki lacks.[156]

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”.[157] TWiki and MediaWiki both have flexible plug-in architecture.[158] 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.[159]

Version history

The first version of MediaWiki, 1.1, was released in December 2003. The current stable version of MediaWiki is 1.17, while the most recent version is 1.19.

See also

References

  1. ^ a b "MediaWiki history". MediaWiki website. http://www.mediawiki.org/wiki/MediaWiki_history. Retrieved 2010-06-11. 
  2. ^ "Sites using MediaWiki/corporate". MediaWiki. http://www.mediawiki.org/wiki/Sites_using_MediaWiki/corporate. Retrieved 2010-05-30. 
  3. ^ "Novell.com". http://developer.novell.com/. 
  4. ^ "Openuse.org". http://en.opensuse.org/. 
  5. ^ "IFolder.com". http://www.ifolder.com/. 
  6. ^ a b Barrett, Daniel J. (October 2008). Wikipedia and Beyond. O'Reilly Media. ISBN 978-0-596-51979-7. http://oreilly.com/catalog/9780596519681. 
  7. ^ Schacht, Paul, "The Collaborative Writing Project", Using Wiki in Education, https://wiki.umontreal.ca/download/attachments/3693/UsingWikiInEducation_StewartMader.pdf 
  8. ^ Česky. "Wikipedia:Statistics – Wikipedia, the free encyclopedia". En.wikipedia.org. http://en.wikipedia.org/wiki/Wikipedia:Statistics. Retrieved 2010-05-30. 
  9. ^ "Category:MediaWiki configuration settings". MediaWiki. 2011-02-07. http://www.mediawiki.org/wiki/Category:MediaWiki_configuration_settings. Retrieved 2011-02-07. 
  10. ^ a b "Extension Matrix". MediaWiki. http://www.mediawiki.org/wiki/Extension_Matrix. Retrieved 2011-02-07. 
  11. ^ "Wikipedia:Bots – Wikipedia, the free encyclopedia". en.wikipedia.org. 2011-02-07. http://en.wikipedia.org/wiki/Wikipedia:Bots. Retrieved 2011-02-07. 
  12. ^ "Hacks". MediaWiki. http://www.mediawiki.org/wiki/Hacks. Retrieved 2010-05-30. 
  13. ^ "MediaWiki.org Project:Copyrights". http://www.mediawiki.org/wiki/Project:Copyrights. Retrieved 2009-08-17. 
  14. ^ "Project:PD help". MediaWiki. http://www.mediawiki.org/wiki/Project:PD_help. Retrieved 2010-05-30. 
  15. ^ Rafe Needleman (November 19, 2008), Wikipedia gears up for flood of video and photo files, C-Net, http://news.cnet.com/8301-17939_109-10103177-2.html 
  16. ^ "Development policy". MediaWiki. 2010-04-19. http://www.mediawiki.org/wiki/Development_policy. Retrieved 2010-05-30. 
  17. ^ "Summer of Code". MediaWiki. http://www.mediawiki.org/wiki/Summer_of_Code. Retrieved 2010-05-30. 
  18. ^ "Code Review". MediaWiki. http://www.mediawiki.org/wiki/Special:Code/MediaWiki/author. Retrieved 2010-10-09. 
  19. ^ "Roadmap". MediaWiki. 2010-05-21. http://www.mediawiki.org/wiki/MediaWiki_roadmap. Retrieved 2010-05-30. 
  20. ^ Mayer, Daniel. "Phase IV, Wikibooks.org/.com and WikimediaFoundation.org/.com (was Wikis and uniformity)". Wikipedia-L mailing list archives. http://lists.wikimedia.org/pipermail/wikipedia-l/2003-July/011021.html. 
  21. ^ "Wikipmediawiki". MediaWiki. 2010-05-25. http://www.mediawiki.org/wiki/Wikipmediawiki. Retrieved 2010-05-30. 
  22. ^ Wikimedia contributors (10 January 2007). "International logo contest/results". Meta-wiki. Wikimedia Foundation. http://meta.wikimedia.org/w/index.php?title=International_logo_contest/Results&oldid=509000. Retrieved 2007-03-14. 
  23. ^ Wikimedia contributors (17 January 2007). "Historical/Logo history". Meta-wiki. Wikimedia Foundation. http://meta.wikimedia.org/w/index.php?title=Meta:Historical/Logo_history&oldid=513925. Retrieved 2007-03-14. 
  24. ^ David Weinberger (2007). Everything Is Miscellaneous: The Power of the New Digital Disorder. Times Books. p. 99. ISBN 0805080430. 
  25. ^ a b "Wikipedia and MediaWiki". Presentation MediaWiki development (video). 28 April 2006. http://www.youtube.com/watch?v=DWef69ItVrU. Retrieved 2009-09-23. 
  26. ^ a b M Schindler, D Vrandecic (2009), Introducing new features to Wikipedia, Proceedings of WebSci, http://lyhana8.homelinux.org/fac/ICPS%20-%20S8/Maiw/Introducing%20new%20features%20to%20Wikipedia%20-%20Case%20studies%20for%20Web%20science.pdf 
  27. ^ "Examples of Bias in Wikipedia". Conservapedia. http://www.conservapedia.com/Examples_of_Bias_in_Wikipedia. Retrieved 2010-05-30. 
  28. ^ http://en.metapedia.org/wiki/Wikipedia
  29. ^ MediaWiki testimonials, mediawiki.org
  30. ^ A. Maron, M. Maron (2007). "A stealth transformation: introducing wikis to the UN". Knowledge Management for Development Journal. http://journal.km4dev.org/journal/index.php/km4dj/article/view/99/159. Retrieved 9 October 2010. 
  31. ^ See also: Translation statistics and Multilingual MediaWiki.
  32. ^ Lerner, Reuven M. (February 23, 2006), Installing and Customizing MediaWiki, Linux Journal, http://www.linuxjournal.com/article/8754?page=0,1 
  33. ^ 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, http://portal.acm.org/citation.cfm?id=1723069 
  34. ^ "Manual:$wgEnableUploads". MediaWiki. http://www.mediawiki.org/wiki/Manual:$wgEnableUploads. Retrieved 2010-05-30. 
  35. ^ "Manual:$wgLogo". MediaWiki. 2009-12-12. http://www.mediawiki.org/wiki/Manual:$wgLogo. Retrieved 2010-05-30. 
  36. ^ Manual:Configuration settings
  37. ^ "Manual:LocalSettings.php". MediaWiki. 2007-03-29. http://www.mediawiki.org/wiki/LocalSettings.php. Retrieved 2010-05-30. 
  38. ^ "Extension:AbuseFilter". MediaWiki. http://www.mediawiki.org/wiki/Extension:AbuseFilter. Retrieved 2010-05-30. 
  39. ^ a b "Cacycle". "wikEd". http://en.wikipedia.org/wiki/User:Cacycle/wikEd. 
  40. ^ "Manual:Installation guide". MediaWiki. http://www.mediawiki.org/wiki/Manual:Installation_guide. Retrieved 2010-05-30. 
  41. ^ "Manual:Extending wiki markup". MediaWiki. http://www.mediawiki.org/wiki/Manual:Extending_wiki_markup. Retrieved 2010-05-30. 
  42. ^ "HTML to Wiki Converter – tables [online]". Uni-bonn.de. 2008-03-29. http://www.uni-bonn.de/~manfear/html2wiki-tables.php. Retrieved 2010-05-30. 
  43. ^ "Markup spec". MediaWiki. http://www.mediawiki.org/wiki/Markup_spec. Retrieved 2010-05-30. 
  44. ^ "Extricating Meaning from Wikimedia Article Archives". http://www.cs.rmit.edu.au/adcs2010/proceedings/pdf/paper%204.pdf. Retrieved 2011-01-02. 
  45. ^ Jakes, David (August 15, 2006), Wild about Wikis, Tech & Learning, http://www.techlearning.com/article/6164 
  46. ^ Brian Foley & Tae Chang (2008), Wiki as a professional development tool, Technology and Teacher Education, http://www.csun.edu/~bfoley/AERA_Wiki.pdf 
  47. ^ "Extension:EditConflict". MediaWiki. http://www.mediawiki.org/wiki/Extension:EditConflict. Retrieved 2010-05-30. 
  48. ^ "API". MediaWiki. 2010-05-17. http://www.mediawiki.org/wiki/API. Retrieved 2010-05-30. 
  49. ^ "Pywikipediabot – Meta". Meta.wikimedia.org. http://meta.wikimedia.org/wiki/Pywikipediabot. Retrieved 2010-05-30. 
  50. ^ Česky. "Wikipedia:AutoWikiBrowser – Wikipedia, the free encyclopedia". En.wikipedia.org. http://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser. Retrieved 2010-05-30. 
  51. ^ Bartolo, Laura M.; Lowe, Cathy S.; Songar, Poonam; Tandy, Robert J. (20-May-2009), Facilitating Wiki/Repository Communication with Metadata, Georgia Institute of Technology, http://smartech.gatech.edu/dspace/handle/1853/28426 
  52. ^ "API:Client code". MediaWiki. 2010-05-24. http://www.mediawiki.org/wiki/API:Client_code. Retrieved 2010-05-30. 
  53. ^ "WYSIWYG editor". MediaWiki. http://www.mediawiki.org/wiki/WYSIWYG. Retrieved 2010-05-30. 
  54. ^ "Manual:FAQ". MediaWiki. 2010-05-21. http://www.mediawiki.org/wiki/Customizing_edit_toolbar. Retrieved 2010-05-30. 
  55. ^ "Category:WYSIWYG extensions". MediaWiki. 2008-04-10. http://www.mediawiki.org/wiki/Category:WYSIWYG_extensions. Retrieved 2010-05-30. 
  56. ^ "Manual:External editors". MediaWiki. http://www.mediawiki.org/wiki/Manual:External_editors. Retrieved 2010-05-30. 
  57. ^ "Tags – Wikipedia, the free encyclopedia". En.wikipedia.org. http://en.wikipedia.org/wiki/Special:Tags. Retrieved 2010-05-30. 
  58. ^ "Manual:Tags". MediaWiki. 2009-08-31. http://www.mediawiki.org/wiki/Manual:Tags. Retrieved 2010-05-30. 
  59. ^ "Wikipedia:Huggle – Wikipedia, the free encyclopedia". En.wikipedia.org. http://en.wikipedia.org/wiki/Wikipedia:Huggle. Retrieved 2010-05-30. 
  60. ^ "User:ClueBot – Wikipedia, the free encyclopedia". En.wikipedia.org. http://en.wikipedia.org/wiki/User:ClueBot. Retrieved 2010-05-30. 
  61. ^ "IRC/Channels – Meta". Meta.wikimedia.org. http://meta.wikimedia.org/wiki/IRC/Channels#Raw_feeds. Retrieved 2010-05-30. 
  62. ^ "Manual:Watchlist". MediaWiki. 2009-11-24. http://www.mediawiki.org/wiki/Manual:Watchlist. Retrieved 2010-05-30. 
  63. ^ Kevin Yager (16 March 2006), Wiki ware could harness the Internet for science, Nature, http://www.nature.com/nature/journal/v440/n7082/full/440278a.html 
  64. ^ "Manual:Interwiki". MediaWiki. http://www.mediawiki.org/wiki/Manual:Interwiki. Retrieved 2010-05-30. 
  65. ^ "Help:Navigation". MediaWiki. 2010-05-21. http://www.mediawiki.org/wiki/Help:Navigation#Page_Tabs. Retrieved 2010-05-30. 
  66. ^ Carl Challborn & Teresa Reimann (December 2004), Wiki products: a comparison, Athabasca University, http://cde.athabascau.ca/softeval/reports/R470412.pdf 
  67. ^ Newman, Aaron, Adam Steinberg, and Jeremy Thomas (2008). Enterprise 2. 0 Implementation. McGraw-Hill Professional. p. 185. ISBN 9780071591607. 
  68. ^ Malcolm, Jeremy (2008). Multi-Stakeholder Governance and the Internet Governance Forum. Terminus Press. pp. 188, 280. ISBN 9780980508406. 
  69. ^ Ebersbach, Anja, Markus Glaser, Richard Heigl, and Gunter Dueck (2006). Wiki. Springer. pp. 55, 80–82, 109, 120–121, 156. ISBN 9783540259954. 
  70. ^ "Help:Categories". MediaWiki. http://www.mediawiki.org/wiki/Help:Categories. Retrieved 2010-05-30. 
  71. ^ Jakob Voss (27 Apr 2006). "Collaborative thesaurus tagging the Wikipedia way". arXiv:cs.IR/0604036. 
  72. ^ "Lupin". "Wikipedia:Tools/Navigation popups". http://en.wikipedia.org/wiki/Wikipedia:Tools/Navigation_popups. 
  73. ^ "Extension:Gadgets". MediaWiki. 2010-03-30. http://www.mediawiki.org/wiki/Extension:Gadgets. Retrieved 2010-05-30. 
  74. ^ Česky (2010-05-16). "Template:Welcome – Wikipedia, the free encyclopedia". En.wikipedia.org. http://en.wikipedia.org/wiki/Template:Welcome. Retrieved 2010-05-30. 
  75. ^ T Kriplean, I Beschastnikh, et al (2008), Articulations of wikiwork: uncovering valued work in wikipedia through barnstars, Proceedings of the ACM, http://portal.acm.org/citation.cfm?id=1460563.1460573 
  76. ^ Česky. "Wikipedia:Barnstars – Wikipedia, the free encyclopedia". En.wikipedia.org. http://en.wikipedia.org/wiki/Wikipedia:Barnstars. Retrieved 2010-05-30. 
  77. ^ Česky. "Template:Test – Wikipedia, the free encyclopedia". En.wikipedia.org. http://en.wikipedia.org/wiki/Template:Test. Retrieved 2010-05-30. 
  78. ^ "Template:Test5 – Wikipedia, the free encyclopedia". En.wikipedia.org. 2008-06-19. http://en.wikipedia.org/wiki/Template:Test5. Retrieved 2010-05-30. 
  79. ^ "Manual:User rights management". MediaWiki. http://www.mediawiki.org/wiki/Manual:User_rights_management#Automatically_promote_users. Retrieved 2010-05-30. 
  80. ^ H Zielke, W Boemke, M Kastrup, C Melzer, Operating Procedures In Clinical Practice, Royal College of Anaesthetists, http://www.scata.org.uk/abstracts/2007_london/DelegateBookletSCATALondon2007.pdf 
  81. ^ "Extension:PureWikiDeletion". MediaWiki. 2010-05-26. http://www.mediawiki.org/wiki/Extension:PureWikiDeletion. Retrieved 2010-05-30. 
  82. ^ "Wikipedia:Village pump (proposals)/Persistent proposals/Straw poll for view-deleted – Wikipedia, the free encyclopedia". En.wikipedia.org. http://en.wikipedia.org/w/index.php?title=Wikipedia%3AVillage_pump_%28proposals%29%2FPersistent_proposals%2FStraw_poll_for_view-deleted&diff=242245446&oldid=242205474. Retrieved 2010-05-30. 
  83. ^ "RevisionDelete". MediaWiki. http://www.mediawiki.org/wiki/RevisionDelete. Retrieved 2010-05-30. 
  84. ^ "Extension:Oversight". MediaWiki. 2010-05-15. http://www.mediawiki.org/wiki/Extension:Oversight. Retrieved 2010-05-30. 
  85. ^ "Extension:DeletePagePermanently". MediaWiki. http://www.mediawiki.org/wiki/Extension:DeletePagePermanently. Retrieved 2010-05-30. 
  86. ^ "Security issues with authorization extensions". MediaWiki. http://www.mediawiki.org/wiki/Security_issues_with_authorization_extensions. Retrieved 2010-05-30. 
  87. ^ "Manual:Hooks/ArticleSaveComplete". MediaWiki. 2010-05-26. http://www.mediawiki.org/wiki/Manual:Hooks/ArticleSaveComplete. Retrieved 2010-05-30. 
  88. ^ "Extension:Recent Activity Notify". MediaWiki. http://www.mediawiki.org/wiki/Extension:Recent_Activity_Notify. Retrieved 2010-05-30. 
  89. ^ "Manual:Tag extensions". MediaWiki. 2010-05-21. http://www.mediawiki.org/wiki/Manual:Tag_extensions. Retrieved 2010-05-30. 
  90. ^ "Manual:Parser functions". MediaWiki. 2010-03-22. http://www.mediawiki.org/wiki/Manual:Parser_functions. Retrieved 2010-05-30. 
  91. ^ "Manual:Special pages". MediaWiki. http://www.mediawiki.org/wiki/Manual:Special_pages. Retrieved 2010-05-30. 
  92. ^ "Manual:Skins". MediaWiki. 2010-05-14. http://www.mediawiki.org/wiki/Skin. Retrieved 2010-05-30. 
  93. ^ "Manual:Integration with S3". MediaWiki. 2010-03-22. http://www.mediawiki.org/wiki/Manual:Integration_with_S3. Retrieved 2010-05-30. 
  94. ^ MediaWiki Extensions, Google Code
  95. ^ "Extension:CodeReview". MediaWiki. http://www.mediawiki.org/wiki/Extension:CodeReview. Retrieved 2010-05-30. 
  96. ^ jQuery on MediaWiki
  97. ^ "Extension:ParserFunctions". MediaWiki. 2009-12-25. http://www.mediawiki.org/wiki/Extension:ParserFunctions. Retrieved 2010-05-30. 
  98. ^ "Wikipedia:Miscellany for deletion/Template:Qif – Wikipedia, the free encyclopedia". En.wikipedia.org. http://en.wikipedia.org/wiki/Wikipedia:Miscellany_for_deletion/Template:Qif. Retrieved 2010-05-30. 
  99. ^ "Category:String manipulation templates – Wikipedia, the free encyclopedia". En.wikipedia.org. 2010-05-15. http://en.wikipedia.org/wiki/Category:String_manipulation_templates. Retrieved 2010-05-30. 
  100. ^ "Bug 6455 - Enable StringFunctions on WMF wikis". bugzilla.wikimedia.org. https://bugzilla.wikimedia.org/show_bug.cgi?id=6455. Retrieved 9 October 2010. 
  101. ^ "Extension:StringFunctions". MediaWiki. http://www.mediawiki.org/wiki/Extension:StringFunctions. Retrieved 2010-05-30. 
  102. ^ "r51497 – Code Review". MediaWiki. http://www.mediawiki.org/wiki/Special:Code/MediaWiki/51497. Retrieved 2010-05-30. 
  103. ^ "Extension:Cite". MediaWiki. 2010-05-03. http://www.mediawiki.org/wiki/Extension:Cite. Retrieved 2010-05-30. 
  104. ^ Luther, Kurt; Flaschen, Matthew; Forte, Andrea; Jordan, Christopher; Bruckman, Amy (2009), ProveIt: a new tool for supporting citation in MediaWiki, ACM, http://qualr.kurtluther.com/pdf/a43-luther.pdf 
  105. ^ "Wikipedia:RefToolbar – Wikipedia, the free encyclopedia". En.wikipedia.org. 2010-05-13. http://en.wikipedia.org/wiki/Wikipedia:RefToolbar. Retrieved 2010-05-30. 
  106. ^ "Category:Math extensions". MediaWiki. 2009-12-26. http://www.mediawiki.org/wiki/Category:Math_extensions. Retrieved 2010-05-30. 
  107. ^ a b Marieke Guy (January 2007), Wikido: Exploiting the Potential of Wikis, Ariadne, http://www.ariadne.ac.uk/issue50/wikido-rpt/ 
  108. ^ "Extension:CategorySuggest". MediaWiki. http://www.mediawiki.org/wiki/Extension:CategorySuggest. Retrieved 2010-05-30. 
  109. ^ "Category:Flash Video extensions". MediaWiki. http://www.mediawiki.org/wiki/Category:Flash_Video_extensions. Retrieved 2010-05-30. 
  110. ^ "Category:YouTube extensions". MediaWiki. 2008-09-16. http://www.mediawiki.org/wiki/Category:YouTube_extensions. Retrieved 2010-05-30. 
  111. ^ "Category:RSS extensions". MediaWiki. http://www.mediawiki.org/wiki/Category:RSS_extensions. Retrieved 2010-05-30. 
  112. ^ "Extension:FBConnect". MediaWiki. http://www.mediawiki.org/wiki/Extension:FBConnect. Retrieved 2010-05-30. 
  113. ^ M Dale, A Stern, M Deckert, W Sack, 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, http://portal.acm.org/citation.cfm?id=1556176.1556232 
  114. ^ Lecture Notes in Business Information Processing, 3, Enterprise Information Systems, February 8, 2008, http://www.springerlink.com/content/r4w2120g71353206/ 
  115. ^ "Wiki spam – Meta". Meta.wikimedia.org. http://meta.wikimedia.org/wiki/Wiki_Spam. Retrieved 2010-05-30. 
  116. ^ Goldman, Eric, Wikipedia's Labor Squeeze and its Consequences, 8, Journal on Telecommunications and High Technology Law 
  117. ^ "Extension:ConfirmEdit". MediaWiki. 2010-05-05. http://www.mediawiki.org/wiki/Extension:ConfirmEdit. Retrieved 2010-05-30. 
  118. ^ "Extension:SpamBlacklist". MediaWiki. 2010-03-24. http://www.mediawiki.org/wiki/Extension:SpamBlacklist. Retrieved 2010-05-30. 
  119. ^ "Extension:Nuke". MediaWiki. 2010-05-19. http://www.mediawiki.org/wiki/Extension:Nuke. Retrieved 2010-05-30. 
  120. ^ Lucene-search MediaWiki extension, mediawiki.org
  121. ^ SphinxSearch MediaWiki extension, mediawiki.org
  122. ^ Masanori Arita and Kazuhiro Suwa (September 17, 2008), Search extension transforms Wiki into a relational system: A case for flavonoid metabolite database, BioData Mining, https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2556319/ 
  123. ^ Finn Årup Nielsen (August 11, 2009), Lost in localization: A solution with neuroinformatics 2.0?, 48, NeuroImage 
  124. ^ Eric Ras, Jörg Rech, Sebastian Weber (1 August 2008), Collaborative Authoring of Learning Elements for Adaptive Learning Spaces, Fifth International Conference on Adaptive Hypermedia and Adaptive Web-Based Systems, http://ah2008.l3s.uni-hannover.de/files/resourcesmodule/@random4875cb58f07c9/1215679368__Proc_AH2008_WS3_Authoring_of_Adaptive_and_Adaptable_Hypermedia.pdf#page=67 
  125. ^ Hartung, Michael et al. "A Platform for Collaborative Management of Semantic Grid Metadata". Intelligent distributed computing, systems and applications. p. 123. 
  126. ^ Arnold, Carrie (2009), DynaTable: a Wiki extension for structured data, ISBN 978-1-60558-730-1 
  127. ^ "Extension:Woogle4MediaWiki". MediaWiki. http://www.mediawiki.org/wiki/Extension:Woogle4MediaWiki. Retrieved 2010-05-30. 
  128. ^ Hans-Jörg Happel (2009), Woogle – On Why and How to Marry Wikis with Enterprise Search, http://subs.emis.de/LNI/Proceedings/Proceedings145/gi-proc-145-015.pdf 
  129. ^ "Manual:Database access". MediaWiki. http://www.mediawiki.org/wiki/Manual:Database_access. Retrieved 2010-05-30. 
  130. ^ "Manual:Page table". MediaWiki. 2010-05-15. http://www.mediawiki.org/wiki/Manual:Page_table. Retrieved 2010-05-30. 
  131. ^ "Manual:Revision table". MediaWiki. http://www.mediawiki.org/wiki/Manual:Revision_table. Retrieved 2010-05-30. 
  132. ^ Ortega, Felipe; González-Barahona, Jesus M.; Robles, Gregorio (2007), The Top-Ten Wikipedias: A Quantitative Analysis Using WikiXRay, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.1424&rep=rep1&type=pdf 
  133. ^ Curino, Carlo A.; Tanca, Letizia; Zaniolo, Carlo (2008), Information Systems Integration and Evolution: Ontologies at Rescue, Workshop on Semantic, http://yellowstone.cs.ucla.edu/schema-evolution/documents/curino-STSM08-CR.pdf 
  134. ^ T Dumitras, P Narasimhan (2009), No downtime for data conversions: Rethinking hot upgrades, http://www.pdl.cmu.edu/PDL-FTP/stray/CMU-PDL-09-106.pdf 
  135. ^ a b Bergsma, Mark, Wikimedia Architecture, http://www.nedworks.org/~mark/presentations/kennisnet/Wikimedia%20architecture%20(kennisnet).pdf 
  136. ^ "Manual:What is". MediaWiki. http://www.mediawiki.org/wiki/Manual:What_is_MediaWiki%3F. Retrieved 2010-05-30. 
  137. ^ "Extension:LiquidThreads". MediaWiki. 2010-05-23. http://www.mediawiki.org/wiki/Extension:LiquidThreads. Retrieved 2010-05-30. 
  138. ^ "Extension:Wikilog". MediaWiki. 2009-11-27. http://www.mediawiki.org/wiki/Extension:Wikilog. Retrieved 2010-05-30. 
  139. ^ "Help:Signatures". MediaWiki. http://www.mediawiki.org/wiki/Help:Signatures. Retrieved 2010-05-30. 
  140. ^ N Augar, R Raitman, W Zhou (2004), Teaching and learning online with wikis, Beyond the comfort zone, http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.133.1456&rep=rep1&type=pdf 
  141. ^ Cubric, Marija (2007), Analysis of the use of Wiki-based collaborations in enhancing student learning, University of Hertfordshire, https://uhra.herts.ac.uk/dspace/handle/2299/3672 
  142. ^ "MediaWiki Query Language | Get MediaWiki Query Language at". Sourceforge.net. http://sourceforge.net/projects/mwql/. Retrieved 2010-05-30. 
  143. ^ Albertsen, Johannes and 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, http://portal.acm.org/citation.cfm?id=1379099 
  144. ^ T Dumitraş, P Narasimhan (2009), Toward upgrades-as-a-service in distributed systems, Proceedings of the 10th ACM/IFIP/USENIX International Conference on Middleware, http://portal.acm.org/citation.cfm?id=1657019 
  145. ^ "Security for developers". MediaWiki. http://www.mediawiki.org/wiki/Security_for_developers. Retrieved 2010-05-30. 
  146. ^ Perrin, Chad (April 30, 2008), Five security tips from MediaWiki's lead developer, Tech Republic, http://blogs.techrepublic.com.com/security/?p=451 
  147. ^ "Category:Extensions by security risk". MediaWiki. http://www.mediawiki.org/wiki/Category:Extensions_by_security_risk. Retrieved 2010-05-30. 
  148. ^ "News". MediaWiki. http://www.mediawiki.org/wiki/News. Retrieved 2010-05-30. 
  149. ^ "Manual:Security". MediaWiki. 2010-03-22. http://www.mediawiki.org/wiki/Manual:Security. Retrieved 2010-05-30. 
  150. ^ "MediaWiki Extension". http://www.mediawiki.org/wiki/Extension:PhpIds. Retrieved 2011-02-20. 
  151. ^ MediaWiki developer meetings
  152. ^ Rahman, Mizanur (2007). MediaWiki Administrators' Tutorial Guide: Install, manage, and customize your MediaWiki installation. Packt Publishing. ISBN 1904811590. http://portal.acm.org/citation.cfm?id=1526285. 
  153. ^ MediaWiki Administrator's Handbook. Wikibooks. http://en.wikibooks.org/wiki/MediaWiki_Administrator%27s_Handbook. 
  154. ^ MediaWiki User Guide, Wikibooks, http://en.wikibooks.org/wiki/MediaWiki_User_Guide 
  155. ^ Bryant, Todd (2006), Social Software in Academia, Educause Quarterly, http://net.educause.edu/ir/library/pdf/EQM0627.pdf 
  156. ^ Bean, L., & Hott, D. D. (2005, July/August), Wiki: A speedy new tool to manage projects, Journal of Corporate Accounting & Finance, pp. 3–8 
  157. ^ Liang, M., Chu, S., Siu, F., & Zhou, A. (Dec. 3–4, 2009), Comparing User Experiences in Using Twiki & Mediawiki to Facilitate Collaborative Learning, Proceedings of the 2009 International Conference on Knowledge Management, http://www.edu.hku.hk/samchu/docs/2009_user_experiences.pdf 
  158. ^ Schulz, Judith (2009), Company-Wiki as a knowledge transfer instrument for reducing the shortage of skilled workers, Institute of Technology and Education, http://elib.suub.uni-bremen.de/ip/docs/00010611.pdf 
  159. ^ Chu, S., Kennedy, D., & Mak, M. (December 3–4, 2009), MediaWiki and Google Docs as online collaboration tools for group project co-construction, Proceedings of the 2009 International Conference on Knowledge Management, http://www.edu.hku.hk/samchu/docs/2009_mediawiki.pdf 

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Mediawiki —  Ne doit pas être confondu avec Wikimedia. MediaWiki …   Wikipédia en Français

  • MédiaWiki — MediaWiki  Ne doit pas être confondu avec Wikimedia. MediaWiki …   Wikipédia en Français

  • Médiawiki — MediaWiki  Ne doit pas être confondu avec Wikimedia. MediaWiki …   Wikipédia en Français

  • MediaWiki — Entwickler Entwicklerliste; Wikimedia Aktuelle Version 1.17.0 (22. Juni 2011) Aktue …   Deutsch Wikipedia

  • Mediawiki — Entwickler: Entwicklerliste; Wikimedia Aktuelle Version …   Deutsch Wikipedia

  • MediaWiki —  Ne doit pas être confondu avec Wikimedia. MediaWiki …   Wikipédia en Français

  • MediaWiki — MediaWiki …   Википедия

  • MediaWiki — No debe confundirse con Fundación Wikimedia. MediaWiki Desarrollador Fundación Wikimedia mediawiki.or …   Wikipedia Español

  • MediaWiki extension — MediaWiki extensions allow MediaWiki to be made more advanced and useful for various purposes. These extensions vary greatly in complexity. The Wikimedia Foundation operates a Subversion server where many extensions are hosted, and a directory of …   Wikipedia

  • MediaWiki version history — Logo MediaWiki is an open source wiki engine whose first version, 1.1, was released in 2003. The following table contains the MediaWiki version history, showing all of its release versions. Colour Meaning Red Release no longer supported Green …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”