MediaWiki
MediaWiki | |
---|---|
| |
![]() | |
Тип | вики-движок |
Разработчик | Фонд Викимедиа |
Написана на | PHP и JavaScript |
Операционная система | кроссплатформенность |
Первый выпуск | 25 января 2002 |
Аппаратная платформа | кроссплатформенность |
Последняя версия | 1.38.2 (30 июня 2022) |
Лицензия | GNU GPL 2+ |
Ссылки | |
Сайт | mediawiki.org |
MediaWiki (рус. Медиавики) — вики-движок, написанный специально для Википедии, используется во многих других проектах фонда Викимедиа, а также частных и государственных организациях. Является свободным ПО и распространяется на условиях общественной лицензии GNU.
MediaWiki написан на скриптовом языке общего назначения PHP и для хранения данных использует реляционную базу данных (MySQL, PostgreSQL, SQLite или Oracle DB); поддерживает использование программ memcached и Squid. MediaWiki предоставляет интерфейс работы с базой страниц, разграничение прав доступа к администрированию системы, возможность обработки текста как в собственном формате вики-текст, так и в форматах HTML и ΤΕΧ (для формул), возможность загрузки изображений и других файлов, а также другие возможности. Система расширений позволяет пользователям добавлять собственные новые возможности и программные интерфейсы. Старый логотип MediaWiki (до 1 апреля 2021) символизировал применяемый язык разметки, в котором для создания ссылок используются квадратные скобки [[ ]]
.
История
MediaWiki был разработан специально для Википедии немецким студентом Магнусом Манске. Сначала использовался UseModWiki (также известный, как «Фаза I» — «Phase I»), написанный на Perl. Затем 25 января 2002 года (так же называемый «День Магнуса Манске») новая версия («Фаза II» — «Phase II») перешла на использование PHP.
До октября 2009 года проект возглавлял Брион Виббер, после его ухода из Фонда «Викимедиа» этот пост занял Тим Старлинг. В качестве системы управления версиями разработчики используют git. Для исправления ошибок и разработки новой функциональности используется система отслеживания ошибок Bugzilla, находящаяся по адресу bugzilla.wikimedia.org. Существует отдельный вики-проект www.mediawiki.org, полностью посвящённый движку (содержит документацию на нескольких языках). Перевод локализации движка осуществляется на специальном сайте Translatewiki.net.
Следующая, расширенная и дополненная версия одно время носила имя «Фаза III» («Phase III»), однако затем была переименована в MediaWiki, поскольку данное ПО стало возможным применять не только в Википедии, но и других проектах. Название «MediaWiki» — игра слов, оно перекликается с названием «Викимедиа» — родительской организации Википедии.
Использование
MediaWiki в сочетании с большим количеством расширений используется во многих проектах Фонда Викимедиа и вики-хостинга Фэндом. Кроме того, существуют доработанные сборки, построенные на этом движке и предназначенные для корпоративного использования: Enterprise Semantic MediaWiki+, BlueSpice[1], российские проекты Wiki4Intra[2], WikiVote. MediaWiki также являлась основой для вики-движка MindTouch[англ.].
Интерфейс прикладного программирования (API)
В MediaWiki предусмотрен специальный интерфейс прикладного программирования, обеспечивающий прямой высокоуровневый доступ к информации из баз данных. Клиентские программы могут использовать API для авторизации, получения данных и отправки изменений. Именно через этот интерфейс работают скрипты на веб-странице при обычной работе с Википедией. Доступ к API может быть получен любым образом, в том числе и через front-end и back-end программы.
В качестве примера таких программ можно назвать библиотеку Pywikipedia для создания wiki-бота на языке Python и программу для внесения полуавтоматических изменений в Википедию AutoWikiBrowser.
Главным удобством API является то, что не имеет никакого значения язык программирования, на котором будет написано клиентское приложение, поскольку все запросы обрабатываются по протоколу HTTP, а ответ получается в удобном для разработчика формате: XML, сериализованном[3] PHP или JSON. Так, в ответ запрос по адресу http://руни.рф/w/api.php?action=query&list=recentchanges
запрашивающий клиент получит список последних 10 правок с дополнительной информацией в формате JSON (отформатированном в HTML).
Примечания
- ↑ См. bluespice.com Архивная копия от 7 мая 2022 на Wayback Machine
- ↑ См. wiki.4intra.net Архивная копия от 15 августа 2012 на Wayback Machine
- ↑ См. http://www.php.net/manual/ru/function.serialize.php