Портал разработчиков

This page is a translated version of the page Developer hub and the translation is 100% complete.
  • Участникам
  • Системным администраторам
  • Разработчикам
  • Переводчикам


Это общий обзор материалов о разработке MediaWiki, включающий ссылки на основные документы, ресурсы и инструменты для разработчиков MediaWiki. Они ориентированы на квалифицированных разработчиков LAMP, имеющих опыт использования MediaWiki.

  • Если вы хотите использовать веб-API проектов Викимедиа, посетите портал разработчиков.
  • Если вы хотите внести свой вклад в разработку программного обеспечения Викимедиа, смотрите Новые разработчики .
  • Вводное руководство по разработке MediaWiki можно почерпнуть на странице Как стать MediaWiki хакером .
  • Если вы хотите сотрудничать со сторонние пользователями MediaWiki, MediaWiki Stakeholders' Group (MWStake) — это MediaWiki группа пользователей, состоящая из разработчиков MediaWiki, системных администраторов, пользователей, консультантов и провайдеров хостинга.

Обзор

MediaWiki — это программное обеспечение, на основе которого создана Википедия, её родственные проекты, а также тысячи вики по всему миру.

MediaWiki написана на языке PHP [1]. Использует jQuery в качестве клиента к библиотеке JavaScript.

MediaWiki изначально написана для платформы LAMP [2] и работает в большинстве операционных систем. MediaWiki изначально использует сервера баз данных MySQL и MariaDB.[3]

MediaWiki разрабатывается в стиле открытого ПО[4], is largely coordinated online, and supported by the Wikimedia Foundation, though volunteer community developers play a huge part as well.

  • Обсуждения разработки происходят в различных почтовых рассылках и IRC-каналах. Основной список рассылки разработчиков — это wikitech-l. Основной IRC-канал разработчиков — это #mediawiki подключиться.
  • Управление исходным кодом осуществляется посредством системы контроля версий Git.[5]
  • Проверка кода большинства проектов выполняется с помощью Gerrit . Следуйте это руководству чтобы настроить Git и Gerrit. Так вы сможете отправлять патчи.
  • Bug reports (сообщения об ошибках) и задачи управляются с помощью Фабрикатор .
  • Разработчикам расширений и интерфейса MediaWiki (вместо работы над кодом ядра), предоставляется несколько удобных точек расширения, в том числе API, система обработчиков (Hooks) и внешнего оформления (Skins) — см. обзор в разделе #Расширение MediaWiki на этой странице.

Основные документы

Код, разработка и стиль

Отладка и тестирование

Архитектура

Подсистемы

  • API – API MediaWiki обеспечивает прямой высокоуровневый доступ к данным, содержащимся в базах данных MediaWiki.
  • ContentHandler – фреймворк MediaWiki для поддержки пользовательских типов содержимого страницы.
  • Доступ к базе данных – обзор использования БД в MediaWiki, включая краткое руководство по работе на уровне абстракции БД (database abstraction layer).
  • Очередь задач – специальный компонент MediaWiki's для асинхронного выполнения долгоиграющих задач.
  • API сообщений – компонента MediaWiki для предоставления локализованных сообщений движка в PHP или JavaScript.

Расширение MediaWiki

MediaWiki была спроектирована так, чтобы позволить вносить изменения без изменения основного кода. Это облегчает обновление при переходе на новую версию MediaWiki, так как исчезает необходимость при обновлении вручную править код существующих модулей расширения, заново приводя их в соответствие с основным кодом. Предусмотрено шесть основных способов, позволяющих разработчикам MediaWiki добавлять новые возможности, а также изменять существующие. Способы расширения следующие:

Помощь создателям расширений

Помощь разработчикам стилей оформления

Справка по повторному использованию кода библиотек

  • Manual:Developing libraries – руководство по подготовке сторонних библиотек для использования в MediaWiki

Примечания

  1. Не всё в MediaWiki написано на PHP. Некоторые вспомогательные утилиты написаны на других языках, включая пакетные файлы, сценарии командной строки, makefiles и Python.
  2. MediaWiki работает на большинстве платформ, которые поддерживают PHP, однако отсутствие определенных утилит или функций операционной системы может ограничить функциональность или производительность MediaWiki на платформах, отличных от LAMP.
  3. В MediaWiki кроме поддержки MySQL и MariaDB есть поддержка DBMS включая PostgreSQL и SQLite.
  4. Коллектив разработчиков представляет собой смесь добровольцев и штатных (или работающих по договору) сотрудников разных организаций. For a full list of who works on the MediaWiki code, read the Разработчики article.
  5. Просмотрите исходный код и ревизии репозиториев на Gerrit или загрузите исходный код в свою систему с помощью Gerrit .