MediaWiki

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 17:29, 24 декабря 2016.
MediaWiki
Mediawiki-logo.png
Разработчики: Фонд Викимедия
Постоянный выпуск: 1.28 (28 ноября 2016)
Написана на: PHP
Операционная система: кроссплатформенное программное обеспечение
Тип ПО: Вики-движок и сервер
Лицензия: GNU GPL 2
Веб-сайт https://www.mediawiki.org/wiki/MediaWiki

MediaWiki (МедиаВики) — движок для вики-проектов. Этот мощный вики-движок был написан специально для Википедии и в настоящее время используется во многих других проектах фонда «Викимедиа», а также частных и государственных организациях. MediaWiki является свободной программой и распространяется на условиях Общественной лицензии GNU.

MediaWiki написан на PHP и для хранения данных использует реляционную базу данных (можно использовать MySQL, PostgreSQL, SQLite и Oracle); поддерживает использование программ memcached и Squid.

MediaWiki предоставляет интерфейс работы с базой страниц, разграничение прав доступа к администрированию системы, возможность обработки текста как в собственном формате вики-текст, так и в форматах HTML и TeX (для формул), возможность загрузки изображений и других файлов, а также другие возможности. Гибкая система расширений позволяет пользователям добавлять собственные новые возможности и программные интерфейсы.

Логотип MediaWiki символизирует применяемый язык разметки, в котором для создания ссылок используются квадратные скобки ([[ ]]), что гораздо проще традиционного синтаксиса HTML.

История

Движок MediaWiki был разработан специально для Википедии немецким студентом Магнусом Манске. Условно можно разделить развитие движка на 3 фазы: «Фаза I» — «Phase I», движок UseModWiki, написан на языке программирования Perl, разрабатывался в 2001 году; «Фаза II» — «Phase II» с 25 января 2002 года новая версия движка перешла на использование языка программирования PHP. Среди википедистов этот день известен как «День Магнуса Манске». «Фаза III» («Phase III») — следующая, расширенная и дополненная версия, спустя некоторое время она была переименована в MediaWiki, так как это программное обеспечение стало возможным применять не только в Википедии, но и во многих других википроектах и возникла необходимость нумерации версий. Название «MediaWiki» представляет собой «игру слов», оно перекликается с названием Викимедиа — родительской организации Википедии. Это имя иногда критикуют за возможность смешения с «Wikimedia», что вносит изрядную путаницу и сбивает некоторых новичков.

Использование

MediaWiki в сочетании с большим количеством расширений используется во многих проектах Фонда Викимедиа и вики-фермы Wikia. Кроме того, существуют доработанные сборки, построенные на этом движке и предназначенные для корпоративного использования: Enterprise Semantic MediaWiki+, Blue Spice, российские проекты Wiki4Intra, WikiVote. MediaWiki также являлась основой для вики-движка MindTouch.

Разработка

Разработка MediaWiki возглавляется википедистом Брионом Виббером. Всего в составе команды разработчиков более 30 человек из разных стран и регионов мира. Россия представлена разработчиком Yurik. В качестве системы управления версиями разработчики используют Subversion. Для исправления ошибок и новых разработок используется система отслеживания ошибок Bugzilla (https://bugzilla.wikimedia.org). Для документации движка создан отдельный википроект mediawiki.org.

Интерфейс прикладного программирования (API)

В MediaWiki предусмотрен специальный интерфейс прикладного программирования, обеспечивающий прямой высокоуровневый доступ к информации из баз данных. Клиентские программы могут использовать API для авторизации, получения данных и отправки изменений. Именно через этот интерфейс работают скрипты на веб-странице при обычной работе с Википедией. Доступ к API может быть получен любым образом, в том числе и через front-end и back-end программы.

В качестве примера таких программ можно назвать библиотеку Pywikipedia для создания wiki-бота на языке Python и программу для внесения полуавтоматических изменений в Википедию AutoWikiBrowser.

Главным удобством API является то, что не имеет никакого значения язык программирования, на котором будет написано клиентское приложение, поскольку все запросы обрабатываются по протоколу HTTP, а ответ получается в удобном для разработчика формате: XML, сериализованном PHP, YAML или JSON. Так, к примеру, сделав запрос по адресу http://ru.wikipedia.org/w/api.php?action=query&list=recentchanges, клиентский интерфейс получит список последних 10 правок с дополнительной информацией в формате XML.

Интересные факты

  • Логотип MediaWiki символизирует язык викиразметки, в котором для создания ссылок используются двойные квадратные скобки ([[ ]]).
  • Практические все альтернативные Википедии википроекты (Ситизендиум, Викизнание, Традиция и др.) работают на движке MediaWiki.
  • Заговор ГСБ не работал на MediaWiki. Он использовал движок ГСБ

Ссылки