MediaWiki (МедиаВики) – программный механизм для веб-сайтов, работающих по технологии “вики”. Этот мощный вики-движок был написан специально для Википедии и в настоящее время используется во многих других проектах фонда “Викимедиа”, а также частных и государственных организациях. MediaWiki является свободной программой, и распространяется на условиях Универсальной общественной лицензии GNU General Public License.
MediaWiki написан на PHP и для хранения данных использует реляционную базу данных (можно использовать MySQL, PostgreSQL, SQLite); поддерживает использование программ memcached и Squid.
MediaWiki предоставляет интерфейс работы с базой страниц, разграничение прав доступа к администрированию системы, возможность обработки текста как в собственном формате викитекст, так и в форматах HTML и TeX (для формул), возможность загрузки изображений и других файлов, а также другие возможности. Гибкая система расширений позволяет пользователям добавлять собственные новые возможности и программные интерфейсы.
Логотип MediaWiki символизирует применяемый язык разметки, в котором для создания ссылок используются квадратные скобки ([[]]), что гораздо проще традиционного синтаксиса HTML.
MediaWiki в сочетании с большим количеством расширений используется во многих проектах Фонда Викимедиа и вики-фермы Wikia. Кроме того, существуют доработанные сборки, поcтроенные на этом движке и предназначенные для корпоративного использования: Enterprise Semantic MediaWiki+, Blue Spice, российские проекты Wiki4Intra, WikiVote. MediaWiki также являлась основой для вики-движка MindTouch.
В MediaWiki предусмотрен специальный интерфейс прикладного программирования, обеспечивающий прямой высокоуровневый доступ к информации из баз данных. Клиентские программы могут использовать API для авторизации, получения данных и отправки изменений. Именно через этот интерфейс работают скрипты на веб-странице при обычной работе с Википедией. Доступ к API может быть получен любым образом, в том числе и через front-end и back-end программы.
В качестве примера таких программ можно назвать библиотеку Pywikipedia для создания вики-бота на языке Python и программу для внесения полуавтоматических изменений в Википедию AutoWikiBrowser.
Главным удобством API является то, что не имеет никакого значения язык программирования, на котором будет написано клиентское приложение, поскольку все запросы обрабатываются по протоколу HTTP, а ответ получается в удобном для разработчика формате: XML, сериализованном PHP, YAML или JSON. Так, к примеру, сделав запрос по адресу http://ru.wikipedia.org/w/api.php?action=query&list=recentchanges, клиентский интерфейс получит список последних 10 правок с дополнительной информацией в формате XML.
Ссылки