MediaWiki

MediaWiki
MediaWiki.svg
MediaWiki software screenshot.png
Тип вики-движок
Разработчик Фонд Викимедиа
Написана на PHP[1] и JavaScript
Операционная система кроссплатформенность
Первый выпуск 25 января 2002
Аппаратная платформа кроссплатформенность
Последняя версия
Лицензия GNU GPL 2+[d][3]
Сайт mediawiki.org
Commons-logo.svg Медиафайлы на Викискладе

Не следует путать с Фондом Викимедиа.

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

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

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

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

История

MediaWiki был разработан специально для Википедии немецким студентом Магнусом Манске[убрать шаблон]. Сначала использовался UseModWiki (также известный, как «Фаза I» — «Phase I»), написанный на Perl.Затем 25 января 2002 года новая версия («Фаза II» — «Phase II») перешла на использование PHP. Среди википедистов этот день известен как «День Магнуса Манске».

Следующая, расширенная и дополненная версия одно время носила имя «Фаза III» («Phase III»), однако затем была переименована в MediaWiki, поскольку данное ПО стало возможным применять не только в Википедии, но и во многих других проектах, и возникла необходимость строгой нумерации версий. Название «MediaWiki» — игра слов, оно перекликается с названием «Викимедиа» — родительской организации Википедии. Это имя иногда критикуют за вероятность перепутать его с «Wikimedia», что вносит некоторую путаницу и смущает новичков проекта.

История версий

Ниже приведена таблица, наглядно показывающая, как изменялся движок MediaWiki (англ.)русск. с 2003 года до настоящего времени.

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

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

Разработка

До октября 2009 года проект возглавлял Брион Виббер, после его ухода из Фонда «Викимедиа» этот пост занял Тим Старлинг. В качестве системы управления версиями разработчики используют git. Для исправления ошибок и разработки новой функциональности используется система отслеживания ошибок Bugzilla, находящаяся по адресу bugzilla.wikimedia.org. Существует отдельный вики-проект www.mediawiki.org, полностью посвящённый движку (содержит документацию на нескольких языках). Перевод локализации движка осуществляется на специальном сайте Translatewiki.net.

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

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

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

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

См. также

Примечания

  1. The mediawiki Open Source Project on Open Hub: Languages Page — 2006.
  2. https://github.com/wikimedia/mediawiki/releases/tag/1.34.2
  3. https://phabricator.wikimedia.org/source/mediawiki/browse/master/COPYING
  4. T7451 Moving category description pages
  5. См. blue-spice.org
  6. См. wiki.4intra.net
  7. См. http://www.php.net/manual/ru/function.serialize.php

Ссылки