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

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Developer hub and the translation is 98% complete.

Other languages:
العربية • ‎български • ‎català • ‎čeština • ‎dansk • ‎Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎فارسی • ‎suomi • ‎français • ‎galego • ‎עברית • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎سنڌي • ‎සිංහල • ‎тоҷикӣ • ‎ไทย • ‎Türkçe • ‎Tiếng Việt • ‎粵語 • ‎中文
Source code project 1171.svg
Crystal Clear app display.png ПользователямUser hub Nuvola-inspired-terminal.svg Системным администраторамSysadmin hub Source code project 1171.svg РазработчикамDeveloper hub

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

Обзор[edit]

MediaWiki разрабатывается в стиле открытого ПО[1] с использованием языка программирования PHP[2] в первую очередь для платформы LAMP[3][4]. Core development is largely coordinated online.

  • Обсуждения разработки происходят в различных почтовых рассылках и IRC-каналах. Основной список рассылки разработчиков — это wikitech-l. Основной IRC-канал разработчиков — это #mediawiki и #wikimedia-dev. Ознакомьтесь со списком разработчиков, чтобы понять, что за люди участвуют в этих списках рассылки и IRC-каналах.
  • Управление исходным кодом осуществляется посредством системы контроля версий Git. Прочтите статью Git с обзором того, как разработчики MediaWiki используют эту систему. Прочтите также статью wikitech:Help:Access#Access FAQ (eng.) если хотите получить доступ.[5]
  • Проверка кода выполняется с помощью GerritGerrit, см. все подробности на странице этого руководства (eng.).
  • Разработчикам расширений и интерфейса MediaWiki (в отличие от работающих над кодом ядра), предоставляется несколько удобных точек расширения, в том числе API, система обработчиков (Hooks) и стилей или «шкурок» оформления (Skins) — см. обзор в разделе #Расширение MediaWiki на этой странице.

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

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

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

Архитектура[edit]

Подсистемы[edit]

Расширение MediaWiki[edit]

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

  • API — доступ к данным и метаданным конкретной инсталляции MediaWiki через его высокопроизводительный веб-API "Action".
  • Перехваты — каждый раз, когда происходит какое-то событие, выполняется нечто...
  • Функции парсера — создание новой команды наподобие: {{#if|...|...|...}}
  • Шкурки («скины») — изменение стиля оформления MediaWiki.
  • Служебные страницы — добавление новой служебной страницы.
  • Расширения тэгов — создание нового тэга наподобие: <newtag>...</newtag>

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

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

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

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

Использование собственных вики[edit]

Примечания[edit]

  1. Коллектив разработчиков представляет собой смесь добровольцев и штатных (или работающих по договору) сотрудников разных организаций. Полный список тех, кто работает над кодом MediaWiki, можно увидеть на странице «DevelopersDevelopers».
  2. Не всё в MediaWiki написано на PHP. Некоторые сервисные инструменты и утилиты написаны на других языках, в т.ч. batch files, shell scripts, makefiles и Python.
  3. MediaWiki работает на большинстве платформ, поддерживаемых PHP, однако, отсутствие определенных утилит или функций операционной системы на не-LAMP платформах может ограничить функциональность и производительность MediaWiki.
  4. Помимо поддержки MySQL и MariaDB, MediaWiki содержит средства поддержки таких СУБД, как Oracle, PostgreSQL и SQLite.
  5. По адресу $browserrepo можно просмотреть исходный код и релизы, а также получить полную копию версии с текущим кодом разработки, выполнив команду Git:
    git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git MediaWiki
  6. Посетите https://phabricator.wikimedia.org/feed/, чтобы увидеть последние изменения, связанные с исправлением ошибок и другими вопросами на MediaWiki Phabricator.