Developer hub/ru



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

Вводное руководство по разработке MediaWiki можно почерпнуть на странице «Как стать хакером MediaWiki» (eng.). Если вы хотите понять, как использовать отдельные элементы MediaWiki (например, т.н. очередь заданий), см. ЧаВО разработчиков (eng.).

Для получения справки по установке или настройке MediaWiki, обратитесь к материалам для администраторов. Для получения справки по использованию MediaWiki, посетите Участник центр. Если вы хотите работать с другим программным обеспечением, используемым в проектах Викимедиа, см. центр разработчика на Мета-вики.

Обзор
MediaWiki is developed in an open source style using the PHP programming language primarily for the LAMP platform. Core development is largely coordinated online:
 * обсуждения разработки происходят в различных почтовых рассылках и IRC-каналы. Основной список рассылки разработчиков — это wikitech-l. Основной IRC-канал разработчиков — это #mediawiki. Ознакомьтесь со списком разработчиков, чтобы понять, что за  люди участвуют в этих списках рассылки и IRC-каналах.
 * MediaWiki roadmap покажет основные принципы и направления изменений, запланированные для реализации в будущих релизах.
 * bugs are managed using Bugzilla at bugzilla.wikimedia.org. The Bugs article has an overview of how the MediaWiki developers manage bugs.
 * security issues are reported to [mailto:security@wikimedia.org security@wikimedia.org]. Read article Security for more information.
 * code review is facilitated using the CodeReview MediaWiki extension at Special:Code/MediaWiki and Bugzilla's patch attachment system, and follows the code review guidelines.
 * source code is managed using the Git revision control system. Read the Git article for an overview of how the MediaWiki developers use Git. Read the labsconsole Help:Access article if you'd like access.


 * documentation for developers is maintained in the Manual namespace on this wiki. A file and class reference (which is generated from the MediaWiki source code using doxygen) can be found at http://svn.wikimedia.org/doc.
 * developers extending or interfacing with MediaWiki (instead working on the core code) have several convenient extension points, including the API, the Hooks system and Skins — see the section of this page for an overview.

Основные ресурсы разработчика

 * BugZilla — приложение для отслеживания ошибок (bug tracker) в MediaWiki, выявленных в рамках проектов Викимедиа (также известный под названием MediaZilla)
 * Браузер версий (Subversion browser) — веб-просмотрщик для исходного кода MediaWiki
 * Просмотр изменений в коде — список и статус последних изменений в программном коде
 * Проект SourceForge — используется для размещения файлов дистрибутива

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


 * API — доступ к данным и метаданным конкретной инсталляции MediaWiki через высокопроизводительное веб-API.
 * Перехваты — каждый раз, когда нужно сделать нечто...


 * Функции парсера — создание новой команды наподобие:
 * Шкурки («скины») — изменение стиля оформления MediaWiki.
 * Служебные страницы — добавление новой служебной страницы.
 * Расширения тэгов — создание нового тэга наподобие:

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

 * Manual:Developing extensions — руководство по разработке расширений.
 * Project:WikiProject Extensions
 * Extensions FAQ
 * Матрица расширений — автоматически генерируемый список расширений. См. также Category:Extensions, менее полный перечень существующих расширений.
 * Manual:$wgExtensionFunctions — use to defer setup (or run other callbacks) for extensions until after the MediaWiki core is setup.

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

 * Manual:Skinning — инструкции по созданию стилей оформления MediaWiki.
 * Manual:Skin configuration — руководство по настройке стилей оформления вики.

Использование сторонних вики

 * Enterprise hub — для корпоративных вики
 * Academic hub — для учебных вики