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

This page is a translated version of the page Developer hub and the translation is 100% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Tiếng Việt • ‎Türkçe • ‎català • ‎dansk • ‎español • ‎français • ‎galego • ‎interlingua • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎suomi • ‎svenska • ‎čeština • ‎Ελληνικά • ‎български • ‎русский • ‎тоҷикӣ • ‎עברית • ‎العربية • ‎سنڌي • ‎فارسی • ‎සිංහල • ‎ไทย • ‎中文 • ‎日本語 • ‎粵語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎한국어
  • Community Noun project 2280.svg Пользователям
  • Octicons-terminal.svg Системным администраторам
  • Source code project 1171.svg Разработчикам
  • OOjs UI icon language-ltr.svg Translators

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

  • Если вы хотите использовать веб-API проектов Викимедиа, посетите API:Web APIs hub (в процессе создания).
  • Если вы хотите внести свой вклад в разработку программного обеспечения Викимедиа, смотрите Новые разработчики .
  • Вводное руководство по разработке 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 и #wikimedia-dev.
  • Управление исходным кодом осуществляется посредством системы контроля версий Git.[5]
  • Проверка кода большинства проектов выполняется с помощью Gerrit . Следуйте это руководству чтобы настроить Git и Gerrit. Так вы сможете отправлять патчи.
  • Bug reports (сообщения об ошибках) и задачи управляются с помощью Phabricator.
  • Разработчикам расширений и интерфейса MediaWiki (вместо работы над кодом ядра), предоставляется несколько удобных точек расширения, в том числе API, система обработчиков (Hooks) и внешнего оформления (Skins) — см. обзор в разделе #Расширение MediaWiki на этой странице.

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

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

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

Архитектура

  • Manual:Code – обзор основных частей исходного кода MediaWiki.
  • Руководство:Макет базы данных – обзор схемы БД MediaWiki.
  • Manual:Global object variables – неполный список основных глобальных переменных.
  • Локализация – для изучения системы интернационализации MediaWiki.
  • Manual — пространство имён в этой вики, где располагается документация для разработчиков.
  • Документация к классам MediaWiki (MediaWiki Class Reference) (eng.) — автоматически генерируемая техническая документация на классы и другие функции, используемые в MediaWiki. (Замечание: Документация классов весьма обширна, так что страницы могут загружаться довольно медленно.)
  • MediaWiki Virtual Library (MVL) – справочники, руководства, коллекция избранных статей.

Подсистемы

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

Расширение MediaWiki

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

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

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

  • Manual:Skinning Part 1 (eng.) — инструкции по созданию стилей оформления MediaWiki.
  • Manual:Skin configuration (eng.) — руководство по настройке стилей оформления вики-сайта.

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

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

Примечания

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